CSS中灵活使用:before和:after

2020-05-14 07:48:53易采站长站整理

完整代码:

CSS Code复制内容到剪贴板

<style>   
  .test-div{   
      position: relative;  /*日常相对定位*/  
      width:150px;   
      height: 36px;   
      border:black 1px solid;   
      border-radius:5px;   
      background: rgba(245,245,245,1)   
  }   
  .test-div:before,.test-div:after{   
      content: "";  /*:before和:after必带技能,重要性为满5颗星*/  
      display: block;   
      position: absolute;  /*日常绝对定位*/  
      top:8px;   
      width: 0;   
      height: 0;   
      border:6px transparent solid;   
  }   
  .test-div:before{   
      left:-11px;   
      border-right-color: rgba(245,245,245,1);   
      z-index:1   
  }   
  .test-div:after{   
      left:-12px;   
      border-right-color: rgba(0,0,0,1);   
      z-index: 0   
  }   
</style>   
<div class="test-div"></div>  

好了,完整的一个对话框样式呈现在眼前了,至于对话框的小三角形的方向,相信大家看了上上段对于border介绍的代码也都知道该怎么做了吧,没错,就是改下position的位置,改下border显示颜色的方位~ (本兽不喜欢贴图片,体谅下额,需要的可以拷贝代码直接运行看效果,造轮子不仅仅是造轮子,也能让人加深印象,更好的理解)

2.作为内容的半透明背景层。

比如我们的需求是做一个半透明的登录框吧(这里也是在代码中通过注释来解释):

CSS Code复制内容到剪贴板

<style>   
    body{   
        background: url(img/1.jpg) no-repeat left top /*这里本兽加了个图片背景,用以区分背景的半透明及内容的完全不透明*/