目录
流(Flow)
流向
块元素:从上向下流,各元素之间有一个换行;
内联元素:在水平方向上会相互挨着,总体上会从左上方流向右下方。
浏览器并排放置两个内联元素时
它们之间的空间是外边距之和。
浏览器上下放置两个块元素时
它们共同的外边距为两个外边距中较大的那个外边距大小。(折叠)
实际上,只要两个垂直外边距碰到一起,他们就会折叠。
float属性
float属性首先尽可能远地向左或向右浮动一个元素。然后它下面所有内容会绕流这个元素(所谓绕流,就是像流体一样绕着这个元素流动)。
对于所有的浮动元素都有一个要求:它必须有一个宽度。
e.g.
#amazing
{
width: 200px;
float: right;
}
浮动后流入页面的步骤:
1.首先,浏览器像往常一样,正常的将元素流入页面,从文件的最上面开始,逐步移向末尾的元素。
2.浏览器遇到浮动元素时,会把它尽可能地放在右边(左边),还会从流中删除这个段落,就好像它浮在页面上一样。
3.由于这个浮动段落已经从正常的流中删除,所以其他块元素会填在这里,就好像根本就没有这个段落一样。
4.不过,对内联元素定位时,它们会考虑浮动元素的边界,因此会围绕着浮动元素。
text-decoration属性
添加到文本的修饰。
clear属性
用clear属性来提出请求:当元素流入页面时,在这个元素的左边、右边或两边不允许有浮动内容。
三种布局
流体布局
不论将浏览器调整到多大的宽度,布局都会扩展。
冻结布局
会锁定元素,让它们冻结在页面上,当用户调整屏幕大小时,设计仍能保持原样。
凝胶布局
会锁定页面中内容区的宽度,不过会将它在页面中居中。
绝对定位(absolute positioning)
定义
可以在页面上精确地定位元素,这称为绝对定位。
如何工作
一个元素绝对定位时,浏览器首先要做的就是将它从流中完全删除,然后浏览器将这个元素放置在top、right、bottom、和left指定的位置上。指定一个元素的位置还可以使用百分数。
分层放置
每一个定位元素都有一个名为z-index的属性,这会指定它在一个虚拟z轴上的位置(上面的元素“更靠近”你,z-index更大)。
四个position属性值
absolute:绝对定位,流元素完全不知道其存在;
static:静态定位,元素会放在正常的流中,由浏览器决定这些元素放在哪里;
fixed:固定定位,将元素放在相对于浏览器窗口的一个位置上(而不是相对于页面),所以固定元素永远不会移动;
relative:相对定位,会让元素正常的流入页面,不过在页面显示之前要进行偏移。
CSS表格显示
步骤
1.首先,创建一个<div>表示整个表格,行和列要嵌套在这个<div>中。
2.接下来,对于表格中的每一行,要创建一个<div>,其中包含行内容。
3.然后,对于每一列,只需要一个块元素作为该列的内容