您的位置:首页 > Web前端 > CSS

CSS中盒子模型的总结

2017-06-03 18:08 363 查看

盒子模型定义

所谓盒子模型就是把HTML页面中的元素看作是一个矩形的盒子,也就是一个装内容的容器。每个矩形都由元素的内容、内边距(padding)、边框(border)和外边距(margin)组成。

内边距(padding): 内容与边框之间的距离

外边距(margin): 盒子与盒子之间的距离

边框border

1、border-width:   设置边框宽度

2、border-style:     设置边框样式
none    没有边框
solid     实线
dotted    点线
dashed    虚线

3、border-color:   设置边框颜色

4、borde具体属性设置:
border-top-color:green;

5、border属性联写
改变具体边框属性联写:
border-top:2px dotted red;
改变所有边框属性联写:
border:1px solid green;

6、去掉边框写法:
border: 0 none;

7、边框合并:
border-collapse:collapse;

8、点击文字设置输入框光标焦点方式
<label for="name">姓名:</label>
<input type="text" class="namecls" id="name">


内边距(padding)

padding-top:上内边距
padding-right:右内边距
padding-bottom:下内边距
padding-left:左内边距


页面中盒子大小计算问题

border可以影响盒子大小。

padding可以影响盒子大小

margin不会影响盒子大小。

页面中盒子宽度=设置的宽度值+左右边框+左右内边距

注意:以后在页面中设置盒子大小的时候,如果遇到padding和border要给盒子宽度和高度减去对应的值。

padding影响盒子大小特殊地方

如果一个块级元素中包含另外一个块级元素(子元素没有宽度),给子元素设置padding值,不会影响子盒子大小。

子元素继承父元素的盒子,padding不会影响子盒子大小

外边距margin

外边距用法与padding一样,但是外边距对盒子宽度没有影响。

外边距特点

1、垂直外边距合并(外边距以最大值为准),只发生在块级元素之间。

2、外边距塌陷解决方案:

第一种:给父盒子添加border值,但是影响父盒子的宽度。

第二种:给父盒子设置 overflow: hidden; (推荐这种)

注意: overflow:hidden 触发 bfc (格式化上下文),将页面中的元素设置为独立的元素。

行内元素关于padding与margin问题

1.需要使用背景图的时候必须用padding。

2.会出现外边距合并或者margin塌陷的时候用padding。

3.行内元素上下只能设置padding,不能设置margin。(行内高16px)

4.看border,如果是a连接,看能不能让字体变色,或者显示小手。

隐藏盒子问题

1.overflow:hidden; 隐藏盒子超出的部分。

2.display: none; 隐藏盒子,而且不占位置。(用的最多)

3.visibility: hidden; 隐藏盒子,而且占位置。

4.opacity: 0; 隐藏盒子,而且占位置。

5.Position/top/left/…-999px 隐藏盒子,而且占位置。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  css盒子模型