看来还是有些问题存在,是不是clear这个清除浮动的方式不对呢。难道是clear清除的仅仅只是浮动的属性而并没有让上一个p标签的高度自适应?带着疑惑,增加点背景色的代码给p标签看看是不是真的这样。
p:first-letter {float:left;font-weight:bold;font-size:2em;background-color:#000000;color:#FFFFFF;} p {clear:both;background-color:#FF0000;}
利用背景色检查清除浮动后的效果
果然,p标签的高度没有下来,仅仅只是清除了浮动的属性而已,查看demo,清除浮动那么多的方式(具体可以参考《css那些事儿》中关于清除浮动的章节),这个clear不好使,那就换一个方式清除浮动。
p:first-letter {float:left;font-weight:bold;font-size:2em;background-color:#000000;color:#FFFFFF;} p {overflow:hidden;background-color:#FF0000;}
overflow方式清除浮动
浏览器的世界就是那么神奇,一个方法不行,换一个方法就会看到世界的另一面。这个时候我们可以看到背景色扩充到了整个p标签,并且每个段落之间也存在了间距了,看来问题是解决了,查看demo。
在这里需要说的一点就是,overflow清除浮动的方式彪叔——梁璟彪不赞成使用,建议使用:after的方式清除浮动,