day19—纯CSS实现菜单列表下框跟随效果

转行学开发,代码100天——2018-04-04

今天看到一篇介绍利用CSS实现列表下跟随效果的设计文章,如下图,当鼠标滑过列表项时,要求该项内容下的黑色下边框线实现同方向的跟随移动。

其中,列表内容显而易见,如下

<ul>
        <li>这是</li>
        <li>一个很</li>
        <li>神秘的菜单</li>
        <li>光标移动过下划线</li>
        <li>跟随效果</li>
        <li>item1</li>
        <li>item2</li>
    </ul>

 在设计样式时,即时前面文章中介绍过的水平布局样式相似。

 无论时通过flex利器布局,还是float布局均可。但在尝试中并没有实现跟随效果,比照说明发现自己的程序中对<li>少了定位:position:relative属性设置。

所有跟随功能实现样式如下:

<style type="text/css">
    ul
    {
        /*display: flex;*/
        /*position: absolute;*/
        display: float;
    }
     li
     {
         display: inline;
         height: 30px;
         background-color: #ccc;
         list-style: none;
         position: relative;
         margin-left: 10px;
         border-bottom:0px solid #000;
         font-size: 12px;
     }
     li::before
     {
         content: "";
         position: absolute;
         top: 0;
         left: 100%;
         width: 0;
         height: 100%;
         border-bottom: 2px solid #000;
         transition: 0.2s all linear;

     }
     li:hover::before 
     {
        width: 100%;
        top: 0;
        left: 0;
        transition-delay: 0.1s;
        border-bottom-color: #000;
        transition: 0.2s all linear;
        cursor: pointer;
    }
    li:hover ~ li::before
    {
        left: 0;
    }    
    </style>

 在这里对定位方式,还是缺乏深入理解:其次对伪类的概念和应用缺少了解。

关于定位方式:

描述
absolute

生成绝对定位的元素,相对于 static 定位以外的第一个父元素进行定位。

元素的位置通过 "left", "top", "right" 以及 "bottom" 属性进行规定。

fixed

生成绝对定位的元素,相对于浏览器窗口进行定位。

元素的位置通过 "left", "top", "right" 以及 "bottom" 属性进行规定。

relative

生成相对定位的元素,相对于其正常位置进行定位。

因此,"left:20" 会向元素的 LEFT 位置添加 20 像素。

static默认值。没有定位,元素出现在正常的流中(忽略 top, bottom, left, right 或者 z-index 声明)。
inherit规定应该从父元素继承 position 属性的值。







转载于:https://www.cnblogs.com/allencxw/p/8735526.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值