三个CSS实现的下拉菜单

CSS实现三级下拉菜单分析 最近在帮同学写一个博客,由于他需要的栏目比较多,所以首页需要三级下拉菜单,从网上找一个,但是不可以直接用!由于前台没有写的太好,所以一些css代码没有看懂,所以我就分析了一下别人的代码,然后用到了自己的网站上,下面是我最后实现的效果。 下面分析一下我找的代码: 实现效果如下: 代码以及注释如下,一些标签的意思已在注释上标明: 主要思想:就是改变ul的display属性 一开始 阅读详情

三个CSS实现的下拉菜单

ONE....................................

HTML 代码:
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" >
<head>
<meta http-equiv="Content-Type" content="application/xhtml+xml; charset=UTF-8" />
<title> Drop Down Menu </title>
<style type="text/css">
body {font-size:1%; color:#fff;} /*get rid of the IE bug that prints the the end of the !doctype */
.menu {display:none;}
.holder {color:#000; width:90px; height:18px; display:block; background:#dca; border:1px solid #000; margin-right:1px; text-align:center; float:left; text-decoration:none; font-family:tahoma, vardana, arial, sans-serif; font-size:10px; line-height:18px; overflow:hidden;}
.holder:hover {height:auto; cursor:pointer;color:#fff; background:#000;}
a.inner, a.inner:visited {display:block; width:89px; height:18px; border-bottom:1px solid #000; text-decoration:none; color:#000; background:#eee;}
a.inner:hover {background:#add;}
p { color:#000; font-size:16px;}
</style>

<!--[if IE]>
<style type="text/css">
/*<![CDATA[*/
.holder {display:none;}
.menu {display:block;}
a.outer, a.outer:visited {color:#000; width:90px; height:18px; display:block; background:#dca; border:1px solid #000; margin-right:1px; text-align:center; float:left; text-decoration:none; font-family:tahoma, vardana, arial, sans-serif; font-size:10px; line-height:18px; overflow:hidden;}
a.outer:hover {color:#fff; background:#000; overflow:visible;}
a.outer:hover table {display:block; background:#eee; border-collapse:collapse;}
a.inner, a.inner:visited {display:block; width:88px; height:18px; border-bottom:1px solid #000; text-decoration:none; color:#000;font-family:tahoma, vardana, arial, sans-serif; font-size:10px; text-align:center;}
a.inner:hover {background:#add;}
/*]]>*/
</style>
<![endif]-->

</head>

<body>
<p>For another demo with page content see <a href="http://www.stunicholls.myby.co.uk/menus/drop_down.html" title="another demo">this page</a>

<div class="menu">
<a class="outer" href="page1.html">MENU 1
<table><tr><td>
<a class="inner" href="page1a.html">Page 1a</a>
<a class="inner" href="page1b.html">Page 1b</a>
<a class="inner" href="page1c.html">Page 1c</a>
<a class="inner" href="page1d.html">Page 1d</a>
<a class="inner" href="page1e.html">Page 1e</a>
</td></tr></table>
</a>

<a class="outer" href="page1.html">MENU 2
<table><tr><td>
<a class="inner" href="page2a.html">Page 2a</a>
<a class="inner" href="page2b.html">Page 2b</a>
<a class="inner" href="page2c.html">Page 2c</a>
<a class="inner" href="page2d.html">Page 2d</a>
</td></tr></table>
</a>
</div>

<div class="holder">
MENU 1<br />
<a class="inner" href="page1a.html">Page 1a</a>
<a class="inner" href="page1b.html">Page 1b</a>
<a class="inner" href="page1c.html">Page 1c</a>
<a class="inner" href="page1d.html">Page 1d</a>
<a class="inner" href="page1e.html">Page 1e</a>
</div>
<div class="holder">
MENU 2<br />
<a class="inner" href="page2a.html">Page 2a</a>
<a class="inner" href="page2b.html">Page 2b</a>
<a class="inner" href="page2c.html">Page 2c</a>
<a class="inner" href="page2d.html">Page 2d</a>
</div>
</body>
</html>

 

 

TWO....................................

HTML 代码:
<html xmlns="http://www.w3.org/1999/xhtml" lang="zh-CN">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>css菜单演示</title>

<style type="text/css">
<!--

*{margin:0;padding:0;border:0;}
body {
font-family: arial, 宋体, serif;
font-size:12px;
}

#nav {
line-height: 24px; list-style-type: none; background:#666;
}

#nav a {
display: block; width: 80px; text-align:center;
}

#nav a:link {
color:#666; text-decoration:none;
}
#nav a:visited {
color:#666;text-decoration:none;
}
#nav a:hover {
color:#FFF;text-decoration:none;font-weight:bold;
}

#nav li {
float: left; width: 80px; background:#CCC;
}
#nav li a:hover{
background:#999;
}
#nav li ul {
line-height: 27px; list-style-type: none;text-align:left;
left: -999em; width: 180px; position: absolute;
}
#nav li ul li{
float: left; width: 180px;
background: #F6F6F6;
}

#nav li ul a{
display: block; width: 156px;text-align:left;padding-left:24px;
}

#nav li ul a:link {
color:#666; text-decoration:none;
}
#nav li ul a:visited {
color:#666;text-decoration:none;
}
#nav li ul a:hover {
color:#F3F3F3;text-decoration:none;font-weight:normal;
background:#C00;
}

