web 前端小记_1 :hasLayout
hasLayout: IE独有CSS渲染引擎。
ie下很多bug都因为没有触发hasLaayout而引起。触发hasLayout的方法有:width\height\position:relative或height:1%。但会出现一些副作用。于是,完美的解决方案:zoom:1;
当然:zoom:1在极其复杂的css里(特别是用DHTML时)将不会触发hasLayout。这时只需添加:position:relative即可
特别注意:由于hasLayout的初衷是为了辅助块级元素的盒模型解析,主要用于块级元素。如果用于内联元素,会引发一些特殊效果(比如对齐等等);
height: 在ie6下默认是min-height;
ie6、ie7下设置display:inline-block;可以触发hasLayout但对齐有问题,需要设置使用*vertical-align设置。例vertical-align:-10px