关于:before和:after伪类的那些事

  • Post author:
  • Post category:其他


说明—:before,:after的作用是在指定的元素内容(不是元素本身)之前或者之后插入一个包含content属性指定内容的行内元素。

注:1、如果content的内容为空,则插入的内容默认是一个行内元素,并且在HTML代码中无法看到

2、如果没有content属性,则伪类元素没有任何作用。

3、content除了可以插入文字之外还可以插入图片等元素。

例子:

<style>

*{ margin:0px; padding:0px;}

.divCon{ width:100px;

height:100px;

background:#6CF;

color:#333;

margin:0 auto;

font-size:12px;}

.divCon:before{ content:”^^^^^”;

color:#F00;}

.divCon:after{ content:”$$$$$”;

color:#F96;}

</style>

<div class=”divCon”>

这是DIV的内容

</div>

效果如下所示:

其妙用—-


1、用于清除浮动

正常情况下使用普通方式清除浮动,需要在父元素结束之前多增加一个<div>,这种做法破坏了HTML5的语义化原则

我们可以使用伪类来对父元素进行操作以达到清除浮动的效果

具体代码如下所示:

<style>

*{ margin:0px; padding:0px;}

.divCon{ width:300px;

height:300px;

background:#6CF;

color:#333;

margin:0 auto;

font-size:12px;}

.left{ float:left; background:#03F; width:150px; color:#fff; height:200px;}

.right{ float:right; background:#F6F; width:150px; height:200px;}


.clearfix{ zoom:1} /*解决IE6/7兼容性*/



.clearfix:before,.clearfix:after{




content:””;



display:table;



}



.clearfix:after{




clear:both;



}


</style>

<div class=”divCon “>

<div class=”left”>这是左侧内容</div>

<div class=”right”>这是右侧内容</div>

</div>


2、解决父元素的第一个子元素的margin-top越界问题

<div class=”parent”>

<div class=”top”>这是上部内容</div>

<div class=”bottom”>这是下部内容</div>

</div>

<style>

.parent:before{

content:” “;

display:table;

}

</style>

转载于:https://www.cnblogs.com/mchtig/p/7495001.html