先来看一下效果: 1.基本效果就是这样的 ,鼠标悬停,下划线划入.鼠标离开,下划线划出 2.下划线的划入是有方向的,从左侧划入悬停,下划线由左向右伸长.从右侧划入,下划线由又往左伸长 实现思路 1.导航是由ul+li组成的,在这里显然li 的宽度是不固定的.所以,我们可能需要从 li 本身的宽度上做文章, 既然每个 li 的宽度不一定,那么它对应的下划线的长度,肯定是是要和他本身相适应的.所以 ,我们可以在li  hover  的时候,借助伪元素.将下划线作用到每个 li 的伪元素身上. 2.怎…
先上张图,如何使用纯 CSS 制作如下效果? 在继续阅读下文之前,你可以先缓一缓.尝试思考一下上面的效果或者动手尝试一下,不借助 JS ,能否巧妙的实现上述效果. OK,继续.这个效果是我在业务开发的过程中遇到的一个类似的小问题.其实即便让我借助 Javascript ,我的第一反应也是,感觉很麻烦啊.所以我一直在想,有没有可能只使用 CSS 完成这个效果呢? 定义需求 我们定义一下简单的规则,要求如下: 假设 HTML 结构如下: <ul> <li>不可思议的CSS</li…
话不多说先附上代码 <style> ul li { float: left; display: block; list-style: none; margin-left: 20px; border-bottom: 2 px black solid; position: relative; } ul li::before { content: ""; position: absolute; top: 0; left: 100%; width: 0; height: 100%;…
参考文章 <ul> <li>111</li> <li>2222</li> <li>3333333</li> <li>444444444</li> <li>555555555555</li> <li>66666666666666</li> </ul> ul,li { margin:; padding:; list-style: none; }…
神奇的 ~ 选择符 对于当前 hover 的 li ,其对应伪元素的下划线的定位是 left: 100%,而对于 li:hover ~ li::before,它们的定位是 left: 0. ul li { float: left; width: 20%; height: 60px; line-height: 60px; text-align: center; border-bottom: 0px solid #000; margin-right: 5%; cursor: pointer; pos…
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" con…
.nav-underline > *{/* 指定容器,里面可以是li.span等多样化的元素 */ display: inline-block; margin: -3px; padding: 10px 15px; position: relative; cursor: pointer; } .nav-underline > *::before {/* 通过伪元素实现下划线效果 */ content: ''; position: absolute; top: 0; left: 100%; wid…
css: ul { display: flex; position: absolute; width: 800px; top: 50%; left: 50%; transform: translate(-50%, -50%); list-style: none; } li { position: relative; padding: 20px; font-size: 24px; color: #000; line-height: 1; transition: 0.2s all linear; c…
HTML 结构如下: <ul> <li class="active">不可思议的CSS</li> <li>导航栏</li> <li>光标小下划线跟随</li> <li>PURE CSS</li> <li>Nav Underline</li> </ul> 导航栏目的 li 的宽度是不固定的 当从导航的左侧 li 移向右侧 li,下划线从左往右移动…
转行学开发,代码100天——2018-04-09 前面的学习笔记中记录过,利用:before和:after实现导航栏鼠标移动跟随效果,今天通过JavaScript代码实现同样的效果,以作对比. <!doctype html> <html> <head> <meta charset="utf-8"> <title>JavaScript实现导航栏底部引线跟随移动</title> <!--适应移动端--> &…