2017-11-15 31 views
-1

Dieser Code funktioniert:Warum bricht <! DOCTYPE html> die Höhe ab: 100%?

<html> 
    <head> 
    <style>#a { height: 100%; }</style> 
    </head> 
    <body> 
    <form> 
    <textarea id="a"></textarea> 
    </form> 
    </body> 
</html> 

und erzeugt eine 100% Höhe TextArea-.

Wenn wir oben <!DOCTYPE html> hinzufügen, funktioniert es nicht mehr (die Höhe ist nicht mehr 100%).

Warum? Laut here scheint es, dass das Hinzufügen dieses DOCTYPE es HTML5 macht. Warum würde HTML5 die height: 100%; brechen?

+0

height: 100% ist relativ zum Elternelement und nichts ist auf dem Elternelement (Formular) angegeben –

+0

Warum funktioniert es dann ohne Doctype? – Basj

+3

Mögliches Duplikat von ["Höhe = 100%" funktioniert nicht in HTML, wenn Sie verwenden, Wie kann ich das beheben?] (Https://stackoverflow.com/questions/1966300/height-100-is-not-working- in-html-wenn-benutze-doctype-how-i-can-fix-this) – sol

Antwort

1

Wenn Sie von <!DOCTYPE html> verwenden, sind Sie in standard mode und html und body haben height gleich seinem Inneren Inhalt, so müssen Sie diesen Code verwenden:

html, body, form, #a { 
    height:100%; 
} 

aber wenn man von DOCTYPE nicht verwenden Sie in quirks mode und html und body haben Standard height gleich 100%, nur diesen Code verwenden:

#a { 
    height:100%; 
} 
Verwandte Themen