css编写时的小细节
1、<input type='button' id='btn' />
css代码
#btn{text-indent:-9999px; *line-height:200px; *over-flow:hidden;}
注释:对于input标签的text-indent属性为负数时,ie6,7下的效果会使input本身也消失了,用line-height和over-flow可以达到相同的效果;
2:在低版本的ie6,7下,元素都会占据默认的高度,在做一些处理的时候,可以加上height:0,overflow:hidden,去除其本身的高度;
如:css模拟三角的定位
<div id='d'>
<i></i>
<div>
#d{position:relative; width:20px; height:20px; border:1px solid #000;}
#d i{position:absolute; border-color:red transparent transparent; border-style:solid; border-width:10px; *height:0; overflow:hidden}
3:少用定位;
4:少用padding,
5:一个元素的宽度值,是它width加上padding的值,这样计算宽度的时候要特别注意,好的做法,是在外层加一个div,然后设置它的宽度,里面的div则可根据需要设置padding值,元素的宽度更好控制。
<div>
<div>
代码代码
</div>
</div>
6:在写代码时要实时想着可扩展性,及编写便于后台程序员开发的代码(主要是循环);
7:css对元素的查找是从右往左的,要注意给div,及span加class属性
<div class='a'>
<span></span>
<div>
代码,代码
</div>
</div>
不好的写法:.a div{...} //此处: 1. 第二个div内部可能还会有div,2. 性能很差 .a span{...} // 与前面的原因1一样,但如果内部的div已经是一个很小的范围,那么也可以直接这样写,看具体情况而定;
8:清除浮动用代码,overflow:hidden; zoom:1; 在一些情况下注意不可使用,即不能判定在元素外部是否还有其他元素,特别是将来可能会扩展页面时。
9:当a标签的内容为空时,在低版本的IE浏览器中,a会消失,这是IE的一个bug,可以通过增加background: url(about:blank)这行代码解决
10:代码的一致性(即可循环)
.a{
width: 100px;
background-color: yellow;
}
.d{
padding: 10px;
}
.c{
width:120px;
overflow: hidden;
z-index: 1;
}
.b{
width: 35px;
height: 35px;
background-color: #ccc;
float: left;
margin-right: 10px;
}
<!--注意class是b的div,这里两侧都加了margin-right属性,这样使div没有多余的标签,有利于后端程序员做循环-->
<div class="a">
<div class="d">
<p>111</p>
<div class="c">
<div class="b"></div>
<div class="b"></div>
</div>
</div>
</div>
未完,待续。。。