Muss zwischen <div> und </div > Inhalt stehen?

Status
Nicht offen für weitere Antworten.

DJTrancelight

Erfahrenes Mitglied
Hi Leute,

das ist vielleicht eine komische Frage:)

Ich habe den Namo Webeditor 5.5 (Computerbild-Vollversion) im Einsatz und benutze dort nur den HTML-Editor.

Das Layout befindet sich in einer externen CSS-Datei wo die Position des Headers festgelegt ist.

In der HTML-Datei gibt es bei mir folgenden Code:

<div id="header">
</div>

So, wenn ich jetzt die Datei speichere, dann löscht er diese Zeile raus und und ersetzt sie mit einem <p>

Ist das jetzt ein Fehler des Programms (vermute ich mal), oder darf man <div>´s nicht leer stehen haben?
Denn ich habe jetzt einfach mal ein Leerzeichen eingefügt:
<div id="header">
&nbsp;
</div>

und somit wurde die Datei richtig gespeichert und richtig angezeigt.

Danke für eure Antworten.

Viele Grüße
DJ Trancelight
 
Hi,

es muß nicht zwingend ein Leerzeichen oder Inhalt dazwischen stehen.
Je nach doctype-Angabe werden diese eh dementsprechend ausgewertet bzw. ignoriert.
Ich benutze zwar einen anderen Editor, aber ich denke du hast recht mit deiner Vermutung daß es sich um ein spezielles Editor-Phänomen handelt.

Der dreamweaver setzt manchmal bei Copy&Paste ganz komische Zeichenketten von irrer Länge ein - warum er das tut und auch nur manchmal bleibt wohl sein Geheimniss.

Wenns mit Leezeichen funktioniert freu dich und denk nicht zu lange darüber nach :)

LG
 
Hi,

eine interessante Frage, denn das div-Element gehört ja eigentlich nicht zur Gruppe der leeren Elemente (Standalone-Tags), wie z.B. br,img, sondern dient als allgemeines Blockelement zur Aufnahme weiterer Block- und Inline-Elemente, oder eines "blanken" Textes, der in keinem weiteren HTML-Element zur Textstrukturierung eingebunden ist.

Ein leeres DIV (ohne erzwungenes Leerzeichen) wird vom w3c-Validator aber auch nicht bemängelt - von daher ... ;)

Ich nehme mal an, dass das Header-DIV eine Hintergrundgrafik besitzt, die über CSS geregelt wird, und es deshalb "leer" ist.

In diesem Fall könntest du beispielsweise ein span-Element incl. Text einbetten, und dieses mit der display:none-Eigenschaft als "Blindtext" auszeichnen:

Code:
div#header span {
display:none;
}
Code:
<div id="header">
        <span>Header-Text</span>
</div>
Ansonsten vielleicht den Editor wechseln ;)
 
@WyonKia

Danke für deine Antwort. Es funktioniert zwar so wie ich es oben beschrieben habe, aber eine schöne Lösung ist das nicht.
Vielleicht zu deinem Problem - Dreamweaver und Copy und Paste. Hast du schon mal versucht den kopierten Text in einer Windows-Editor-Datei (Also Rechtsklick auf dem Desktop - Neu-Textdatei) zwischenzulagern - also dort einfügen wieder alles kopieren und dann erst in Dreamweaver einfügen? Denn bei Word z.B. ist mir oft aufgefallen, dass dort der Quelltext um <font color> und Schriftart ergänzt wird. Wenn der Text aber in dieser besagten Windows-Editor-Datei liegt, gehen alle unnötigen Attribute verloren.

@Michael
Dann ist die Frage also doch nicht so dumm? Ich habe im Forum gesucht, aber es hatte wohl noch niemand diese Frage gestellt. Deshalb war ich so frei:)

Genau, in CSS ist geregelt, dass dort ein Hintergrundbild erscheinen soll.
Deine Lösung sieht vielversprechend aus. Ich kann es aber erst heute Abend testen - melde mich dann wieder. Jedenfalls vielen Dank schon mal
 
Hi,

danke für den Tipp.
Das Problem taucht aber sehr selten auf so daß ich mir angewöhnt habe mit Suchen&Ersetzen die reingemogelten Zeichen einfach wieder zu entfernen.
Wenn dieses Problem auftaucht schreibt die Zwischenablage von Win mal eben ein haufen '?'-Zeichen in eine Zeile zwischen den Code.

Bsp:
HTML:
Original -> 
<meta description="laberrababer">

Nach Copy$Paste -> 
< meta description="la?berrababer">
Dabei ist es egal wieviel sich in der Zwischenablage befindet.
Leider ist dieses Phänomen auch nicht reproduzierbar.

Werde aber meine Entwicklungsumgebung auch mittelfristig umstellen.
Bin aber im Moment einfach noch zu sehr daran gewöhnt (seit fast 5 Jahren) und tu mich halt bissl schwer mit einem Wechsel.

Es taucht halt nur sehr selten auf.

VG
 
Zuletzt bearbeitet:
@Michael

so, habs jetzt ausprobiert. Klappt wunderbar. Bleibt noch die Frage, ob es auch w3c-konform ist (kann es bei mir nicht testen, da es eine Offlineversion ist), da ich ja nun 2 mal den id-Selektor #header in der CSS-Datei stehen habe.

Also:

#header{
position:absolute;
background-image:url(header.jpg);
...
}

div#header span{
display:none;
}



@WyonKia

Ja, ich kann dich gut verstehen. Man wechselt ungern seine gewohnte Umgebung. Geht mir auch so.

Viele Grüße
DJ Trancelight
 
Im Stylesheet kannst du beruhigt die ID wiederholen, um so CSS-Regeln für Elemente innerhalb dieser ID zu definieren - lediglich im HTML-Dokument muss die ID dann eindeutig sein. ;)
 
Klasse Michael! Vielen Dank für deine Hilfe und verständliche Antwort!
Jetzt kann ich beruhigt weitermachen.

Herzlichen Dank!

Viele Grüße
DJ Trancelight
 
Status
Nicht offen für weitere Antworten.
Zurück