好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

before && after 位置

before && after

这两个伪类元素 功能 很相似,都是在元素内部插入新的 内容 。下面一起看下他们的区别和 用法 。

1. 官方定义

before:元素的 内容 之前插入新 内容 。
after:元素的 内容 之后插入新 内容 。

2. 解释

before 和 after 的 功能 就是在元素的内部的原有 内容 之前,或者之后插入新的 内容 。

3. 语法

   .demo  :before   { 

 } 
  .demo  :after   { 
    
 } 
 

解释:使用 方法 如上面,通过在元素选择器后面 增加 一个 : 来开始伪类的使用。

4. 兼容性

IE Edge Firefox Chrome Safari Opera ios android all all all all all all all all

5. 实例

    < div   class   =  " demo "   >  网   </ div  >  
 

在元素 内容 之前 插入文字 :姓名。

    .demo  :before   { 
     content  :   '姓名:'  ; 
 } 
 

效果 图:

元素 内容 之前 插入文字 :姓名 效果 图

  <!DOCTYPE html> 
   < html   lang   =  " en "   >  
   < head  >  
       <  Meta    charset   =  " UTF-8 "   >  
       <  Meta    name   =  " viewport "    content   =  " width=device-width, initial-scale=1.0 "   >  
       < title  >  Document   </ title  >  
       < style  >  @H_509_ 301 @
          .demo  :before   { 
             content  :   '姓名:'  ; 
         }    
        </ style  >  
   </ head  >  
   < body  >  
       < div   class   =  " demo "   >  网   </ div  >  
   </ body  >  
   </ html  >  
 

在元素 内容 之后插入:很好。

    .demo  :after   { 
     content  :   '很好'  ; 
 } 
 

效果 图:

在元素 内容 之后插入:很好 效果 图

  <!DOCTYPE html> 
   < html   lang   =  " en "   >  
   < head  >  
       <  Meta    charset   =  " UTF-8 "   >  
       <  Meta    name   =  " viewport "    content   =  " width=device-width, initial-scale=1.0 "   >  
       < title  >  Document   </ title  >  
       < style  >  @H_509_ 301 @
          .demo  :after   { 
             content  :   '很好'  ; 
         }   
        </ style  >  
   </ head  >  
   < body  >  
       < div   class   =  " demo "   >  网   </ div  >  
   </ body  >  
   </ html  >  
 

6. 经验 分享

这两个伪类当然不是仅仅插入 内容 这么简单,它还有其他的妙用。

使用伪类 after 清除元素内部浮动 效果 :

     < div   class   =  " demo "   >  
       < div   class   =  " item "   >  慕   </ div  >  
       < div   class   =  " item "   >  课   </ div  >          
   </ div  >  
   < div   class   =  "  "   >  网   </ div  >  
 

   .demo  :after   { 
     content  :   ''  ; 
      dis play  :  block ; 
     clear  :  both ; 
 } 
  .item   { 
     float  :  left ; 
 } 
 

效果 图:

使用伪类 after 清除浮动 效果 图

  <!DOCTYPE html> 
   < html   lang   =  " en "   >  
   < head  >  
       <  Meta    charset   =  " UTF-8 "   >  
       <  Meta    name   =  " viewport "    content   =  " width=device-width, initial-scale=1.0 "   >  
       < title  >  Document   </ title  >  
       < style  >  @H_509_ 301 @
         .demo  :after   { 
             content  :   ''  ; 
              dis play  :  block ; 
             clear  :  both ; 
         } 
          .item   { 
             float  :  left ; 
         } 
        </ style  >  
   </ head  >  
   < body  >  
       < div   class   =  " demo "   >  
           < div   class   =  " item "   >  慕   </ div  >  
           < div   class   =  " item "   >  课   </ div  >          
       </ div  >  
       < div   class   =  "  "   >  网   </ div  >  
   </ body  >  
   </ html  >  
 

说明:下面灰色部分是没有清除浮动的 效果 ,上面是清除浮动的 效果 。因为清除了浮动所以 “网” 这个字换行了。

在元素 内容 开始前插入 图片 。

    < div   class   =  " demo "   >  网   </ div  >  
 

   .demo  :before   { 
     content  :   ''  ; 
      dis play  : inline-block ; 
     width  : px ; 
     height  : px ; 
     font-size  : px ; 
     line-height  : px ; 
     background  :   url(//img.mukewang.com/wiki/5eea2f6809a8d35e00400040.jpg)  center  no-repeat ; 
     background-size  :  cover ; 
 } 
 

元素 内容 开始前插入 图片 效果 图

  <!DOCTYPE html> 
   < html   lang   =  " en "   >  
   < head  >  
       <  Meta    charset   =  " UTF-8 "   >  
       <  Meta    name   =  " viewport "    content   =  " width=device-width, initial-scale=1.0 "   >  
       < title  >  Document   </ title  >  
       < style  >  @H_509_ 301 @
         .demo  :before   { 
             content  :   ''  ; 
              dis play  : inline-block ; 
             width  : px ; 
             height  : px ; 
             font-size  : px ; 
             line-height  : px ; 
             background  :   url(//img.mukewang.com/wiki/5eea2f6809a8d35e00400040.jpg)  center  no-repeat ; 
             background-size  :  cover ; 
         } 
        </ style  >  
   </ head  >  
   < body  >  
       < div   class   =  " demo "   >  网   </ div  >  
   </ body  >  
   </ html  >  
 

7. 小结

注意:对于 IE8 及更早版本中的 :before 、 :after ,必须声明 <!DOCTYPE>。 在元素选择器后面这样写也可以:

   .demo  ::before   { 

 } 
  .demo  ::after   { 
    
 } 
 

nth 类型元素选择器 ? ?only 元素选择

查看更多关于before && after 位置的详细内容...

  阅读:36次

上一篇

下一篇

第1节:CSS3简介    第2节:border 边框    第3节:borderImage 边框图片    第4节:border-radius 圆角    第5节:box-shadow 阴影    第6节:box-sizing 盒类型    第7节:gradients 渐变    第8节:text-justify 对齐    第9节:text-overflow 文字超出    第10节:text-shadow 文本阴影    第11节:word-break 文本打断    第12节:word-wrap 文本换行    第13节:letter-spacing 字间距    第14节:perspective 透视    第15节:transform 2D 空间转换    第16节:transform 3D 空间转换    第17节:transition 过渡    第18节:animation 动画    第19节:columns 字符分割    第20节:flex 弹性盒子布局    第21节:flex order 顺序    第22节:flex: grow、shrink、basis    第23节:flex-direction 排列方向    第24节:justify-content (轴内)对齐方式    第25节:flex-wrap 换行    第26节:align-items 竖直方向对齐方式    第27节:align-content    第28节:Grid 布局简介    第29节:Grid 行和列    第30节:media 媒体查询    第31节:only 元素选择    第32节:before && after 位置    第33节:nth 类型元素选择器    第34节:calc 计算属性