导航菜单
  • 首页
  • 首页>前端万博manbext备用网址>CSS万博manbext备用网址

    CSS小技巧汇总(不断更新)

    这篇文章主要记录学习CSS过程中遇到的很好的小技巧,不断更新……

    1、平时设置字体的时候总喜欢分开写,比如这样:

    font-family: Arial, Helvetica; 
    font-weight: bold; 
    font-style: italic; 
    font-size: 1em; 
    line-height: 1.5em;

    其实可以这样写:

    font: bold italic 1em/1.5em Arial, Helvetica;

    2、背景分开写成这样:

    background: url(example.gif); 
    background-color: #eaeaea ; 
    background-repeat: repeat-x; 
    background-position: top left;

    其实可以写成一行,比如:

    background: #eaeaea url(example.gif) repeat-x top left;

    3、边框,css面板产生的边框样式很恐怖,比如:

    border-color: red; 
    border-width: 1px; 
    border-style: solid;

    其实,写成一行更好:

    border: 1px solid red;

    4、margin和padding简写:

    /* top=10px, right=5px, bottom=15px, left=20px */ 
    margin: 10px 5px 15px 20px; 
    /* top=10px, right=5px, bottom=10px, left=5px*/ 
    margin: 10px 5px; 
    /* top=10px, right=5px, bottom=15px, left=5px*/ 
    margin: 10px 5px 15px;
    /*四边都一样*/
    margin:10px;

    padding类似的写法。

    5、值为0的时候可以省略单位,比如:

    margin: 0px; 
    padding: 0em;

    可以简写成:

    margin: 0; 
    padding: 0;

    6、十六进制的颜色,比如#ffffff,可以简写成#fff,就是说#RRGGBB这样的值,可以简写成#RGB,小于1的小数,比如0.5em,可以简写成 .5em,表示50%的0.5,可以简写成 .5。

    7、图片设置了浮动后,段落文字会包裹该图片,如果需要图片浮动,但是又不需要文字包裹图片,则可以为该段落添加如下样式:

    .no-wrap-text { 
        overflow: hidden;
     }

    文字包裹浮动图片.png

    8、清除在容器中图片下面有缝隙的办法

    因为图片是inline对象,所以和文字一样,基于父元素的baseline对齐的,而baseline对齐的时候距离底部还有一点缝隙。就好像文字和文字的行之间是有缝隙一样。 所以只要设置vertical-align不为baseline就可以解决这个问题。 方法主要考虑两种:

    1)、为父容器设置字体大小为0

    div{
        font-size:0;}

    2)、为图片定义垂直对齐方式

    img{
        vertical-align:bottom;
    }

    当然,还有一种是把img设置为block,这样就改变了图片的默认类型。而且图片设置了block之后,不能继承p的首行缩进的样式。

    9、clearfix清除浮动导致的高度不自适应的方法:

    如果要兼容低版本的浏览器,代码如下:

    .clearfix:after{   
        visibility: hidden;   
        display: block;   
        font-size: 0;   
        content: " ";   
        clear: both;   
        height: 0; 
        } 
    * html .clearfix { zoom: 1; } /* IE6 */ 
    *:first-child+html .clearfix { zoom: 1; } /* IE7 */

    或者用

    .clearfix {zoom: 1;} /* IE < 8 */

    代替:

    * html .clearfix { zoom: 1; } /* IE6 */ 
    *:first-child+html .clearfix { zoom: 1; } /* IE7 */

    如果不用考虑低版本浏览器,则可以使用最精简的方法:

    .clearfix:after {     
        content:"";     
        display:block;     
        clear:both; 
        }

    当然,也发现有这样的写法:

    .clearfix:after {     
        content:" ";
        display:table;
        clear:both; }

    如果用display:table而不是display:block,可能导致容器额外的边距。

    10、为div设置100%的高度的时候,还需要为html、body设置100%的高度才有效果。

    html,body{
        width:100%;
        height:100%;/*最根溯源,还是要html有高度,后面的后代元素才能继承高度。*/
    }
    div{
        width:180px;
        height:100%;
    }

    11、文章标题不换行的时候,溢出的部分用省略号代替。

    li{
        white-space:nowrap;/*文本不换行*/
        overflow:hidden;/overflow为非visible的值才起作用。/
        text-overflow:ellipsis;/*如果文字溢出,可以用省略号代替*/
    }

    12、多个li并排的时候,有一方的外边距,ul没有内边距,两方对齐ul的边框,可以让ul设置一个外边距的负值。

    ul{
    margin-right:-20px;}
    ul li{
    width:280px;
    height:310px;
    float:left;
    margin:0 20px 15px 0;
    }

    13、当容器的宽度不固定的时候,可以设置为表格显示方式实现水平居中对齐。

    div{
    display:table;
    width:auto;
    margin:0 auto;
    }

    14、当容器的高度固定的时候,容器内多行文本实现纵向居中对齐,因为vertical-align只对td、th有用。

    div{
    height:378px;
    display:table-cell;
    vertical-align:middle;}

    15、当容器设置圆角半径的时候,如果是背景图片,则图片也直接圆角,如果是插入的普通图片,则需要设置溢出隐藏。

    .girlszuopin li{
    	text-align:left;
    	border-radius:5px;
    	overflow:hidden;}

    16、取消超链接a被点击时候的虚线框

    a:focus{ /*需要用到:focus伪类*/
    outline:none;
    }

    17、margin的负值

    margin左右的负值在增加block对象的宽度上有妙用。上下的负值产生位置的移动。

    比如列表左右对齐的卡片布局。

    #container{
    width:1200px;
    background: #eee;
    margin-right:-20px;
    overflow: hidden;
    }
    #container ul{
    width:1220px;
    }
    #container li{
    width:224px;
    height: 300px;
    background: #ddd;
    float: left;
    margin: 0 20px 20px 0;
    }


    点赞


    4
    保存到:

    相关文章

    发表评论:

    ◎请发表你卖萌撒娇或一针见血的评论,严禁小广告。

    Top