#nav li:hover ul {
left: auto;
}
#nav li.sfhover ul {
left: auto;
}
#content {
clear: left;
}

-->
</style>

<script type=text/javascript><!--//--><![CDATA[//><!--
function menuFix() {
var sfEls = document.getElementById("nav").getElementsByTagName("li");
for (var i=0; i<sfEls.length; i++) {
sfEls[i].onmouseover=function() {
this.className+=(this.className.length>0? " ": "") + "sfhover";
}
sfEls[i].onMouseDown=function() {
this.className+=(this.className.length>0? " ": "") + "sfhover";
}
sfEls[i].onMouseUp=function() {
this.className+=(this.className.length>0? " ": "") + "sfhover";
}
sfEls[i].onmouseout=function() {
this.className=this.className.replace(new RegExp("( ?|^)sfhover//b"),

"");
}
}
}
window.onload=menuFix;

//--><!]]></script>

</head>
<body>

<ul id="nav">
<li><a href="#">产品介绍</a>
<ul>
<li><a href="#">产品一</a></li>
<li><a href="#">产品一</a></li>
<li><a href="#">产品一</a></li>
<li><a href="#">产品一</a></li>
<li><a href="#">产品一</a></li>
<li><a href="#">产品一</a></li>
</ul>
</li>
<li><a href="#">服务介绍</a>
<ul>
<li><a href="#">服务二</a></li>
<li><a href="#">服务二</a></li>
<li><a href="#">服务二</a></li>
<li><a href="#">服务二服务二</a></li>
<li><a href="#">服务二服务二服务二</a></li>
<li><a href="#">服务二</a></li>
</ul>
</li>
<li><a href="#">成功案例</a>
<ul>
<li><a href="#">案例三</a></li>
<li><a href="#">案例</a></li>
<li><a href="#">案例三案例三</a></li>
<li><a href="#">案例三案例三案例三</a></li>
</ul>
</li>
<li><a href="#">关于我们</a>
<ul>
<li><a href="#">我们四</a></li>
<li><a href="#">我们四</a></li>
<li><a href="#">我们四</a></li>
<li><a href="#">我们四111</a></li>
</ul>
</li>

<li><a href="#">在线演示</a>
<ul>
<li><a href="#">演示</a></li>
<li><a href="#">演示</a></li>
<li><a href="#">演示</a></li>
<li><a href="#">演示演示演示</a></li>
<li><a href="#">演示演示演示</a></li>
<li><a href="#">演示演示</a></li>
<li><a href="#">演示演示演示</a></li>
<li><a href="#">演示演示演示演示演示</a></li>
</ul>
</li>
<li><a href="#">联系我们</a>
<ul>
<li><a href="#">联系联系联系联系联系</a></li>
<li><a href="#">联系联系联系</a></li>
<li><a href="#">联系</a></li>
<li><a href="#">联系联系</a></li>
<li><a href="#">联系联系</a></li>
<li><a href="#">联系联系联系</a></li>
<li><a href="#">联系联系联系</a></li>
</ul>
</li>

</ul>

</body>
</html>

 

Three.....................

HTML 代码:
<html xmlns="http://www.w3.org/1999/xhtml" lang="zh-CN">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<meta http-equiv="Content-Language" content="zh-CN" />
<title>横向下拉菜单</title>
<style type="text/css">
<!--
* {margin:0;padding:0;border:0;}

body {
font-family: arial, 宋体, serif;
font-size:12px;
}

#nav {
height: 24px; list-style-type: none; padding-left:200px;

line-height:24px;overflow:hidden;background:#999;
}

#nav a {
display: block; width: 80px; text-align:center;
}

#nav a:link {
color:#EEE; text-decoration:none;
}
#nav a:visited {
color:#EEE;text-decoration:none;
}
#nav a:hover {
color:#FFF;text-decoration:none;font-weight:bold;background:#CCC;
}

#nav li {
float: left; width: 80px;
}

#nav li ul {
line-height: 24px;
list-style-type: none;
text-align:left;
left: -999px;
width: 520px; //注意,这里一定要设置宽度;
position: absolute;
background:#CCC;
}

#nav li ul li{
float: left;width: 80px; //float就是子菜单横向的关键,可以继承父菜单而省略float
}

#nav li ul a{
display: block; width: 65px;text-align:left;padding-left:15px;
}

#nav li ul a:link {
color:#F1F1F1; text-decoration:none;
}
#nav li ul a:visited {
color:#F1F1F1;text-decoration:none;
}
#nav li ul a:hover {
color:#FFF;text-decoration:none;font-weight:normal;background:#C00;
}

#nav li:hover ul {
left:25%;
}

#nav li.sfhover ul {
left:25%;
}

#content {
clear: left;
}

-->
</style>

<script type=text/javascript><!--//--><![CDATA[//><!--
function menuFix() {
var sfEls = document.getElementById("nav").getElementsByTagName("li");
for (var i=0; i<sfEls.length; i++) {
sfEls[i].onmouseover=function() {
this.className+=(this.className.length>0? " ": "") + "sfhover";
}
sfEls[i].onMouseDown=function() {
this.className+=(this.className.length>0? " ": "") + "sfhover";
}
sfEls[i].onMouseUp=function() {
this.className+=(this.className.length>0? " ": "") + "sfhover";
}
sfEls[i].onmouseout=function() {
this.className=this.className.replace(new RegExp("( ?|^)sfhover//b"),

"");
}
}
}
window.onload=menuFix;

//--><!]]></script>
</head>
<body>

<ul id="nav">
<li><a href="#">菜单一</a>
<ul>
<li><a href="#">菜单一</a></li>
<li><a href="#">菜单一</a></li>
<li><a href="#">菜单一</a></li>
<li><a href="#">菜单一</a></li>
<li><a href="#">菜单一</a></li>
<li><a href="#">菜单一</a></li>
</ul>
</li>
<li><a href="#">菜单二</a>
<ul>
<li><a href="#">菜单二</a></li>
<li><a href="#">菜单二</a></li>
<li><a href="#">菜单二</a></li>
<li><a href="#">菜单二</a></li>
<li><a href="#">菜单二</a></li>
</ul>
</li>
<li><a href="#">菜单三</a>
<ul>
<li><a href="#">菜单三</a></li>
<li><a href="#">菜单三</a></li>
<li><a href="#">菜单三</a></li>
<li><a href="#">菜单三</a></li>
<li><a href="#">菜单三</a></li>
</ul>
</li>
<li><a href="#">菜单四</a>
<ul>
<li><a href="#">菜单四</a></li>
<li><a href="#">菜单四</a></li>
<li><a href="#">菜单四</a></li>
<li><a href="#">菜单四</a></li>
<li><a href="#">菜单四</a></li>
</ul>
</li>

