简要教程

这是一款使用纯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下拉菜单特效相关推荐

  1. css下拉菜单出现下划线,超帅的CSS菜单导航(当前项带下划线)

    当前项带下划线的标准CSS菜单-www.mb5u.com 网页殊效 网站说明 模板无忧 网页代码 编程资源 精品脚本 ASP源代码 PHP源代码 EXT实例

  2. html炫酷的导航栏效果,纯CSS3创意导航菜单特效

    这是一款非常有创意的纯CSS3导航菜单特效.该导航菜单主要通过CSS3 transform和transition方法实现效果,非常简单.该特效由進擊的燊提供. 使用方法 HTML结构 该导航菜单使用一 ...

  3. css波纹波动效果,js+css3催眠波纹动画特效

    js代码 function getRandomNumber() { return Math.floor(Math.random() * 255); } function getBrightness(r ...

  4. html下拉折叠菜单,原生Js_实现简单的下拉折叠菜单(添加弹出动画效果)

    用javascript实现简单的下拉折叠菜单 Gary_js实现简单的下拉折叠菜单 *{margin:0px; padding:0px;} #div1 {width:200px; margin:0 a ...

  5. JS实现点击按钮图片左右切换、点击图片按钮出现下拉菜单

    前天帮人做个网页作业,大概要求就是使用两个按钮控制图片的切换,在页面右上角出现一个图片按钮,点击这个按钮出现下拉菜单. 第一个要求还是很简单的,第二个多花了我几个小时的时间,因为我只做过select下 ...

  6. html单击出现下拉菜单,*OnClick实现点击主菜单时出现下拉菜单,已实现但是有问题,求助!*...

    1.点击"按类别查看宝贝"时,下拉菜单出现了,怎样在点击空白处或者点击"按类别查看宝贝"时,让下拉菜单消失? 2.怎么解决定位问题:如果把我这段代码放到总代码里 ...

  7. 一个WinForm记事本程序(包含主/下拉/弹出菜单/打开文件/保存文件/打印/页面设置/字体/颜色对话框/剪切版操作等等控件用法以及记事本菜单事件/按键事件的具体代码)...

    (一).说明 功能类似Windows 操作系统自带的记事本.  一个WinForm记事本程序(包含主/下拉/弹出 菜单/打开保存对话框等控件用法以及记事本菜单事件的具体代码) (二).图片示例 (三) ...

  8. 个人HTML期末大作业~ 个人网页(HTML+CSS)6页面带下拉特效~简单带表格带设计说明 ~学生网页设计作业源码

    HTML期末大作业~ 个人网页6页面带下拉特效~简单带表格带设计说明 ~学生网页设计作业源码 作品介绍 下面介绍一下我的个人小网站吧,我的网站背景稍微单调一点白色,主要个人比较喜欢白色了,布局上面使用 ...

  9. 个人HTML期末大作业~ 个人网页(HTML+CSS)6页面带下拉特效~简单带表格带设计说明 ~学生网页设计作业源码...

    HTML期末大作业~ 个人网页6页面带下拉特效~简单带表格带设计说明 ~学生网页设计作业源码 作品介绍 下面介绍一下我的个人小网站吧,我的网站背景稍微单调一点白色,主要个人比较喜欢白色了,布局上面使用 ...

最新文章

  1. SQL2008R2 express版本不支持维护计划
  2. centos7 各版本区别 DVD Netinstall Everything Minimal GnomeLive KdeLive
  3. 参数化查询(简单举例)
  4. Aurora公式编辑器在64位Word 2013不显示选项卡
  5. 在springboot中使用easyexcel导出数据excel表格
  6. MFC模态窗口与非模态窗口
  7. 更轻易地实现 Jwt Token
  8. php大马源码 手机网页,php大马源码:【百家号】脸书百科,分析 PHP大马-php_mof SHELL Web程序...
  9. 【mysql】Innodb三大特性之double write
  10. cad多个窗口并排显示_你早该这么做!并排查看Excel工作表其实一个小动作就搞定!...
  11. python中的try与if,python中if和try的区别是什么
  12. 【服务端渲染】NuxtJS基础
  13. 【Spark大数据处理】动手写WordCount
  14. iPhone 12 Pro可能加入激光雷达传感器 摄像头布局将调整
  15. #6282. 数列分块入门 6
  16. 初识IOS,Label控件的应用。
  17. mydbtest文档
  18. 原理图端口符号_电气的原理图和接线图的区别,今天终于弄明白了!
  19. 企业实战——Ansible自动化运维基础知识
  20. Android连接蓝牙打印机

热门文章

  1. (五)A股市盈率下降近三成
  2. el-select组件设置focus时placeholder的文字提示
  3. 创维电视linux系统怎么连接wifi,创维电视怎么连接wifi
  4. [计算机视觉]-经典网络inception v1、v2、v3、v4核心工作详解及总结
  5. 中国武术高手要在郑州开比武大会?还请了马云做裁判?
  6. 什么是CUDA与CUDNN
  7. Editplus文件在linux下乱码,EditPlus中文乱码怎么办-解决EditPlus中文出现乱码的方法 - 河东软件园...
  8. SCANDISK命令详解与使用方法
  9. Fiddler的下载与基本使用方法
  10. 《爆款文案》写文案只需要四个步骤