hasLayoutとは
1321 ワード
(以下の内容はCSS Masteryの中訳本「CSS高級Web標準ソリューションに精通する」154ページ、人民郵便出版社、2007)
IEはLayout概念を用いて要素のサイズと位置を制御する.要素にLayoutがあれば、それ自体のサイズと位置があります.ない場合、その寸法と位置は、最も近いレイアウトを持つ祖先要素によって制御されます.
デフォルトでは、Layoutを持つ要素は次のとおりです.
(
IEはLayout概念を用いて要素のサイズと位置を制御する.要素にLayoutがあれば、それ自体のサイズと位置があります.ない場合、その寸法と位置は、最も近いレイアウトを持つ祖先要素によって制御されます.
デフォルトでは、Layoutを持つ要素は次のとおりです.
<html>, <body>
<table>, <tr>, <th>, <td>
<img>
<hr>
<input>, <button>, <select>, <textarea>, <fieldset>, <legend>
<iframe>, <embed>, <object>, <applet>
<marquee>
(
および
のデフォルトではLayoutは使用されません.)
以下のCSS属性を持つ要素にもレイアウトがあります. position: absolute float: left|right display: inline-block width: any value other than 'auto' height: any value other than 'auto' zoom:any value other than'normal'(IE専用属性) writing-mode:tb-rl(IE専用属性) overflow:hidden|scroll|auto(IE 7以降のみ有効) overflow-x|-y:hidden|scroll|auto(IE 7以降のみ有効) hasLayoutはIE特有の属性であり、CSS属性ではない.Javascript関数hasLayoutを使用して、要素がLayoutを持っているかどうかを確認できます.ある場合、この関数はtrueを返します.そうでなければfalseを返します.hasLayoutは読み取り専用属性なのでJavascriptでは設定できません.
以下のCSS属性を持つ要素にもレイアウトがあります.