盒子模型
内边距(padding)
- 如果盒子本身未指定width/height属性,padding不会撑开盒子大小
外边距(margin)
margin属性用于设置外边距
margin -top | bottom | left | right
上下左右
使用方式和padding
一样
外边距典型应用
外边距可以让盒子水平居中
盒子必须指定了宽度
盒子的左右外边距设置为
auto
.header{ width:960px; margin:0 auto;}
常见写法:
margin-left:auto; margin-right:auto;
margin:auto;
margin:0 auto;
以上方法是让块级元素居中,行内元素或者行内块元素给父元素添加
text-align:center
即可
圆角边框
border-radius: length | xxx%
- 边框 - 半径; 圆与矩形的交集
- 百分比代表宽度的xxx%
- 两个数值代表对角线
盒子阴影
box-shadow: h-shadow v-shadow blur spread color inset;
属性值 | 描述 |
---|---|
h-shadow |
必需,水平阴影的位置,允许负值 |
v-shadow |
必需,垂直阴影的位置,允许负值 |
blur |
可选,模糊距离 |
spread |
可选,阴影的尺寸 |
color |
可选,阴影的颜色 |
inset |
可选,将外部阴影(outset)改为内部阴影 |
- 默认外阴影(outset)
- 盒子阴影不占用空间,不会影响其他盒子排列
- 文字阴影类似
CSS浮动
标准流
块级元素和行内元素按规定好默认方式排列
浮动(float)
浮动可以改变元素标签默认排列方式
多个块级元素纵向排列找标准流,块级元素横向排列找浮动
float
属性用于创建浮动框,将其移动到一边,直到左边缘或右边缘触及包含快或另一个浮动框的边缘
选择器 {float: 属性值;}
none
默认不浮动left
元素向左浮动right
元素向右浮动
浮动特性
- 浮动元素会脱离标准流,脱标不会再保留原先的位置
- 浮动元素会一行内显示并且元素顶部对齐
- 浮动元素会具有行内块元素的特性
- 浮动和标准流的父盒子搭配
- 一个元素浮动,理论上其余兄弟元素也要浮动,浮动的盒子只会影响后面的标准流,不会影响前面的标准流
清除浮动
由于父级盒子过多,不方便给高度,但子盒子浮动不占位置,最后父盒子高度为0,就会影响下面的标准流盒子
选择器 { clear : 属性值;}
left
:不允许左侧有浮动元素(清除左侧浮动的影响)
right
:不允许右侧有浮动元素(清除右侧浮动的影响)
both
:同时清除两侧浮动的影响
- 额外标签法也称隔墙法,w3c推荐做法
- 父级添加
overflow
属性- 父级添加
after
伪属性- 父级添加双伪属性
额外标签法
额外标签法会在浮动元素末尾添加一个空标签,例如
<div style="clear:both"></div>
,或者其他标签<br/>
这个新增的盒子要求必须是块级元素不能是行内元素
父级添加overflow
可以给父级添加
overflow
属性,属性值设置为hidden、auto、scroll
无法显示溢出部分
after
伪元素法
.clearfix:after
方式是额外标签法的升级版,父元素添加
.clearfix:after { content: ""; display: block; height: 0; clear: both; visibility: hidden; } .clearfix {/*IE6,7专有*/ zoom: 1; }
- 优点:没有增加标签,结构更简单
- 缺点:照顾低版本浏览器
双伪元素清除浮动
.clearfix:before,.clearfix:after
双向清除
.clearfix:before, .clearfix:after { content: ""; display: table; } .clearfix:after { clear:both; } .clearfix {/*IE6,7专有*/ zoom: 1; }
可以留下你的信息哦(去Github_issues)😀😀😀
GitHub Issues