码迷,mamicode.com
首页 > 其他好文 > 详细

下划线hover下动态出现技巧

时间:2018-08-26 22:05:27      阅读:286      评论:0      收藏:0      [点我收藏+]

标签:har   时间   over   block   第一个   定位   div   stat   css   

    酷炫的动画效果往往更能吸引眼球,下面我将分享纯CSS中,hover的时候出现下划线动态飞入的技巧。

1.下划线从左侧飞入:

div::before{
    content:"";
    width:50px;
    position:absolute;
  display:inline-block;
  border-bottom:1px solid red; bottom:0; left:-100px;} div:hover::before{ left:0; transition:all linear 1s;}

  步骤:首先是设置div为相对位置(relative,主要用于before子元素的定位。因为绝对位置的定位要求其父元素的position属性值不能为static,而relative优点在于能保留原来的位置,故选用relative)。

     其次通过伪元素before创建div元素下的第一个位置的子元素,设置其为绝对位置(absolute),同时修改其显示属性为行内块(display:inline-block;)。

       第三是设置伪元素before的位置,将其定位到div父元素的前面,同时设置div隐藏区域以外的区域(overflow:hidden;)

       第四是设置当div被hover时,伪元素before回到div父元素的最左侧,并设置持续时间。

    这样就完成了下划线在hover时从左侧并入。如果要从右侧出现,则只需把相应位置进行更新即可。

2.下划线从中间向两边伸出

div::before{
    content:"";
    width:0px;
    position:absolute;
  display:inline-block; border-bottom:0px solid red; bottom:0; left:50%; transition:all linear 1s;} div:hover::before{ left:0; width:50px; border-bottom-width:2px; }

  下划线从中间向两边伸出大部分与下划线从两边伸出相似,不同之处在于:

    首先设置子元素位置在中间,即left:50%,同时width:0px;

    其次hover时设置子元素位置右中间变到最左侧(即left:0;);同时设置子元素的宽度(即width:50px)。

   这样就能实现两个过程:一是下划线从中间向左侧整体移动,二是下划线向右侧延伸。

下划线hover下动态出现技巧

标签:har   时间   over   block   第一个   定位   div   stat   css   

原文地址:https://www.cnblogs.com/zhangzhiyong/p/9538936.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!