盒模型
盒模型需要从两个方面来理解
1,理解单独一个盒子的内部结构(往往是padding)
2, 理解多个盒子之间的相互关系 (往往是margin )
每个元素都看成一个盒子,盒子模型是由,content(内容) + padding (内边距) +margin (外边距) + border(边框)
所有的元素都可视为一个盒子
content(内容)
内容,可以是文本或图片 ,
内容区是盒子模型必备的组成部分,其他三部分都是可选的
内容区,有三个属性:width height 和 overflow . width 和 height 是针对内容的 不包括padding部分
padding (内边距)又称"补白"
内容区 与 边框之间的距离,可看成是内容区的背景区域
margin (外边距)
两个盒子之间的距离,可能是子元素与父元素之间的距离,也可能是兄弟元素之间的距离
border(边框)
块元素可以设置 宽 高,行内元素不可以设置宽高,行内元素如需设置宽高 可以使用display属性 把行内元素 转换为块元素
padding 局部样式
padding-top :像素值
padding-right :像素值
padding-botton:像素值
padding-left :像素值
padding 简写 (有4种,常用的有三种)
padding :像素值; 上下左右
padding :像素值1 像素值2; 上下 左右;
padding :像素值1 像素值2 像素值3 像素值4; 上 下 左 右 (顺时针)
<style>
div{
background-color: #FFDEAD;
border: solid red 2px;
margin:40px;
display: inline-block;
/* 让文本在一个元素居中 可以使用padding来实现 */
padding: 40px 80px;
}
</style>
<div>一个网站</div>
margin 局部样式
margin-top :像素值
margin-right :像素值
margin-botton:像素值
margin-left :像素值
margin 简写 (有4种,常用的有三种)
margin :像素值; 上下左右
margin:像素值1 像素值2; 上下 左右;
margin :像素值1 像素值2 像素值3 像素值4; 上 下 左 右 (顺时针)
当既有父元素,也有兄弟元素时,该元素会先看四个方向有没有兄弟元素存在,
如果该方向有兄弟元素 ,则这个方向的margin就是相对于兄弟元素而言的
如果该方向没有兄弟元素,则这个方向的margin就是相对于父元素而言
有兄弟
<style>
#father{
display: inline-block;
border:solid red 2px;
}
#son{
display: inline-block;
padding: 20px;
margin-top: 20px;
margin-bottom: 60px;
margin-right: 40px;
margin-left: 80px;
}
.brother{
height: 50px;
background-color: blue;
}
</style>
<div id="father">
<div class="brother"></div>
<div id="son">我的网站</div>
<div class="brother"></div>
</div>
只有父元素,无兄弟元素时
<style>
#father{
display: inline-block;
border:solid red 2px;
}
#son{
display: inline-block;
padding: 20px;
margin-top: 20px;
margin-bottom: 60px;
margin-right: 40px;
margin-left: 80px;
}
</style>
<div id="father">
<div id="son">我的网站</div>
</div>
margin简写
<style>
div{
background-color: #FFDEAD;
border: solid red 2px;
margin:40px 80px;
display: inline-block;
padding:20px;
}
</style>
</head>
<body>
<div>一个网站</div>
padding 和 margin 的区别是在于
padding体现的是元素的 "内部结构"
margin体现的是元素之间的相互关系