第一天基础html和css的复习总结(2)
1.solid表示边框的粗细 //border-right: solid 1px #808080;
2.background-repeat=no-repeat;保证背景图片的不重复平铺
3.background-position: right bottom;
图片居中的位置,第一个值表示它的水平位置,第二个值表示上下位置
4.这个地方容易出错,关于清除元素浮动的问题,
比如我们设置3个div1,div2,div3让它们在页面第一行填满,所以我们要设置float:left,让它们进行浮动,这时,我们再设置一个占满第二行的div4,
因为浮动的问题,这个区域会被上一行覆盖,上一行脱离文档流了嘛,然后们们通过设置一个大的div来包裹div1,2,3,通过设置高度来使下面的div4出来,因为大的div没有浮动,知识它里面的div1,2,3浮动了,所以这是一种方法,
这里我设置了大的div高度为50px,可以看出,通过父元素高度,将div4顶了出来,只要设置成和浮动元素一样大的高度,就能完全让div4出来,这是通用的手段
第二种方法,通过给父元素div设置overflow: auto;来使超出父元素的部分,自动调整,其实和第一种原理相同
第三种方法,也是比较难以理解的方法,通过clear:left、right、both来接觉这个问题,对于CSS的清除浮动(clear),一定要牢记:这个规则只能影响使用清除的元素本身,不能影响其他元素。对于这种情况来说,使用clear要加在谁的身上呢,在以往的学习中我不懂,但是现在回过头来看的话,这个clear要加在div4,也就是你想让谁不受浮动影响,就加在哪个上面,而不是加在大的div下。
我们引入一段理解: 此时div1、div2都浮动,根据规则,div2会跟随在div1后边,但我们仍然希望div2能排列在div1下边,就像div1没有浮动,div2左浮动那样。
这时候就要用到清除浮动(clear),如果单纯根据官方定义,读者可能会尝试这样写:在div1的CSS样式中添加clear:right;,理解为不允许div1的右边有浮动元素,由于div2是浮动元素,因此会自动下移一行来满足规则。这是不对的,因为我们的目标是操作div2,所以我们应该在div2增加clear = left,来指定div2元素左边不允许出现浮动元素,这样div2就被迫下移一行。
这样我们就总结了3种方法来表示清除浮动的办法,这里有详细的解释浮动,是在知乎上看到的,第一个回答的有一个链接,那位博主讲解的比较详细