请问用css3怎么实现下拉菜单,通俗易懂的代码可以吗?

html-css015

请问用css3怎么实现下拉菜单,通俗易懂的代码可以吗?,第1张

<!DOCTYPE html>

<html lang="en">

<head>

<meta charset="UTF-8">

<title>Title</title>

<style type="text/css">

/*隐藏下拉列表*/

.list{

display: none

}

/*鼠标移动显示下拉列表*/

.menu:hover .list{

display: block

}

</style>

</head>

<body>

<div class="menu">

<a href="#">下拉菜单</a>

<div class="list">

<ul>

<li>1</li>

<li>2</li>

<li>3</li>

</ul>

</div>

</div>

</body>

</html>

1,一般下拉菜单的二级菜单都是绝对定位的,绝对定位的元素脱离了常规流,所以不占位,他们会叠加在其他元素的上面或者下面

2,你可以把这里面的空格当作[内],也就是子孙元素的意思

#menu ul li ---- #menu 内的 ul 内的 li

#menu ul li:first-child a:hover:after ---- #menu 内的 ul 内的 li(并且是ul的第一个子元素) 内的 a 鼠标指向时 after

after/before 的意义在于,他们不存在在html文档中,但是又能被浏览器显示出来,因此,可以用来实现一些效果。

常用的例如:

~文字前面的icon,不用在html中插入多余的空元素,直接使用after或者before,前面后面随便插.......

~清除浮动

~为引用的文字加入引号

~画一些有意思的图标

原理hover,二级先设置样式是display:none,当一级的元素处于:hover鼠标移上的时候,二级的元素就display:block,二级就会显示出来了。

<li>一级

<ul>

<li>二级1</li>

<li>二级2</li>

<li>二级3</li>

</ul>

</li>

css

li{padding:0margin:0list-style:none}

li ul{display:none}

li:hover ul{display:block}

大概是这样,更齐全的代码,你问度娘要:CSS下拉菜单,可以找到纯CSS的或者JS,JQ的,