一些CSS常用样式

114 阅读2分钟

携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第15天,点击查看活动详情

前言

本人学习总结的一些常用CSS样式,活到老学到老,以后会继续更新此文。

垂直水平居中

position定位+transform

不需要知道宽高,要考虑transform浏览器兼容问题

.parent {      
    position: relative;  
}  
.son {      
    position: absolute;      
    left50%;      
    top50%;      
    //向上与向左移动自身长宽的50%,使其位于中心     
    transformtranslate(-50%, -50%);      
    //translate沿着X轴、Y轴进行变换 
}

position定位+marign: auto;

这种方法不需要知道宽高,也不用考虑浏览器兼容问题。

.parent {      
    position: relative;  
}  
.son {      
    position: absolute;      
    top0;     
    left0;     
    bottom0;     
    right0;     
    margin: auto; 
}

flex伸缩布局

.parent {     
    display:flex;     
    justify-content:center;     
    align-items: center; 
}

清除浮动

万能清除法:after伪元素(推荐)

.clearfix:after {      
    /*生成内容作为最后一个元素*/      
    content"";      
    /*使生成的元素以块级元素显示,占满剩余空间*/      
    display: block;      
    /*清除浮动元素对当前元素的影响*/      
    clear: both;           
    /*避免生成内容破坏原有布局的高度*/      
    height0;      
    /*使生成的内容不可见,并允许可能被生成内容盖住的内容可以进行点击和交互*/      visibility: hidden;  
}  
.clearfix {      
    /*用于兼容IE, 触发IE hasLayout*/      
    *zoom:1;  
}

BFC包含浮动元素(推荐)

通过改变包含浮动子元素的父盒子的属性值,overflow:hidden触发BFC,以此来包含子元素的浮动盒子。在父盒子里添加:

.parent {     
    overflow:hidden;     
    *zoom: 1; 
}

给父盒子设置高度即可

.parent {
    height: 20px;
}

给父盒子添加clear:both

:margin属性会失效

.parent {
    clear:both;
}

外墙法

在两个盒子之间添加一个块级空盒子

:上一个盒子的margin-bottom无效,可以使用下一个盒子的margin-top

但是推荐给新添加的盒子设置高度

.empty {
    height20px; 
    clear: both;
}

内墙法

在第一个盒子的所有子元素的最后添加一个块级空盒子

:上一个盒子的margin-bottom和下一个盒子的margin-top都有效,给空盒子添加高度会撑开父盒子

.empty {
    height20px; 
    clear: both;
}

line-height的继承问题

  • 写具体数值,如30px,则继承该值
  • 写比例,如2/1.5,则继承该比例(子元素font-size * 2)
  • 写百分比,如200%,则继承计算出来的值(父元素font-size * 200%)

最后

作为个人学习与工作笔记吧,以后会继续更新的,不仅更新常用样式,考虑扩展好看的css颜色、特效、动画等;敬请期待(没更就是在工作:grin:)。

狗笑.gif