盒子模型、浮动、定位
原创
©著作权归作者所有:来自51CTO博客作者qq63a549b58516f的原创作品,请联系作者获取转载授权,否则将追究法律责任
什么是标准流?
就是标签的排列顺序,在标准流中,
- 块级元素:div,占一行
- 行内元素:span,有多少占多少 ,上一个接下一个

问:行内元素能变成块级元素吗?
<body>
<div class="menu">栏目一</div>
<span class="menu xian">栏目二</span>
<span class="menu">栏目三</span>
<span class="title">这是<span>一</span>条新闻标题</span>
</body>
.xian{
display:block;
}
效果展示:

盒子模型
每个标签就像一个盒子

- Margin(外边距) - 清除边框外的区域,外边距是透明的。
- Border(边框) - 围绕在内边距和内容外的边框。
- Padding(内边距) - 清除内容周围的区域,内边距是透明的。
- Content(内容) - 盒子的内容,显示文本和图像。
实战
①、设置边框
<body>
<div class="menu">栏目一</div>
<span class="menu xian">栏目二</span>
<span class="menu">栏目三</span>
<span class="title">这是<span>一</span>条新闻标题</span>
</body>
.menu {
/*第一种写法:单独设置样式*/
border-width: 3px;
border-color: red;
border-style: solid;
/*第二种写法:一起设置样式。注意:用空格隔开,不要用逗号*/
border: 3px solid red;
}
效果展示:

②、设置页边距
问:如果两个标签同时设置了页边距,那这两个标签之间的页边距是它们的和吗?

<body>
<div class="menu">栏目一</div>
<span class="menu xian">栏目二</span>
<span class="menu">栏目三</span>
<span class="title">这是<span>一</span>条新闻标题</span>
</body>
.menu {
border: 3px solid red; //边框
margin: 5px; //页边距
}
.xian {
display: block;
margin-top: 30px;
}
结果:会选择最大的那个页边距

③、设置内容
width:60px; //块宽度
height:100px; //高度
line-height:50px; //文字位置(让文本垂直居中)
效果展示:

浮动:float
<body>
<div class="menu">栏目一</div>
<div class="menu xian">栏目二</div>
<div class="menu">栏目三</div>
<div class="title">这是<span>一</span>条新闻标题</div>
</body>
.menu {
border: 3px solid red;
float: left; //添加左浮动
//clear:left(清除浮动)
}
展示效果:

定位:position
position 属性的五个值:
相对定位:
