分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 运营维护

下拉列表:纯CSS实现+JS实现

发布时间:2023-09-06 01:45责任编辑:沈小雨关键词:CSS

  嗯……本着实践方能理解的思想,也为之后用的时候方便,做了下下拉列表的实现,果然动手才是真理啊!

HTML部分

  没有什么好说的,直接上代码吧:

<!DOCTYPE HTML><html><head> ???<meta charset="utf-8"/> ???<link type="text/css" rel="stylesheet" href="sheet.css"> ???<title>下拉列表</title></head><body> ?<div class="main"> ???<ul> ???????<li> ???????????<a href="">animal</a> ???????????<ul> ???????????????<li><a href="">dog</a></li> ???????????????<li><a href="">cat</a></li> ???????????????<li><a href="">fox</a></li> ???????????</ul> ???????</li> ?????????????????<li> ???????????<a href="">human</a> ???????????<ul> ???????????????<li><a href="">man</a></li> ???????????????<li><a href="">woman</a></li> ???????????</ul> ???????</li> ????????????<li> ???????????<a href="">flower</a> ???????????<ul> ???????????????<li><a href="">tulip</a></li> ???????????????<li><a href="">rose</a></li> ???????????</ul> ???????</li> ???</ul> ???<script type="text/javascript" src="downul.js"></script> ?</div></body></html>

CSS实现

  单纯的HTML代码还是比较单调的,首先对其样式进行修改,至少……能看得下去。

.main{ ???width:400px; ???margin:100px auto;}.main ul li{ ???list-style:none;}.main ul li a{ ???display:block; ???width:100%; ???height:40px; ???background:#999; ???font:20px/40px ""; ???text-align:center; ???color:#fff; ???margin-bottom:5px; ???text-decoration:none;}

.main ul li a:hover{
background:#666;
border-bottom:1px dashed #FF0000;
}

  这样下来之后,效果图就变成了:

  之后,我们先将二级列表进行隐藏:

.main ul li ul{ ???display:none;}

  这样的效果就是:

  可以看到,二级列表已经不显示了,我们达成了初步想法。那么,接下来,要实现下拉列表,即,当鼠标放在相应一级列表栏时,其对应的二级列表会显现。得知了需求,那样就好办了,一个简单的hover就可以了:

.main ul li:hover ul{ ???display:block;}

  这样,CSS的效果实现就完成了。

JS实现

  这个要比CSS稍微麻烦一点,需要用到函数了嘛,那么,先用CSS把模样做好,然后,隐藏与显示用JS实现。

  JS代码就直接写下啦:

function showUl(li){ ???var subMenu=li.getElementsByTagName("ul")[0]; ???subMenu.style.display="block"; ???}function hiddenUl(li){ ???var subMenu=li.getElementsByTagName("ul")[0]; ???subMenu.style.display="none"; ???}

  两个函数,一个用于显示,一个用于隐藏。

  接下来,在一级列表的<li>标签里写下调用函数的语句就行啦:

  

<li onMouseOver="showUl(this)" onMouseOut="hiddenUl(this)">

  这样达到的效果,和CSS的是一样的。

下拉列表:纯CSS实现+JS实现

原文地址:https://www.cnblogs.com/nicola-moon/p/8545226.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved