- ul,li的作用不是为了给列表加圆点,而是用来表示一个列表的语义,并且每个项目和每个项目之间是不分先后的。ul就是英语unordered list 无需列表的简写。li就是英语list item,列表项的意思。 (组标签,所有的li必须包裹在ul里面,ul的儿子不能有别的东西,只能有li)。
- ol有序列表,和ul类似
- 定义列表:
<dl>
<dt>北京</dt>
<dd>首都,个打法</dd>
<dt>上海</dt>
<dd>魔都,有黄普京</dd>
</dl> - input的类型:text,password,redio(单选框),checkbox(复选框),submit,reset。HTML5还有date,color等,但是都不兼容。
- 标准的div+css页面用的种类很少,如div p h1 span a img ul ol dl li input等。
- 交集选择器,如h3.special.zhongyao {
color: red;
}这时从IE7开始支持的,IE6不支持。交集选择器一般都以标签名开头,比如div.haha。 -
- div p 后代选择器
- div.special 交集选择器
- div, p 并集选择器
- div>p 儿子选择器
- :nth-child 第几个孩子选择器
- h3+p 下一个兄弟选择器
- 能继承的属性?color、text开头的、line开头的、font开头的,这些关于文字样式的,都能继承。**所有关于盒子的、定位的、布局的属性都不能继承。
- CSS两大特性:继承性、层叠性
- 权重:
- 计算格式:id选择器,类选择器,标签选择器(256进位)。
- 如果权重一样,以后出现为准。
- 如果没有精确选中某个元素,那么权重为0,无需计算,比如继承。如果大家都是0,那么有一个就近原则,谁描述的近,听谁的。
- !import无法提升继承的权重,无法打破就近原则,只能加重直接选择上的选择器的权重。
**选择上了,数权重(id数量,类的数量,标签的数量)。如果权重一样,谁写在后面听谁的。没有选择上,通过继承影响的,就近原则,谁描述的近听谁的。如果描述的一样近,比如选择器权重,如果权重再一样重,谁写在后面听谁的。
- padding:top上、right右、bottom下、left左。综合属性,上右下左。
块级元素:
- 霸占一行,不能与其他任何元素并列
- 能接受宽、高
- 如果不设置宽度,那么宽度将默认变为父亲的100%
行内元素:
- 与其他行内元素并排
- 不能设置宽、高,默认的宽度就是文字的宽度
块级元素转为行内元素:display: inline;
行内元素转变块级元素:display:block;
CSS中一共有三种手段,使一个元素脱离标准文档流:
1. 浮动
2. 绝对定位
3. 固定定位
行内元素通过浮动会脱离标准流,所以就不需要display:block;了。
浮动的元素是脱标元素,不能把容器撑出高度
清楚浮动的方法:
- 加高法:父亲有高度(有高度的盒子,才能关注浮动)。
- 隔墙法:clear: both,这种方式会导致margin失效。
如:.blank16 { clear:both; height:16px;}
- 内墙法:
<div><ul></ul> <div style='clear: both'></div> </div>
,把墙修在div的内部,而不是两个div的中间。可以撑起第一个div的高度,而隔墙法不行。 - overflow:hidden。所有溢出边框的内容,都要隐藏掉。(经常和li标签搭配中使用)
偏方:一个父亲不能被自己浮动的儿子撑出高度,但是给父亲加上overflow:hidden,就可撑出高度。