css13---转载---只用css实现多级选单,下拉菜单

選單常見於我們的生活當中,通常用於整理一系列的指令,簡化複雜的程序,使介面看起來更加友善。當應用程式愈複雜,功能愈多時,通常會利用多級選單將類似的指令組織成一個子選單。

一般網頁常見到二級選單,利用 CSS 即可達成,有些會透過 JavaScript 增加更多效果,例如動畫、延遲等。多級選單一般常使用 JavaScript 達成,不過透過 CSS 也能做出簡單的多級選單。

###HTML


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21


<nav>

<ul>

<li><a href="">選單 1</a></li>

<li>

<a href="">選單 2</a>

<ul>

<li>

<a href="">選單 2-1</a>

<ul>

<li><a href="">選單 2-1-1</a></li>

<li><a href="">選單 2-1-2</a></li>

</ul>

</li>

<li><a href="">選單 2-2</a></li>

<li><a href="">選單 2-3</a></li>

</ul>

</li>

<li><a href="">選單 3</a></li>

<li><a href="">選單 4</a></li>

</ul>

</nav>

選單的 HTML 如上,所有的選單物件都是可點選的連結,理論上無限層級。

###CSS


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27


ul li {

position: relative; /* 使子選單依照母選單的座標顯示 */

}

/* 設定母選單的連結樣式 */

ul li a{

background: url(detail.png);

}

/* 當母選單下沒有子選單時,也就是說只有一個連結時,隱藏detail.png */

ul li a:only-child{

background: none;

}

ul li:hover > ul {

display: block; /* 滑鼠滑入母選單後,顯示子選單 */

}

/* 二級選單顯示於一級選單的正下方 */

ul ul {

position: absolute;

top: 100%;

list-style: none;

display: none;

}

/* 三級選單則顯示於二級選單的右方 */

ul ul ul {

position: absolute;

left: 100%;

top: 0;

}

這樣就完成了所有步驟,不需要繁複的 JavaScript,是不是很簡單呢?

时间: 2024-11-08 01:53:40

css13---转载---只用css实现多级选单,下拉菜单的相关文章

CSS+JS仿QQ面板风格的多级折叠下拉菜单

<html> <head> <title>CSS+JS仿QQ面板风格的多级折叠下拉菜单丨石家庄玻璃隔断|石家庄自动门</title> <style type="text/css"> *{ margin:0px; padding:0px; border:0px; } body{ font-size:12px; color:#333;text-align:center;} .mbox{background:#73C2FF; wid

jQuery cxSelect 多级联动下拉菜单

随着电商热门,这种多层次的互动更充分地体现在下拉菜单,最明显的是多级联动地址下拉选择,因此,这里是一个简单的分享 jQuery cxSelect 多级联动下拉菜单 cxSelect 它是基于 jQuery 多级联动菜单插件.它适用于各省.动菜单. 列表数据通过 AJAX 获取(须要在server环境执行),也能够使用变量自己定义,数据内容使用 JSON 格式. 提供国内省市县数据(数据来源:basecss/cityData Date: 2014.03.31) 个人一直都有习惯,当有新知识点须要学

纯CSS实现二级导航下拉菜单--css的简单应用

思想:使用css的display属性控制二级下拉菜单的显示与否.当鼠标移动到一级导航菜单的li标签时,显示二级导航菜单的ul标签.由于实现起来比较简单,所以在这里直接给出了参考代码. 1.纯CSS二级导航下拉菜单代码: 1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8" content="text/html" http

纯CSS实现的二级下拉菜单效果代码实例

纯CSS实现的二级下拉菜单效果代码实例:二级下拉是最为常用的效果之一,当前的此效果一般哟结合js实现,本章节介绍一个使用纯CSS实现的二级下拉菜单效果,希望能够给需要的朋友带来一定的帮助,不过此代码也有一点浏览器兼容问题,那就是在IE6中不兼容.代码如下: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="author" conten

纯css和js版下拉菜单

<!doctype html> <html> <head> <meta charset="utf-8"> <title>css版下拉菜单</title> <style type="text/css"> div,body,ul,li{padding:0;margin:0; list-style:none;} .all{width:550px; height:30px; backgrou

Css之导航栏下拉菜单

Css: /*下拉菜单学习-2017.12.17 20:17 added by ldb*/ ul{ list-style-type:none; margin:0; padding:0; overflow:hidden; background-color:#333; /*固定在顶部*/ /*position:fixed; top:0; width:100%;*/ } li{ float:left; } li a, .dropbtn { display:inline-block; color:whi

用纯css改变select的下拉菜单

select { /*Chrome和Firefox里面的边框是不一样的,所以复写了一下*/ border: solid 1px #000; /*很关键:将默认的select选择框样式清除*/ appearance:none; -moz-appearance:none; -webkit-appearance:none; /*在选择框的最右侧中间显示小箭头图片*/ background: url("http://ourjs.github.io/static/2015/arrow.png")

CSS 实践:实现下拉菜单的方法

基于display属性的切换. 将需要不可见的二级菜单ul元素的display元素设为none,当需要可见的时候改为block. .menu ul li ul { display: none; } .menu ul li:hover ul { display: block; width: 100px; position: absolute; }

2015.3.14(知乎首页仿写及纯CSS兼容IE6实现响应式下拉菜单)

昨晚写了一个知乎的首页练习,只完成了上半部分的练习.下半部分做了一个纯CSS的响应式下拉菜单(可以兼容IE6). 可以看出那个知乎两个大字下面的那行字是截图截下来的,有一点色差……代码如下: js的部分只用到了获取可视区域的宽度这一点. function setIndex() { var commonWidth = $(window).outerWidith; var commonWidth = $(window).outerHeight; $(".backTitle").css(&q