1.了解什么是块元素什么是行内元素。
块级元素可以设置width,height属性.
行内元素设置width,height属性无效.
块级元素即使设置了宽度,仍然是独占一行.
块级元素可以设置margin和padding属性.
行内元素的margin和padding属性,水平方向的padding-left,padding-right,margin-left,margin-right都产生边距效 果,但竖直方向的padding-top,padding-bottom,margin-top,margin-bottom却不会产生边距效果.
块级元素对应于display:block.
行内元素对应于display:inline.
2.再说说CSS中的定位跟float
首先要知道position有几个属性,分别是static、fixed、relative、absolute、inherit。
static不用多说,默认的属性。对象遵循正常文档流。top,right,bottom,left等属性不会被应用。
fixed对象脱离正常文档流,使用top,right,bottom,left等属性以窗口为参考点进行定位,当出现滚动条时,对象不会随着滚动。而其层叠通过z-index属性定义。
relative相对定位相对的是它原本在文档流中的位置而进行的偏移,而我们也知道relative定位也是遵循正常的文档流,它没有脱离文档流,但是top/left/right/bottom 属性是生效的,可以说它是static到absoult的一个中间过渡属性,最重要的是它还占有文档空间,而且占据的文档空间不会随 top / right / left / bottom 等属性的偏 移而发生变动,也就是说它后面的元素是依据虚线位置( top / left / right / bottom 等属性生效之前)进行的定位,这点一定要理解。
那好,我们知道了top / right / left / bottom 属性是不会对relative定位的元素所占据的文档空间产生偏移,那么margin / padding会让该文档空间产生偏移吗?答 案是肯定的,会影响别的元素。
absolute在没加top / right / left / bottom 属性是不会脱离文档流。
如果top和bottom一同存在的话,那么只有top生效。如果left和right一同存在的话,那么只有left生效。
inherit没有好说的继承父元素的样式。
那我继续说float,它有right、left、none、inherit的属性。
总结:
当时我以为我已经熟练掌握CSS,但是当我真正实践的时候发现了很多问题,在运用position和float的时候遇到很多问题,所以说还需要多时间遇到更多的问题,不停地提升才是硬道理!
这里打一个我当初做的小索引。