<li><a href="#">菜单五</a>
<ul>
<li><a href="#">菜单五</a></li>
<li><a href="#">菜单五</a></li>
<li><a href="#">菜单五</a></li>
<li><a href="#">菜单五</a></li>
<li><a href="#">菜单五</a></li>
</ul>
</li>
<li><a href="#">菜单六</a>
<ul>
<li><a href="#">菜单六</a></li>
<li><a href="#">菜单六</a></li>
<li><a href="#">菜单六</a></li>
<li><a href="#">菜单六</a></li>
<li><a href="#">菜单六</a></li>
</ul>
</li>

</ul>
</div>

</body>
</html>

 
实现纯CSS的动态大型下拉菜单 htmltable {th, td {th {pre {简介:使用纯CSS技术打造的大型下拉菜单能够动态地展示复杂的网页导航结构,尤其适用于分类多的网站。这种菜单不依赖于JavaScript,因此能够提升加载速度和兼容性。它利用CSS3的高级选择器和过渡、动画等功能,结合基础概念如盒模型和定位技术,实现了在鼠标悬停时的平滑展开效果。菜单的设计包括基础的HTML结构、CSS样式定义、定位与浮动的设置、悬停效果触发以及响应式设计调整,确保了良好的用户体验和兼容性。 阅读详情

相关推荐

CSS实现的下拉菜单

一个用css实现的下拉菜单。 时间太久了,已经不知道原作者是谁了,贴出来拼凑下记忆。

ie6中[:hover] bug 解决方案一

ie6中只支持带href属性的标签的:hover效果,但用IE6的人群在中国还占有很大一个比例! 用js+css+html来解决方法之一:在JS中:function fnOver(thisId){    var thisClass = thisId.className;    var overCssF = thisClass;    if(thisClass.length>0){thisC

wucaijuan的专栏 666

css自定义select下拉框菜单【追梦版】

这个是我花了20分钟自己从设计图片,写CSS,到调整,来完成的一个自己认为很漂亮的自定义下来菜单,使用起来非常简单,只需外调一个css和一个js文件,页面中仍然按照原来的写标签,另外,只在IE6.0的版本上测试通过。貌似,图片无法上传上来,本想先让正在寻找的朋友看一看的,看来,只有先下载了,再说了,绝对漂亮,不要错过哟!

@mouseover不起作用,并没有触发

这是因为有阻止内部子元素的事件冒泡,加个.native就可以了。

changyana的博客 1968

INCA_ProF脚本教程

一、首先INCA软件是当前主流标定开发软件之一,尤其在动力系统控制器的标定中应用非常广泛;与此同时ProF编程脚本是INCA软件提供各种实用功能之一,使用者可根据需求编写ProF脚本语言对ECU闪存编程等各种自定义操作。 二、然而ProF脚本语言在ETAS的官网或其他网络上并没有专门的使用教程,通常只有ETAS技术支持人员提供的ProF Documentation文档或少量可参考的Demo案例,然而ProF Documentation文档仅涉及ProF语言的函数的操作说明,没有从全局的框架上介绍Pro

weixin_29389627的博客 1万+

别再到处找数据了!用Python+Tushare Pro免费获取A股行情、财务、龙虎榜数据(附完整代码)

本文详细介绍了如何使用Python和Tushare Pro免费获取A股行情、财务数据和龙虎榜数据,并构建本地金融数据仓库。通过完整的代码示例,帮助读者快速掌握金融数据接口的使用方法,提升量化分析效率。Tushare Pro作为免费、稳定的数据源,覆盖全面且API友好,是个人投资者的理想选择。

weixin_30596343的博客 617

onmousemove、onmouseenter、onmouseover 使用不生效问题,只作用于内部文字

omnousemove、onmouseenter、onmouseover 使用不生效问题当我们在项目中使用鼠标事件问题解决方法建议 当我们在项目中使用鼠标事件 js document.querySelector("#father").addEventListener('mousemove',(event) => { console.log(1) }) css .father { width: 300px; height: 100px border: 1px solid red; } html

fred8的博客 4160

别再死磕U-Net了!用PyTorch手把手教你搭建ResUnet,搞定医学图像分割(附完整代码)

本文详细介绍了如何利用PyTorch搭建ResUnet模型,通过引入残差连接解决医学图像分割中的梯度消失、特征退化和细节丢失问题。与传统U-Net相比,ResUnet在Dice系数和收敛速度上均有显著提升,特别适合处理脑部MRI等复杂医学图像。文章还提供了完整的代码实现和关键训练技巧,帮助开发者快速掌握这一先进技术。

weixin_42552637的博客 327

javascript事件问题

咱们都知道,在DOM事件模型中,有捕获和冒泡两个阶段,而在IE事件模型中,只有冒泡阶段。写在html里的事件响应函数只有在冒泡阶段才会被执行,如:            onmouseout="alert(out_span);">你好        1,当鼠标放到上面时,会只依次执行alert(world)、alert(hello

zhengb302的专栏 531

计算机考研复试面试常问问题 数据结构篇(下)

计算机考研复试面试常问问题 数据结构篇(下) 使用前需知(拒绝白嫖,如果对你有帮助,你只需点个赞就行): 注意:有人在闲鱼上盗卖我的资料,而且还有很多同学买了,请各位擦亮双眼,我是整理出来免费分享给大家的! 大家请多点赞和评论,这样后面的同学更容易百度到,不至于被人盗卖,我就不加水印影响大家使用了! 第一次整理,度不好控制,有不好的地方希望大家理解,后面可能会改进,造福今年之后的同学们! ...

程序员宝藏的博客 1万+

9、横向束流光学:原理、模拟与耦合效应

本文系统介绍了横向束流光学中的关键概念,包括色度、色散、发射度、动量压缩因子以及四维耦合效应。通过MATLAB代码详细演示了相关参数的计算与模拟流程,展示了粒子在加速器中的运动特性及其对束流稳定性的影响。同时,讨论了如何通过磁铁配置优化束流光学性能,为加速器的设计与优化提供了理论基础和实践指导。

resnet7explorer的博客 118

在ASP.Net中用了marquee的时候图片循环但是不能连续循环,请大家帮忙解决啊

<br /><marquee onmouseover="stop()" onmouseout="start()" direction="left" scrolldelay="200"><br />      <nobr><br />           <asp:DataList id="rptCase" runat="server" RepeatDirection="Horizontal"><br />               <ItemTemplate><br />                 

Sky_MTT的专栏 930

html简单下拉菜单

菜单的功能多种多样,这里提供给一个简单的下拉菜单的参考。 具体代码如下: html:<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title></title> <style type="text/css"> .dropbtn{ background-c

zww学习笔记 1万+

深度强化学习训练结果曲线绘制教程

使用python语言,只调用matplotlib库,绘制训练过程中保存的强化学习训练曲线。模仿经典论文中的训练曲线,多次训练取平均,并绘制出阴影区域。

加斯顿工程师的博客 910

【100%通过率】2024华为OD机试真题E卷 C++ 实现【栈数据合并/空栈压数】

向一个空栈压入正整数,每当压入一个整数时,执行以下规则(设: 栈顶至栈底整数依次编号为n1、n2...nx, n1为最新压入的整数)

MISAYAONE的博客 1553

html实现导航下拉菜单绝对定位,纯CSS导航下拉效果,神奇的定位与显示属性

导航下拉,大家首先想到的是用JS来做。或许是大家看到的下拉菜单演示,多是JS控制的下拉,导致从先入为主的意识上,误以为二级下拉是很难的东西,必须要会Javascript才能做。其实,一个简答的下拉效果,根本不需要JS也能做。比如,我目前在用的Yuan,以及之前用的趣儿等,所用的下拉,都是利用CSS来做,而且还是CSS2,兼容性也不错(除了IE6)。在分享CSS效果之前,我觉得,应该对当前的需求,做...

weixin_42315706的博客 2916

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

在水平下拉菜单和垂直下拉菜单之间随意切换的网页换肤程序

今天终于写完了一个可以水平下拉菜单和垂直下拉菜单之间随意切换的网页换肤程序,它综合应用了水平下拉菜单,垂直下拉菜单,网页换肤等技巧. 这个程序需要用到三个文件,一个是h.css,用作水平下拉菜单的样式文件,另一个是v.css,用作垂直下拉菜单的样式文件,最后一个就是包含下拉菜单内容的网页文档test.html. test.html文件内容: &lt;!DOCTYPE html PUBLIC ...

网站开发初中级代码参考-转载 106

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

CSS 实现下拉菜单效果实例解析

本文以一个简单的 HTML 与 CSS 下拉菜单示例为切入点,详细解析了组件的 HTML 结构、各部分 CSS 样式设定以及利用:hover实现的交互效果。通过这种纯 CSS 的实现方式,开发者可以快速构建出美观且响应迅速的交互组件,同时为后续更复杂的前端开发(如引入动画、增强点击效果)积累经验。希望这篇博客文章能帮助你更好地理解如何通过简单的 HTML 与 CSS 实现下拉菜单效果。

weixin_45474825的博客 3356

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

网页下拉菜单之CSS实现

网页下拉菜单的实现 一、什么是网页下拉菜单?                      网页下拉菜单就是多级菜单,最为简单的就是二级菜单,如下图所示:                 二、网页下拉菜单有那种实现方式?                       下拉菜单可以用CSS实现,也可以用JavaScript实现,还可以用JQuery实现。今天我们就来说一下简单用CSS实现下拉菜

Scarborough_Coral的博客 2万+

如何使用CSS实现一个下拉菜单

在现代网页设计中,下拉菜单(Dropdown Menu)是一个常见的UI组件,用于提供额外的导航选项或功能,而无需占用过多的屏幕空间。通过CSS,我们可以轻松地创建一个美观且功能齐全的下拉菜单。本文将详细介绍如何使用CSS来实现一个基本的下拉菜单,并通过多个示例帮助读者理解和应用这些技术。下拉菜单通常包含两个主要部分:首先,我们需要构建一个基本的下拉菜单结构: 代码解释 :包含整个导航菜单的标签。 :代表整个菜单列表。 :包含下拉菜单的菜单项。 :触发下拉菜单的链接。 :包含下拉菜单项的列表。 示例二:

一个做过前端开发的产品经理,经历过睿智产品的折磨导致脱发之后,励志要翻身"农奴"把歌唱,一边打入敌人内部一边持续提升自己,为我们广大开发同胞谋福祉,坚决抵制睿智产品折磨我们码农兄弟! 4483

如何使用CSS实现一个下拉菜单?

如何使用CSS实现一个下拉菜单?

商务合作欢迎私信我 6593

下拉菜单的实现,纯CSS实现下拉菜单 与 使用JS实现下拉菜单

下拉菜单的实现,纯css实现与js实现

judas_jia的博客 1991

CSS实现下拉菜单

1.知识点 定位postition 浮动float 展示display 2.实现效果 3.代码 <!DOCTYPE html> <html> <head> <title>下拉菜单</title> <meta charset="utf-8"> <style> ul { list-...

老徐的博客只有干货 2447

[CSS]CSS 下拉菜单

元素。使用容器元素 (如: ) 来创建下拉菜单的内容,并放在任何你想放的位置上。下拉菜单菜鸟教程 1菜鸟教程 2菜鸟教程 3

FL1768317420的博客 1253
上一篇: 实现基于Ajax的无限级菜单
下一篇: CSS静态页面的树形菜单
SmartJavaer
博客等级 码龄21年 13粉丝 37原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值