只做利于SEO的网站,提供网站建设、SEO、网站代运营等服务。服务中心 | 建站流程 | 网站地图

CSS3伪类:after、:before常见用法

2020-12-14小猴建站 阅读()相关主题:

CSS3动态/动画里面的伪类运用比较多,由于要兼容很多的版本的浏览器,个人又不喜欢用MVC框架,就总结了一些单独使用伪类或混合伪类的用法,给前端的小伙伴们一些启发。下面介绍运用较多的伪类:after、:before

用:after、:before清除浮动

在自适应布局中,经常遇到浮动问题,一般来说下一个div会继承上一个div的浮动属性(左浮动、右浮动),即使他们是独立div(非同一父级)。为避免造成页面布局混乱,需要清除上一div的浮动属性,举个例子

HTML部分

<div class="Main">
  <div class="FloatLeft">左浮动</div>
  <div class="FloatRight">右浮动</div>
</div>
<div class="OtherDiv">其他Div</div>

CSS部分写法1

<style>
 .FloatLeft{float:left}
 .FloatRight{float:right}
 .OtherDiv:before{content:" ";clear:both}
</style>

CSS部分写法2

<style>
 .FloatLeft{float:left}
 .FloatRight{float:right}
 .Main:after{content:"";clear:both}
</style>

避免出现如下的HTML写法

<div class="Main">
  <div class="FloatLeft">左浮动</div>
  <div class="FloatRight">右浮动</div>
</div>
<div class="Clearfix"></div>
<div class="OtherDiv">其他Div</div>

CSS部分

<style>
 .Clearfix{clear:both}
</style>

Clearfix这个Div是空的,因是行间元素(默认占用一行),可以写CSS样式清除继承浮动属性,虽然能实现这个功能,但是前端代码不够简洁,尽量采用嵌套写法,把Div归类,下面是吖七推荐写法。

HTML部分

<div class="Main Clearfix">
  <div class="FloatLeft">左浮动</div>
  <div class="FloatRight">右浮动</div>
</div>
<div class="OtherDiv">其他Div</div>

CSS部分

<style>
 .Clearfix:after{clear:both}
</style>