css - 导航条样式 由两边向中间聚拢
迷茫
迷茫 2017-04-17 13:42:32
[HTML讨论组]

1.一个样式问题 想要滑过导航的时候 导航上的线由两边向中间聚拢。我现在实现了的是由中间向两边扩散 是哪块写的不对了。
代码如下:

.nav-header li{
    float:left;
}
.nav-header a{
    display: block;
    float:left;
    padding:0 20px;
    color:#fff;
    position:relative;
}
.nav-header a:hover{

}
.nav-header a:before,.nav-header a:after{
    content:"";
    display: block;
    height: 3px;
    background:none;
    position:absolute;
    top:0;
    width:50%;
    transition:all .5s;
    
}
.nav-header a:before{
    left:50%;
}
.nav-header a:after{
    right:50%;
}
.nav-header a:hover:before{
    background: #fff;
    left:0;
}
.nav-header a:hover:after{
    background: #fff;
    right:0;
}

<ul class="nav-header">
            <li><a>首页</a></li>
            <li><a>首页2</a></li>
            <li><a>首页3</a></li>
        </ul>
迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

全部回复(2)
高洛峰
.nav-header a { overflow: hidden; }
.nav-header a:before { left: -50%; }
.nav-header a:after { right: -50%; }
高洛峰
.nav-header li{
    float:left;
}
.nav-header a{
    display: block;
    padding:0 20px;
    color:#fff;
    position:relative;
}
.nav-header a:before,
.nav-header a:after{
    content:"";
    height: 3px;
    background:none;
    position:absolute;
    top:0;
    width:0;
    transition:all .5s;
}
.nav-header a:before{
    left:0;
}
.nav-header a:after{
    right:0;
}
.nav-header a:hover:before,
.nav-header a:hover:after{
    background-color:#fff;
    width:50%;
}
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号