ist das ein bug oder??

  • Hallo firefoxaner,

    hir erstmal der quellcode um den es geht:

    Code
    <span id="span_1"  style="border: 1px solid black; text-align: center; font-size: 12px; height: 300px; width: 300px;" ><img style="width: 300px; height: 300px;" alt="test" src="bild.jpg" align="" border="0" height="" hspace="" vspace="" width=""><br>unterdem bild


    nun wird der border nicht richtig dargestellt.
    mach ich da eine fehler? in opera und ie wird alles richtig dargestellt!

    ich habe gehoert das mozilla bei der darstellung von span probleme hatt.
    ich hoffe ich bin hir richtig.

    Bitte um Hilfe

  • Zitat

    <span id="span_1" style="border: 1px solid black; text-align: center; font-size: 12px; height: 300px; width: 300px;" >


    <span> kann als inline-objekt keine höhen- oder breitenangaben zugeweisen bekommen. das wäre gegen den w3c standard. entweder du gibst dem ding noch ein display:block; oder benutzt ein <div>.

  • HTML
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html lang="de" >
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <title>Untitled</title>
    </head>
    <body>
    <span id="span_1"  style="border: 1px solid black; text-align: center; font-size: 12px; height: 300px; width: 300px;padding:12px; margin: 12px;" ><img style="width: 150px; height: 150px;" alt="sdsd" src="wheel.jpg"><br>isses den wahr
    </body>
    </html>
  • Die Darstellung is völlig korrekt.

    Aber du willst wahrscheinlich was ganz anderes erriechen.
    Benutz statt dem <span> ein <div> und lass die Höhenangabe für das <div> weg...

  • Das lieg daran, dass ein <div> ein block-element ist, ein <span> hingegen ein inline-objekt.

    Inline-Objekten kann man nach w3c aber keine höhen und breiten zuweisen. Insofern ist das was der Firefox anzeigt, genau das was du geschrieben hast. wenn du deine elemente nebeneinander haben willst, musst du halt mit float arbeiten.

    Es ist kein Bug im Firefox, sondern genau das was das W3C für ein inline-objekt festgelegt hat.

  • Natürlich kannst du das. Was du mit einem Span nicht kannst, ist z.B. einen Container schaffen, der eine feste Grösse hat und in dem man Elemente ausrichten kann. Zumindest solang es ein inline-Objekt ist.

    Du kannst ein <span> mit display:block; aber in ein Blockelement umwandeln. Wodurch natürlich auch wieder ein zeilenumbruch erfolgen würde.

    Wenn du Blockelemente nebeneinander haben möchtest (also nicht durch den zeilenumbruch untereinander), musst du sie mit float:left/right; neu ausrichten.

    Übrigends: scheibt doch bitte deinen Text ins Textfeld und lass den (optionalen) Titel weg. Liesst sich so schlecht.

  • hmmm... das problem ist das ich per javascript dieses float nicht generieren kann.
    div.style.float=left;

    da gibt mir die javascript-console immer eine fehler meldung.

    hmmm. naja muss ich halt durch und ie für die (anzeige function) nehmen :cry: und dann per php validieren.

  • Zitat

    hmmm... das problem ist das ich per javascript dieses float nicht generieren kann.
    div.style.float=left;

    da gibt mir die javascript-console immer eine fehler meldung.

    hmmm. naja muss ich halt durch und ie für die (anzeige function) nehmen und dann per php validieren.

    DAS kapier ich nun nicht mehr (wnn ich schneller gewesen wär, hätt ich das gleiche wie bugcatcher geschrieben.) und wenn du das so machs dann gaht das auch (siehe sein beispiel) aber was willst du nun mit nem javascript? und was willst du wie mit php validieren *kratz*

    Gruß HaMF

    Signaturen sind doof.

  • super Beispiel: http://www.bugcatcher.de/files/floatbild.html danke bugcatcher ... genau das möschte ich machen.

    Ich füge über ein Javascript ein bild ein mit den einzelnen elementen...



    wenn ich nun

    Code
    span.style.float="right";

    mache gibt mir die javascript-console einen fehler aus.

    oder ist es ein anderer javascript stylebenennung wie borderLeft statt border-left?

    Danke nochmal für alle Hilfe