CSS:
1、三大样式:行内(内嵌)、内部(内联)、外部(外联);基本都知道。
2、三大特性:
a、继承性:父级样式会被子级继承(!important不会被继承,<a></a>标签写了href属性不会继承父级的color属性)
b、层叠性:样式发生冲突时,会覆盖之前优先级低的样式
c、优先级:!important > 行内样式 > #id > .class > 标签 > 通配符 > 继承
虽然 #id 比. class 优先级高,但是一般写CSS样式不要用#id
3、选择器:
标签选择器、id选择器(不要常用)、类选择器、通用选择器(不要正式用)、后代选择器……
选择器的优先级是可以叠加用(.class名 标签名{}>.class名{})
子选择器 : 父级选择器 > 子级选择器 {} 就是只对该子级有用,子级之后的后代无效
通用兄弟选择器 :元素名~兄弟名{} 对该元素之后的同级兄弟元素有用
相邻兄弟选择器 :元素名+兄弟名{} 必须是同时满足相邻(该元素后第一个标签)且同级才能生效
交集选择器 :元素名.class名(#id名){} 必须是这个元素名且是这个class名(ID名)才能生效
4.CSS常用的属性:
背景background、填充padding、外边距margin、边框border都不能被子级继承。
padding设置后会改变元素大小,所以设置后要相应减去;也可以通过box-sizing属性来设置
margin-top在使用时,有可能会遇到子级的margin-top值会影响到父级,为了消除这个影响,可以:
a.不用margin用padding
b.给父级用border
c.给父级一个 overflow:hidden
d.浮动或定位
e.父级名:before{content:“”;display:table;}
margin的外边距塌陷,在垂直方向上,上下边距会合并取最大值