border
设置盒子的边框特性:
table td {
border-color: blue;
border-width: 1px;
border-style: solid;
}
border-style表示边框的形式,一般有solid:实线;dashed:虚线;dotted:点。
也可以复合:
table,td
{
border: 1px solid blue;
}
当两个盒子相邻时,我们希望合并其重叠的边,以至于不会变粗,使用
border-collapse:collapse;
table,td
{
border: 1px solid blue;
border-collapse:collapse;
}
需要注意的是,加入边框会改变盒子的大小,例如设置一个div大小为200px*200px,设置5px的边框,则总体的盒子将会是210px*210px
padding
padding表示盒子内的内容与边框的距离,可以分布设置上下左右:
div{
padding-left: 10px;
padding-top: 12px;
}
也可以复合:
跟边框一样,加padding也会导致盒子变大,在设计盒子大小的时候要综合考虑这两个因素。
margin
常规设置:
.one{
margin-top: 20px;
margin-bottom: 40px;
}
复合设置(规则与padding)一致:
.one{
margin: 50px 20px;
}
设置方块在页面居中,可以使用margin在左右方向auto的方式:
.one{
margin: 0 auto;
}
嵌套块元素塌陷:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
.one{
width: 900px;
height: 200px;
background-color: pink;
margin-top: 30px;
}
.two{
width: 400px;
height: 100px;
background-color: blue;
margin-top: 50px;
}
</style>
</head>
<body>
<div class="one">
<div class="two"></div>
</div>
</body>
</html>
结果表现为,两个方块都下降了50px,这就是塌陷问题
解决方法,加一行:overflow: hidden;
.one{
width: 900px;
height: 200px;
background-color: pink;
margin-top: 30px;
overflow: hidden;
}
对于不同浏览器有自己的基础margin,故一般会手动消除其差异:(一般写在最开头)
*{
padding: 0;
margin: 0;
}