margin:
1. 当有三个值时第一个值为上,第二个值为左右,第三个值为下。
2.margin外边距折叠,水平没有,垂直会折叠,且折叠后以两者最大值为准。另外,当一个元素包裹另一元素时也会发生折叠。折叠条件:垂直,包含。
3.margin用于来居中时auto要作用于左右,margin上下值会忽略auto。
padding:
1.padding不接受负值,margin接受负值且很重要,用于垂直居中。
2.padding对auto无效。
3.不存在内边距折叠。
overflow:
属性值有:visible(默认)hidden(隐藏不显示)scroll(滚动条)auto(必要时才显示滚动条)。
float:
属性值有:left,right,none(默认)。
块级元素设置浮动后会取消块级元素的“扩展适应”,也就是在没有制定高和宽的情况下有原来的占满整行变为自适应内容大小。
浮动之后他们的外边距不再折叠。
浮动元素会当作块级元素来对待。
浮动的元素只影响紧跟其后的元素,对于前面相邻的元素没有影响。
清除浮动:
对于段落(文字环绕)来说:在受影响的元素上设置
1.clear:both
2.设置宽度width:100%(或固定值(清除对父元素的影响是width可为具体值)),再设置overflow:hidden(非visible)
3.添加换行标签<br/> <br/> (不推荐,无意义)
4.在浮动元素后添加空标签<div>在css中设置其clear:both;
5.同样的思想。使用伪元素:after :befor (注意要配合content)
二、对于因子元素浮动导致父元素塌陷的问题,对父元素设置clear无效,因为clear用于浮动元素后的元素。要采用width:100%和overflow:hidden来清除父
元素的塌陷问题
z-index:
z-index还可以接受负值。默认auto。且只对定位的元素起作用。opacity:0.9(opacity小于1)能改变元素层级。
top,right,bottom,left默认值为:auto。
结构化伪类:
:last-child 选中最后一个子元素。
:first-child 选中第一个子元素。
:nth-child(n)选中第n个子元素,n的范围(1-n)。
:first-letter 选中第一个字母。
:first-line 选中第一行。
+ 选中下一个兄弟元素,直接相邻兄弟。
~ 间接相邻兄弟。
> 选中子元素。(排除孙子元素)
[ ] 属性选择器,例如input[ name] 只选中具有name属性的input。
input[name='username']只选中name属性为username的input元素。
input[id$='name']只选中id属性值以name结束的input元素。即:nameXX。
input[id^='name']只选中id属性值以name开始的input元素。即:XXname。
input[id*='name']只选中id属性值包含name的input元素。即:XXnameXX 或 XXname或nameXX。