首页 新闻 会员 周边

CSS HACK height:1%的原理

0
悬赏园豆:20 [已解决问题] 解决于 2010-11-26 17:26

如题,看关于hasLayout的原理机制时,总有推荐使用height:1%来触发元素的hasLayout属性,但是为什么是用height:1%,而不是width:1%或height:2%等其他的呢,盼求谁释疑下

水无声的主页 水无声 | 初学一级 | 园豆:92
提问于:2010-11-21 22:41
< >
分享
最佳答案
0

无所谓啊,用zoom: 1的更多,height: 1%一般用于比较小的元素,顺便还要让他隐藏的

这些值能让hasLayout触发:

position: absolute

float: left | right

display: inline-block

width: !auto - 除auto以外的值

height: !auto - 除auto以外的值

zoom: !normal - 除normal以外的值

writing-mode: tb-rl

overflow: hidden | scroll | auto - IE7有效

position: fixed - IE7有效

min-width: * - IE7有效,任何值

min-height: * -IE7有效,任何值

max-width: !none - IE7有效,除non外任何值

max-height: !none - IE7有效,除non外任何值

收获园豆:20
Gray Zhang | 专家六级 |园豆:17610 | 2010-11-21 23:45
是,有很多方式能触发hasLayout,zoom是IE特有属性,不是CSS标准的,而height:1%是标准属性,感觉会正宗一点,哈哈。。。 我不大赞同你说的height:1%是用于比较小的元素,IE上,元素的尺寸会被内容给撑大,因此这height:1%对它来说没什么影响,但在其他浏览器中,元素的尺寸大小不会受内容的影响,内容超出的话会溢出,那这height:1%为何这这些浏览器中也能正常呈现呢,而不是真的就1%的高度,这是我所疑问的
水无声 | 园豆:92 (初学一级) | 2010-11-22 09:11
height: 1%从来都是使用特定的选择器加在IE之上的,如* html #xxx {height: 1%}
Gray Zhang | 园豆:17610 (专家六级) | 2010-11-22 10:08
哈哈,茅塞顿开,谢谢
水无声 | 园豆:92 (初学一级) | 2010-11-26 17:26

@水无声: 怎么顿开了,能否讲讲,谢谢。

涅磐归来 | 园豆:200 (初学一级) | 2013-03-15 10:42
其他回答(1)
1
三桂 | 园豆:3565 (老鸟四级) | 2010-11-21 23:43
谢谢,提这个问题之前也看了那篇文章,但里面也没解释为什么大家都推崇hegiht:1%的Holly Hack
支持(0) 反对(0) 水无声 | 园豆:92 (初学一级) | 2010-11-22 09:14
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册