CSS的核心概念有四个:标准流、盒模型、position、float,它们是CSS的基础也是最常用的几个概念
1.标准流
标准流就是标签的排列方式,页面里显示的顺序和代码里的顺序一致就是符合标准流了。例如:
<div>red</div>
<p>blue</blue>
代码中red在前blue在后,显示在页面上时第一行“red”,第二行“blue”即符合red在前blue在后,所以它是符合标准流的。如果给上面的标签加上浮动或定位属性,就可能会脱离标准流,如<div style="float:right">red</div>
<p>blue</p>
2.盒模型
网页上的对象都可以看作一个盒子,设计师可以通过创建定义来控制这个盒子的属性。这些对象包括:段落、列表、标题、图片以及层<div>,而这个盒子就是盒模型(Box Model)
总宽度=左边界+左边框+左填充+右填充+右边框+右边界
但是不同浏览器对宽度的诠释不一样,所以要显示出它预期的效果要实际测量做好兼容工作。
.example{
width:300px; //设置盒子宽度
padding:10px; //设置填充
border:5px solid #000; //设置边框
margin:20px; //设置边界
}
3.定位position这个属性决定了元素是如何定位的,它的值主要有五种
每个网页都可以看成是由一层层页面堆叠起来的,position 设置为 relative 的时候,元素依然在普通流中,可以通过 left right 等移动元素。当position设为absolute的时候,相当于display为block。
4.浮动float
浮动就是把元素浮动,它的取值一共有四个:left、 right 、none、 inherit,主要用于使元素脱离标准流。
例如:未加float之前
<html>
<title>float的应用</title>
<body>
<div style="border: 5px solid red;">我在第一行</div>
<div style="border: 5px solid black;">我在第二行</div>
</body>
</html>
显示效果
设置float之后
<html>
<title>float的应用</title>
<body>
<div style="float:left;border: 5px solid red;">我在第一行</div>
<div style="float:left;border: 5px solid black;">我在第二行</div>
</body>
</html>
显示效果
float有几个需要注意的地方:
1.设置float后,对该元素的上一个兄弟元素没有影响,它的下一个兄弟元素
如果没有设置float,则会紧贴到该元素之前没有设置float的元素显示。
如果设置了相同方向的float,则会紧随该元素之后显示。
(设置float后就脱离了普通流,不再属于它“原本”该在的那一层了)
2.只有左右浮动,没有上下浮动。清除浮动格式:clear:left | right | both | none;
小结:
将内容与表现形式分离,不仅可使维护站点的外观更加容易,而且还可以使HTML文档代码更加简练,缩短浏览器的加载时间。