2017-11-15 7 views
-1

このコードは動作します<!DOCTYPE html>改行の高さは100%ですか?

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

を100%の高さTEXTAREAを生成します。

<!DOCTYPE html>を上に追加すると、それ以上は機能しません(高さはもう100%ではありません)。

なぜですか?hereによると、このDOCTYPEを追加するとHTML5になっているようです。 HTML5がheight: 100%;を破るのはなぜですか?

+0

高さ:100%は親要素に関連し、親要素(フォーム)には何も指定されていません –

+0

doctypeなしではどうして機能しますか? – Basj

+3

を使用している場合、[Height = 100%]の複製がhtmlで動作しません。どうすれば修正できますか?](https://stackoverflow.com/questions/1966300/height-100-is-not-working- in-html-when-using-doctype-how-i-can-fix-this)これは、 – sol

答えて

1

あなたは<!DOCTYPE html>を使用する場合は、あなたがstandard modehtmlにあり、bodyあなたはこのコードを使用する必要がありますのでheightは、彼の内部のコンテンツを等しく持っている:

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

いますが、DOCTYPEを使用していないあなたがいます

#a { 
    height:100%; 
} 
quirks modeと、 htmlbodyにのみ、このコードを使用し、デフォルト height等しい 100%を持っています