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>

未完,待续。。。

css

相关推荐