zoukankan      html  css  js  c++  java
  • 伪类before和after

      有时候,我们需要大量的重复代码去实现一个非常简单的功能,这不仅浪费时间,而且效率低下,例如:

    <div class="aa">你好</div>
    <div class="aa">我好</div>
    <div class="aa">大家好</div>
    <div class="aa">前面和后面</div>

    <div class="aa">你好</div>
    <div class="aa">我好</div>
    <div class="aa">大家好</div>
    <div class="aa">前面和后面</div>

    <div class="aa">你好</div>
    <div class="aa">我好</div>
    <div class="aa">大家好</div>
    <div class="aa">前面和后面</div>

    <div class="aa">你好</div>
    <div class="aa">我好</div>
    <div class="aa">大家好</div>
    <div class="aa">前面和后面</div>

      我们如果需要为每一个div添加一个动态的括号滑动出现和消失的css3动画,那么,接下来可以想象就是不停地对每一个div 的前面和后面或者里面添加两个div。这样费事费力的差事每一个会偷懒的程序猿都不会干的,于是,这里我们可以用伪类轻松解决。

      在css中,为aa添加两个伪类——

    .aa::before{
    display: inline-block;
    content: '[';
    transform: translateX(30px);
    opacity: 0.1;

    }
    .aa::after{
    display: inline-block;
    content: ']';
    transform: translateX(-30px);
    opacity: 0.1;

    }

    仅仅是这样就足够了,可以看到每一个aa 的div前后都有了括号(调一下opacity可以看的更清楚)。

    如果需要动态效果,也只需要——

    .aa::before,.aa::after{
    transition-property: transform opacity ;
    transition-duration: 0.8s;
    transition-timing-function: linear;
    }

    .aa:hover::before,:hover::after{
    transform: rotateX(0);
    opacity: 1;
    }

    便可以轻松愉快的搞定了。

    较为注意的是,使用transfrom:rotateX的时候,如果它们不是行内元素就可能无效。

    还有,如果content属性不写的话,是不会有东西出来的。

  • 相关阅读:
    SharePoint开发
    SharePoint开发
    win32-如何识别哪个静态控件被点击
    win32
    win32-创建透明的图片按钮
    读取位图文件
    python--获得特定程序的屏幕截图并保存为文件
    win32--GetFileAttributes
    谈一下交换值之后并不能返回预料的结果
    链表--insert
  • 原文地址:https://www.cnblogs.com/thestudy/p/5601820.html
Copyright © 2011-2022 走看看