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:;
left: 100%;
width:;
height: 100%;
border-bottom: 2px solid #000;
transition: 0.2s all linear; }
li:hover::before
{
width: 100%;
top:;
left:;
transition-delay: 0.1s;
border-bottom-color: #000;
transition: 0.2s all linear;
cursor: pointer;
}
li:hover ~ li::before
{
left:;
}
</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 属性的值。 |
day19—纯CSS实现菜单列表下框跟随效果的更多相关文章
- [HTML/CSS]导航栏的下划线跟随效果
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- css实现导航栏下划线跟随效果
话不多说先附上代码 <style> ul li { float: left; display: block; list-style: none; margin-left: 20px; bo ...
- 纯CSS实现二级导航下拉菜单--css的简单应用
思想:使用css的display属性控制二级下拉菜单的显示与否.当鼠标移动到一级导航菜单的li标签时,显示二级导航菜单的ul标签.由于实现起来比较简单,所以在这里直接给出了参考代码. 1.纯CSS二级 ...
- 不可思议的纯CSS导航栏下划线跟随效果
先上张图,如何使用纯 CSS 制作如下效果? 在继续阅读下文之前,你可以先缓一缓.尝试思考一下上面的效果或者动手尝试一下,不借助 JS ,能否巧妙的实现上述效果. OK,继续.这个效果是我在业务开发的 ...
- [css]演示:纯CSS实现的右侧底部简洁悬浮效果
<!DOCTYPE HTML> <html> <head> <meta charset="utf-8"> <meta name ...
- 纯css实现Magicline Navigation(下划线动画导航菜单)
看别人网站的时候,看到一种导航菜单的动画,觉得很有意思,就仔细研究起来. 目前见过的动画有三种:水平下划线动画导航.水平背景动画导航.垂直动画导航,他们实现思路都是一样的,都是依赖 css3的同级通用 ...
- 纯css导航下划线跟随效果【转载】
css: ul { display: flex; position: absolute; width: 800px; top: 50%; left: 50%; transform: translate ...
- 纯CSS实现的右侧底部简洁悬浮效果
我们见过很多页面右侧浮动效果,最早有QQ联系面板,对联广告等,大多数都是基于Javascript实现的动态效果,今天我给大家分享一个只需要CSS结合DIV实现的右侧浮动效果. HTML 我们希望悬浮效 ...
- 纯CSS弹出层,城市切换效果
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/ ...
随机推荐
- [随笔重写] Python3 的深拷贝与浅拷贝
1. Python3 关于深浅拷贝的官方文档 文档地址:Python3.7.2 源码地址:lib/copy.py 2. 先说结论 深拷贝与浅拷贝是对复合对象而言的 深拷贝会构造一个新的复合对象,然后递 ...
- Visual Studio文件属性
Visual Studio文件属性主要用到的为:复制到输出目录和生成操作. 复制到输出目录根据选项就可以明白是标示该文件是否输出到生成的目录地址: 生成操作则主要指该文件在执行生成时对文件执行的何种操 ...
- Java中数据类型的分类
我们知道Java是强类型语言,那么肯定对应的也就有弱类型语言,以下介绍强类型语言与弱类型语言的区别: 强类型语言: 强类型语言也就是强制数据类型定义的语言.也就是说,一旦一个变量被指定了某个数据类型, ...
- java_第一年_JavaWeb(10)
JavaWeb的两种开发模式 JSP+JavaBean框架:JavaBean负责封装数据.提供方法,JSP负责处理用户请求和显示数据:只能开发较为简单的业务: JSP+JavaBean+Servlet ...
- Linux下CMake简明教程
转载地址:https://blog.csdn.net/whahu1989/article/details/82078563 CMake是开源.跨平台的构建工具,可以让我们通过编写简单的配置文件去生成本 ...
- P2517 [HAOI2010]订货(dp)
P2517 [HAOI2010]订货 设$f[i][j]$表示第$i$个月,库存为$j$的最小代价 枚举上个月的库存$k$,那么$f[i][j]=f[i-1][k]+(j+U[i]-k)*D[i]+j ...
- 【数据库运维】数据库(server)的时区设置及世界主要地区的时区
[时区设置不当会有什么问题] 当进行海外项目运维的时候,常常会遇到时区设置的问题.假设时区设置不当 或者 同样项目的server之间的时区不一致,都会有导致项目的数据异常的风险. 假设数据表的字段使用 ...
- Hls平台实现sobel算法(一)
索贝尔(Sobel)算子主要用于边缘检测,根据像素点的上下.左右邻点的灰度加权差与阈值进行比较,在边缘处达到极值的方法实现边缘检测. -------------序 一.原理性运行 流水线操作,将输入图 ...
- MyBatis联表查询——别名方式
在使用MyBatis你想工程时,单表操作其实是非常完美的,涉及到多表联合查询时,需要我们自己写联表的SQL语句. 我拿出项目中的部分代码作为示例, EmployeeMapper.xml: <?x ...
- paste - 合并文件各行
总览 (SYNOPSIS) ../src/paste [OPTION]... [FILE]... 描述 (DESCRIPTION) 连续 依次 从 各个 文件 FILE 中 读取 一行 然后 合并成 ...