标签(空格分隔): html CSS 盒子模型
边框
盒子模型的边框就是围绕着内容及补白的线,这条线你可以设置它的粗细、样式和颜色(边框三个属性)。
如下面代码为 div
来设置边框粗细为2px
、样式为实心的、颜色为红色的边框:
div{
border:2px solid red;
}
上面是border
代码的缩写形式,可以分开写:
div{
border-width:2px;
border-style:solid;
border-color:red;
}
- 注意:
1、border-style
(边框样式)常见样式有:
dashed
(虚线)|dotted
(点线)|solid
(实线)。
2、border-color
(边框颜色)中的颜色可设置为十六进制颜色,如:
border-color:#888
;//前面的井号不要忘掉。
3、border-width
(边框宽度)中的宽度也可以设置为:
thin
|medium
|thick
(但不是很常用),最常还是用象素(px
)。
现在有一个问题,如果有想为
p
标签单独设置下边框,而其它三边都不设置边框样式怎么办呢?css
样式中允许只为一个方向的边框设置样式:div{border-bottom:1px solid red;}
同样可以使用下面代码实现其它三边(上、右、左)边框的设置:
{ border-top:1px solid red; border-right:1px solid red; border-left:1px solid red; }
盒模型宽度和高度和我们平常所说的物体的宽度和高度理解是不一样的,css内定义的宽(width)和高(height),指的是填充以里的内容范围。
因此一个元素实际宽度(盒子的宽度)=左边界+左边框+左填充+内容宽度+右填充+右边框+右边界。
![此处输入图片的描述][1]
填充元素的高度也是同理。
比如:
css代码:div{ width:200px; padding:20px; border:1px solid red; margin:10px; }
html代码:
<body> <div>文本内容</div> </body>
元素的实际长度为:10px+1px+20px+200px+20px+1px+10px=262px。在chrome浏览器下可查看元素盒模型,如下图:
![此处输入图片的描述][2]
元素内容与边框之间是可以设置距离的,称之为“填充”。填充也可分为上、右、下、左(顺时针)。如下代码:
div{padding:20px 10px 15px 30px;}
顺序一定不要搞混。可以分开写上面代码:
div{ padding-top:20px; padding-right:10px; padding-bottom:15px; padding-left:30px; }
如果上、右、下、左的填充都为10px;可以这么写
div{padding:10px;}
如果上下填充一样为10px,左右一样为20px,可以这么写:
边界div{padding:10px 20px;}
元素与其它元素之间的距离可以使用边界(
margin
)来设置。边界也是可分为上、右、下、左。如下代码:div{margin:20px 10px 15px 30px;}
也可以分开写:
div{ margin-top:20px; margin-right:10px; margin-bottom:15px; margin-left:30px; }
如果上右下左的边界都为
10px
;可以这么写:div{ margin:10px;}
如果上下边界一样为
10px
,左右一样为20px
,可以这么写:div{ margin:10px 20px;}
- 总结一下:
padding
和margin
的区别,padding
在边框里,margin
在边框外。