<div>
和<span>
正好是CSS世界中块级元素和内联级元素的代表;所谓“流”,就是CSS世界中引导元素排列和定位的一条看不见的“水流”;<table>
比CSS还要老;“流”的特性对<table>
并不适用;<table>
元素默认的display值是table,但是他们均是块级元素width:auto
:width的默认值是auto。它至少包含了一下4种不同的宽度表现(1.充分利用可用空间、2.收缩与包裹、3.收缩到最小、4.超出容器限制);所谓流动性,并不是看上去的宽度100;格式化宽度具有完全的流体性,也就是margin、border、padding和content内容区域同样会自动分配水平(和垂直)空间;height:auto
:CSS的默认流是水平方向,宽度是稀缺的。高度是无限的。height:100%
:对于height属性,如果父元素height为auto,只要子元素在文档流中,其百分比值完全就被忽略了;对于普通文档流中的元素,百分比高度值要想起作用,其父级必须有一个可以生效的高度值;绝对定位的宽高百分比计算是相对于padding box的,非绝对定位元素则是相对于content box计算的;<sup>
和下标<sub>
;vertical-align上标下标类属性值并不会改变当前元素的文字大小,千万不要被HTML标签中的<sup>
和<sub>
误导,因为这两个HTML标签默认font-size是smaller;<html>
根元素;float的值不为none;overflow的值为auto、scroll或hidden;display的值为table-cell、table-caption和inline-block中的任何一个;position的值不为relative和static;)<html>
,一个是文本域<textarea>
;希望实现一个表格头固定、表格体可以滚动的效果,常见的实现方法是使用双<table>
,表格头是一个独立的<table>
,主体是一个独立的<table>
元素,放在一个overflow:auto的<div>
元素中;对齐问题的两种解决方法(1.<table>
元素使用固定的宽度值,但是距离右侧留有17px的间隙;2.表格的最后一列不设定宽度(文字最好左对齐),前面每一列都定死宽度;)<a href="#">返回顶部</a>
;“focus锚点定位指的是类似链接或者按钮、输入框等可以被focus的元素被focus时发生的页面重定位现象”;锚点定位行为的发生,本质上是通过改变容器滚动高度或者宽度来实现的;<label>
标签和输入框关联并覆盖在输入框上面,好处是点击占位文字输入框天然focus,并且不会污染输入框的value)<div>
元素,无论设置padding还是margin,其占据的空间一致不变,变化的就是content box的尺寸,这就是典型的流体表现特性;margin:auto
居中:当绝对定位元素处于流体状态的时候,各个盒模型相关属性的解析和普通流体元素都是一模一样的,margin负值可以让元素的尺寸更大,并且可以使用margin:auto让绝对定位元素保持居中;区别在于,绝对定位元素margin:auto居中从IE8浏览器开始支持,而普通元素的margin:auto居中很早就支持了;如果绝对定位元素的尺寸是已知了,没有必要使用transform,百分比transform会让ios微信闪退,其实首推的方法就是利用绝对定位元素的流体特性和margin:auto的自动分配特性实现居中;<html>
元素。换句话说,唯一可以限制固定定位元素的就是<html>
根元素<html>
元素;2.对于position值为relative/absolute以及Firefox/IE浏览器(不包括Chrome浏览器)下含有position:fixed声明的定位元素,当其z-index值不是auto的时候,会创建层叠上下文;差别就在于z-index:auto所在的<div>
元素是一个普通定位元素