HTML - 页面布局常识

  一对封闭标签,若允许拥有 width 和 height 属性(或样式),加载属性(或样式)后就能成为区域

  有的标签本身带有块属性,比如 <div>、<p>,在标签上使用样式影响整个区域;有的标签本身不带有块属性,比如 <span>、<a>,即使做成区域,在标签上使用样式时会有部分样式(比如 background-color 样式)只影响标签内的实体内容而不是整个区域——此时给于其 display: block 的样式就能使之成为。float 样式是效果是基于上一级块的,作用仅在上一级块内;上一级块是表格时,float 样式跟 align 属性差不多;上一级块不是表格时,浏览器会把 float 样式所在标签识别为一个类似层的对象(此对象为图片或拥有大于内容面积的背景时,这些非“文字/控件”部分能覆盖其它元素的背景,但是不能覆盖内容),此时建议将上一级块的 height 样式写上,这样类层对象就会覆盖在这个块表面而不是去覆盖其它元素,或者使用 clear 样式修正同一块内已 float 的元素的弟元素(clear 样式对更上级、上上级等等块内未 clear 的元素也有影响,不过效果不完美)。

  一对封闭标签,若允许拥有 position:relative 或 position: absolute 的样式就能成为,再拥有 top: 、left: 、right: 或 bottom: 样式,加载样式后就能利用偏移进行定位

定位规则:
1,position: static,样式的默认值,无偏移定位,此时标签内的内容按照普通的左右或上下先后规则显示,即使加上 top: 、left: 、right: 或 bottom: 样式都不会有任何变化。
2,position: relative,先取消之前所有已经封闭的标签的偏移效果,然后,相对于所属标签之前(左边)的最后一个 HTML 内容右侧(必须在同一行,即使是空内容),将所属标签内的内容进行水平或垂直的偏移。此种定位在 <span> 标签中使用时,最能体现出偏移量;若用于 <table>、<p>、<div>、<ul>、<li> 等标签,则在偏移前会先执行这些标签自带换行功能,所以偏移是相对于新行的行首的。当一段有多个独立的(互相间没有嵌套)此类定位时,往往难以计算偏移量,因为设计师无法想象出使用偏移前的段落面貌,也不愿意通过加法计算来累积出字符串长度与行高。
3,position: absolute,只对于更外的一层的左上角进行偏移,最外层当然是浏览器窗口了。由于这类偏移不会以行作参照物,所以即使是带换行功能的修饰标签,也看不出额外的效果。