uliII: Input Tag wird nicht geschlossen ?

Hi,

steh total auf dem Schlauch. Sorry, wenn deshalb meine Fragestellung seltsam wird...

Es geht eigentlich um ein CSS Problem im Zusammenhang mit der XHTML Spezifikation und dem "input" Element (denke ich bisher)

Und das noch im Zusammenhang mit PHP Code.. :(

Also:

Im Browser wird dieser Code ausgegeben:

  
<h3>NEWS</h3>  
+<div class="newsflash">  
<input type="hidden" value="78" name="bID">  
<h3>TERMINE</h3>  
+<div class="newsflash">  
<input type="hidden" value="80" name="bID">  
  

Die divs mit dem "+" sind hier gefalten (nochmal sorry, - falls das nicht korrekt dargestellt ist, - von mir..)

Problem dabei, - gebe ich nur dem "h3" Element per CSS z.B. einen roten Hintergrund (als Beispiel!) werden auch die Elemente im "div" darüber angesprochen!

Nun dachte ich, liegt das wohl an XHTML und dem hier nötigen Abschluß des "input" Tag:

  
...  
<input type="hidden" value="78" name="bID" />  
...  
<input type="hidden" value="80" name="bID" />  
  

Aber der Quellcode dafür kommt per PHP und hat schon genau diesen nötigen Abschluß (Slash).

Und deshalb steh ich auf dem Schlauch...

Lässt der Browser (Firefox) "einfach" den Slash weg - weil der doch unnötig ist?

Liegt mein CSS Problem doch nicht daran?

Hab ich ggfls. einen Fehler in der Site Spezifizierung welcher die Broweserausgabe "falsch" liefert?

Muß der input Tag anders geschlossen werden?

Reichen meine Angaben um das Problem zu verstehen?

  1. Lässt der Browser (Firefox) "einfach" den Slash weg - weil der doch unnötig ist?

    Nein, selbst wenn du dir den generierten/geparsten Quelltext im Firebug ansiehst, sollten die Slashes da sein.

    1. Lässt der Browser (Firefox) "einfach" den Slash weg - weil der doch unnötig ist?

      Nein, selbst wenn du dir den generierten/geparsten Quelltext im Firebug ansiehst, sollten die Slashes da sein.

      Hi,

      Danke. Ja, ich meine den geparsten Code (Firebug). Hier "fehlt" tatsächlich der Slash.

      Wenn das aber doch keine Rolle spielt, muss ja der Fehler woanders liegen.

      @gunnar: Ja, die divs sind korrekt geschlossen.

      Die Site ist nicht Online.

      Schon verrückt die Sache..

      LG uli

      1. Moin!

        Danke. Ja, ich meine den geparsten Code (Firebug). Hier "fehlt" tatsächlich der Slash.

        Ignoriere Firebug bei der Analyse des Quelltextes. Da kriegst du immer nur eine gefilterte Wahrheit präsentiert, jedoch niemals den originalen Quelltext.

        Insbesondere sind in Firebug keinerlei HTML/XHTML-Unterschiede mehr relevant: Firebug zeigt dir den DOM-Baum so, wie der Browser ihn verstanden hat. Was ja auch nicht uninteressant ist, aber eben keinerlei Debugging im realen Quellcode ermöglicht.

        - Sven Rautenberg

  2. @@uliII:

    nuqneH

    Die divs mit dem "+" sind hier gefalten

    Was heißt das? Werden die mit </div> geschlossen?

    Nun dachte ich, liegt das wohl an XHTML und dem hier nötigen Abschluß des "input" Tag:

    Nein. Ob das du das als <input> oder XML-gerecht als <input/> notierst, ist dem Tagsoup-Parser völlig egal.

    Liegt mein CSS Problem doch nicht daran?

    Ja.

    Reichen meine Angaben um das Problem zu verstehen?

    Nein. Link zur Seite?

    Qapla'

    --
    „Perfektion ist nicht dann erreicht, wenn es nichts mehr hinzuzufügen gibt, sondern wenn man nichts mehr weglassen kann.“ (Antoine de Saint-Exupéry)
    1. Nun dachte ich, liegt das wohl an XHTML und dem hier nötigen Abschluß des "input" Tag:

      Nein. Ob das du das als <input> oder XML-gerecht als <input/> notierst, ist dem Tagsoup-Parser völlig egal.

      Hi,

      ich finde leider noch immer keine (andere) Lösung.

      Hier nochmal der Code (Firebug):

      <h3>NEWS</h3>  
      +<div class="newsflash">  
      <input type="hidden" value="78" name="bID">  
      <h3>TERMINE</h3>  
      +<div class="newsflash">  
      <input type="hidden" value="80" name="bID">
      

      Die Überschrift (h3)"Termine" ist irgendwie mit dem Bereich darüber "verbunden", - so das CSS Styles welche für diese Überschrift deklariert sind - sich auch auf diesen kompletten Bereich darüber auswirken.

      Hier der Quelltext mal nicht gefalten:

      <div class="newsflash">  
      	<div class="headtitle">  
      		<h1></h1>  
      	</div>  
      	<div class="newsflashcontain">  
      		<div class="title">  
      			<h3><a href="/test/news/">NEWS 1</a></h3>  
      		</div>  
      		<div class="time"> 2012-11-139:00 AM </div>  
      		<div class="description">  
      			<p>Das ist News 1 (mit Bild)</p>  
      		</div>  
      	</div>  
      	<br class="clearfloat">  
      	<div class="newsflashcontain">  
      		<div class="title">  
      			<h3><a href="/test/news/">News 2</a></h3>  
      		</div>  
      		<div class="time"> 2012-11-139:00 AM </div>  
      		<div class="description">  
      			<p>Das ist News 2</p>  
      		</div>  
      	</div>  
      	<br class="clearfloat">  
      </div>  
      <input type="hidden" value="78" name="bID">  
      <h3>TERMINE</h3>
      

      Was ausser dem "input" Tag könnte es denn sonst sein...

      Bin am verzweifeln :( ...

      LG uli

      1. @@uliII:

        nuqneH

        Was ausser dem "input" Tag könnte es denn sonst sein...

        Das CSS, was du uns vorenthältst.

        Ich würde aus der div-Suppe auch erstmal vernünftiges HTML machen:

        <section class="newsflash">  
                <header>  
                        <h1></h1>  
                </header>  
                <article>  
                        <header>  
                                <h3><a href="/test/news/">News 1</a></h3>  
                        </header>  
                        <time>2012-11-13 09:00</time>  
                        <div class="description">  
                                <p>Das ist News 1 (mit Bild)</p>  
                        </div>  
                </article>  
                <article>  
                        <header>  
                                <h3><a href="/test/news/">News 2</a></h3>  
                        </header>  
                        <time>2012-11-13 09:00</time>  
                        <div class="description">  
                                <p>Das ist News 2 (mit Bild)</p>  
                        </div>  
                </article>  
        </section>  
        <input type="hidden" value="78" name="bID">  
        <h3>Termine</h3>
        

        <br class="clearfloat"> kannst du getrost als Müll entsorgen. Und da findest du vielleicht auch die Lösung für dein Problem verlinkt.

        Und „News“ und „Termine“ im HTML nicht großschreiben; das ist Darstellungssache.

        Qapla'

        --
        „Perfektion ist nicht dann erreicht, wenn es nichts mehr hinzuzufügen gibt, sondern wenn man nichts mehr weglassen kann.“ (Antoine de Saint-Exupéry)
      2. Hallo,

        ich würde zwei Dinge testen:

        1. Validiere den Quellcode, möglicherweise sind irgendwelche Tags nicht richtig geschlossen oder falsch geschachtelt. Das geht auch mit Code, der nicht im Internet steht:
        http://validator.w3.org/#validate_by_upload

        2. Und dann gib dem <h3> allein ein CSS und schaue, was davon noch betroffen wird:
        <h3 style="border:1px solid #f00"> ...

        Ich könnte im CSS- Teil dem h3 ein padding-top:20mm; margin-top:-20mm geben, dann steht h3 ganz normal da, sein Hintergrund erstreckt sich aber auch 20mm über ihm.

        Rudi