css下拉菜单出现下划线,简单带下划线跟随效果的CSS3下拉菜单特效
简要教程
这是一款使用纯CSS3制作的带下划线跟随效果的下拉菜单特效。该下拉菜单通过CSS3 transform和transition来制作下划线跟随效果和下拉菜单效果。
使用方法
HTML结构
该下拉菜单使用元素来包裹一个无序列表。
- 主页
- 关于我们
- 项目分类
- scss
- jquery
- html
- 联系我们
CSS样式
整个菜单ul#mian的定位方式采用相对定位方式。display显示为内联块级元素。菜单项通过padding来设置尺寸,并设置最小宽度min-width为120像素。#main {
position: relative;
list-style: none;
background: #6BBE92;
font-weight: 400;
font-size: 0;
text-transform: uppercase;
display: inline-block;
padding: 0;
margin: 50px auto;
}
#main li {
font-size: 0.8rem;
display: inline-block;
position: relative;
padding: 15px 20px;
cursor: pointer;
z-index: 5;
min-width: 120px;
}
li {
margin: 0;
}
在HTML结构中,ul.drop是下拉菜单组件。它的定位方式采用绝对定位。它里面的p元素使用translate函数在Y轴上移动-100%,使它隐藏起来(.drop上使用了overflow:hidden)。.drop {
overflow: hidden;
list-style: none;
position: absolute;
padding: 0;
width: 100%;
left: 0;
top: 48px;
}
.drop p {
-webkit-transform: translate(0, -100%);
-moz-transform: translate(0, -100%);
-ms-transform: translate(0, -100%);
transform: translate(0, -100%);
-webkit-transition: all 0.5s 0.1s;
-moz-transition: all 0.5s 0.1s;
-ms-transition: all 0.5s 0.1s;
transition: all 0.5s 0.1s;
position: relative;
}
.drop li {
display: block;
padding: 0;
width: 100%;
background: #3E8760 !important;
}
#marker是下划线元素。它也使用绝对定位。并为所有动画设置了0.35秒的动画过渡效果。#marker {
height: 6px;
background: #3E8760 !important;
position: absolute;
bottom: 0;
width: 120px;
z-index: 2;
-webkit-transition: all 0.35s;
-moz-transition: all 0.35s;
-ms-transition: all 0.35s;
transition: all 0.35s;
}
在鼠标滑过菜单项#main li元素时,根据nth-child来判断当前鼠标滑过哪个菜单项。然后将该菜单项中的子菜单的Y轴位置恢复为0,显示下拉菜单,同时根据不同的菜单项来设置translate函数的X方向移动值来移动下划线。#main li:nth-child(1):hover ul p {
-webkit-transform: translate(0, 0);
-moz-transform: translate(0, 0);
-ms-transform: translate(0, 0);
transform: translate(0, 0);
}
#main li:nth-child(1):hover ~ #marker {
-webkit-transform: translate(0px, 0);
-moz-transform: translate(0px, 0);
-ms-transform: translate(0px, 0);
transform: translate(0px, 0);
}
#main li:nth-child(2):hover ul p {
-webkit-transform: translate(0, 0);
-moz-transform: translate(0, 0);
-ms-transform: translate(0, 0);
transform: translate(0, 0);
}
#main li:nth-child(2):hover ~ #marker {
-webkit-transform: translate(120px, 0);
-moz-transform: translate(120px, 0);
-ms-transform: translate(120px, 0);
transform: translate(120px, 0);
}
#main li:nth-child(3):hover ul p {
-webkit-transform: translate(0, 0);
-moz-transform: translate(0, 0);
-ms-transform: translate(0, 0);
transform: translate(0, 0);
}
#main li:nth-child(3):hover ~ #marker {
-webkit-transform: translate(240px, 0);
-moz-transform: translate(240px, 0);
-ms-transform: translate(240px, 0);
transform: translate(240px, 0);
}
#main li:nth-child(4):hover ul p {
-webkit-transform: translate(0, 0);
-moz-transform: translate(0, 0);
-ms-transform: translate(0, 0);
transform: translate(0, 0);
}
#main li:nth-child(4):hover ~ #marker {
-webkit-transform: translate(360px, 0);
-moz-transform: translate(360px, 0);
-ms-transform: translate(360px, 0);
transform: translate(360px, 0);
}
以上就是简单带下划线跟随效果的CSS3下拉菜单特效的内容,更多相关内容请关注PHP中文网(www.php.cn)!
相关文章:
css下拉菜单出现下划线,简单带下划线跟随效果的CSS3下拉菜单特效相关推荐
- css下拉菜单出现下划线,超帅的CSS菜单导航(当前项带下划线)
当前项带下划线的标准CSS菜单-www.mb5u.com 网页殊效 网站说明 模板无忧 网页代码 编程资源 精品脚本 ASP源代码 PHP源代码 EXT实例
- html炫酷的导航栏效果,纯CSS3创意导航菜单特效
这是一款非常有创意的纯CSS3导航菜单特效.该导航菜单主要通过CSS3 transform和transition方法实现效果,非常简单.该特效由進擊的燊提供. 使用方法 HTML结构 该导航菜单使用一 ...
- css波纹波动效果,js+css3催眠波纹动画特效
js代码 function getRandomNumber() { return Math.floor(Math.random() * 255); } function getBrightness(r ...
- html下拉折叠菜单,原生Js_实现简单的下拉折叠菜单(添加弹出动画效果)
用javascript实现简单的下拉折叠菜单 Gary_js实现简单的下拉折叠菜单 *{margin:0px; padding:0px;} #div1 {width:200px; margin:0 a ...
- JS实现点击按钮图片左右切换、点击图片按钮出现下拉菜单
前天帮人做个网页作业,大概要求就是使用两个按钮控制图片的切换,在页面右上角出现一个图片按钮,点击这个按钮出现下拉菜单. 第一个要求还是很简单的,第二个多花了我几个小时的时间,因为我只做过select下 ...
- html单击出现下拉菜单,*OnClick实现点击主菜单时出现下拉菜单,已实现但是有问题,求助!*...
1.点击"按类别查看宝贝"时,下拉菜单出现了,怎样在点击空白处或者点击"按类别查看宝贝"时,让下拉菜单消失? 2.怎么解决定位问题:如果把我这段代码放到总代码里 ...
- 一个WinForm记事本程序(包含主/下拉/弹出菜单/打开文件/保存文件/打印/页面设置/字体/颜色对话框/剪切版操作等等控件用法以及记事本菜单事件/按键事件的具体代码)...
(一).说明 功能类似Windows 操作系统自带的记事本. 一个WinForm记事本程序(包含主/下拉/弹出 菜单/打开保存对话框等控件用法以及记事本菜单事件的具体代码) (二).图片示例 (三) ...
- 个人HTML期末大作业~ 个人网页(HTML+CSS)6页面带下拉特效~简单带表格带设计说明 ~学生网页设计作业源码
HTML期末大作业~ 个人网页6页面带下拉特效~简单带表格带设计说明 ~学生网页设计作业源码 作品介绍 下面介绍一下我的个人小网站吧,我的网站背景稍微单调一点白色,主要个人比较喜欢白色了,布局上面使用 ...
- 个人HTML期末大作业~ 个人网页(HTML+CSS)6页面带下拉特效~简单带表格带设计说明 ~学生网页设计作业源码...
HTML期末大作业~ 个人网页6页面带下拉特效~简单带表格带设计说明 ~学生网页设计作业源码 作品介绍 下面介绍一下我的个人小网站吧,我的网站背景稍微单调一点白色,主要个人比较喜欢白色了,布局上面使用 ...
最新文章
- SQL2008R2 express版本不支持维护计划
- centos7 各版本区别 DVD Netinstall Everything Minimal GnomeLive KdeLive
- 参数化查询(简单举例)
- Aurora公式编辑器在64位Word 2013不显示选项卡
- 在springboot中使用easyexcel导出数据excel表格
- MFC模态窗口与非模态窗口
- 更轻易地实现 Jwt Token
- php大马源码 手机网页,php大马源码:【百家号】脸书百科,分析 PHP大马-php_mof SHELL Web程序...
- 【mysql】Innodb三大特性之double write
- cad多个窗口并排显示_你早该这么做!并排查看Excel工作表其实一个小动作就搞定!...
- python中的try与if,python中if和try的区别是什么
- 【服务端渲染】NuxtJS基础
- 【Spark大数据处理】动手写WordCount
- iPhone 12 Pro可能加入激光雷达传感器 摄像头布局将调整
- #6282. 数列分块入门 6
- 初识IOS,Label控件的应用。
- mydbtest文档
- 原理图端口符号_电气的原理图和接线图的区别,今天终于弄明白了!
- 企业实战——Ansible自动化运维基础知识
- Android连接蓝牙打印机
热门文章
- (五)A股市盈率下降近三成
- el-select组件设置focus时placeholder的文字提示
- 创维电视linux系统怎么连接wifi,创维电视怎么连接wifi
- [计算机视觉]-经典网络inception v1、v2、v3、v4核心工作详解及总结
- 中国武术高手要在郑州开比武大会?还请了马云做裁判?
- 什么是CUDA与CUDNN
- Editplus文件在linux下乱码,EditPlus中文乱码怎么办-解决EditPlus中文出现乱码的方法 - 河东软件园...
- SCANDISK命令详解与使用方法
- Fiddler的下载与基本使用方法
- 《爆款文案》写文案只需要四个步骤