高质量代码css部分笔记,未实验

早上看完了高质量代码的css部分,记录一下看这本书的收获:

1、基本弄懂了:为什么在有些样式中经常会出现zoom:1的问题。

在ie6下,我们对行内元素操作时,需要设置它的宽高,我们就必须设置它的display为block;而我们在ie6下使用zoom:1也是可以的,使用zoon可以使元素触发haslayout属性,从而可以设置宽高,当然这个来历很长。总结尾:在ie6和7下使用zoom:1模拟inline-block效果。

2、弄清楚了有些元素(flash,select)为什么设置z-index无效的根本原因。

有些元素,默认是以窗口模式打开的(剩余两种是普通和透明),如果使用了这种模式,在ie6下,它会认为这个在z轴上级别是最高的,这就是得我们使用position和z-index使某些元素覆盖在这些窗口模式打开的元素上面失效的根本原因。

解决这个bug的办法为:在flash的模式打开方式上设置为非窗口,而select则是使用一个iframe(也是窗口模式的元素)覆盖。

3、在ie6下使用display:inline-block不是为了改变其display属性,而是为了触发元素的haslayout,个人理解为触发引擎解析其为一个盒模型。

4、块级元素使用display:inlne-block;在ie6下并不能改变独占一行的效果。而行级元素display:inline-block;可以实现其若干个“块级元素”不换行的效果,在ie6下会有水平不对齐的时候,我们采用v-align。

5、在很多时候居中的时候,适当考虑用table。talbe默认不是独占一行的,但是它确可以设置宽高。一般的非块级元素则不行。

原文地址:https://www.cnblogs.com/tyhmj/p/2283177.html