Home >Web Front-end >CSS Tutorial >How to achieve secondary menu effect with css? Implementation of horizontal and vertical menus (code example)

How to achieve secondary menu effect with css? Implementation of horizontal and vertical menus (code example)

青灯夜游
青灯夜游Original
2018-09-12 16:07:5916778browse

This chapter will introduce to you how to achieve the secondary menu effect with css? Implementation of horizontal and vertical menus (code examples). Creating two different secondary menu effects through html css code has certain reference value. Friends in need can refer to it. I hope it will be helpful to you.

1. CSS implements horizontal secondary menu style

css implements horizontal secondary menu code:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title>二级菜单--水平</title>
		<style>
			*{margin: 0;padding: 0;}
	        .demo{background: red;width: 100%;height: 35px;}
	        nav{height: 35px;width: 1000px;margin: 0 auto;}
	        nav ul li{list-style-type:none;float: left}
	        nav ul li a{ text-decoration: none;display: block;width: 130px;line-height: 35px;text-align: center;color:white;font-fimily:微软雅黑;}
	        nav ul li ul li{float: none}
	        nav ul li ul li a{color:black}
	        nav ul li ul{display: none;}
	        nav ul li:hover ul{display: block;}
		</style>
	</head>
	<body>
		<div class="demo">
			<nav>
			    <ul>
			        <li><a href="#">菜单1</a>
			        <ul>
			            <li><a href="#">菜单1</a></li>
			            <li><a href="#">菜单1</a></li>
			            <li><a href="#">菜单1</a></li>
			            <li><a href="#">菜单1</a></li>
			        </ul>
			        </li>
			        <li><a href="#">菜单2</a>
			            <ul>
			                <li><a href="#">菜单2</a></li>
			                <li><a href="#">菜单2</a></li>
			                <li><a href="#">菜单2</a></li>
			            </ul>
			        </li>
			        <li><a href="#">菜单3</a>
			            <ul>
			                <li><a href="#">菜单3</a></li>
			                <li><a href="#">菜单3</a></li>
			                <li><a href="#">菜单3</a></li>
			                <li><a href="#">菜单3</a></li>
			            </ul>
			        </li>
			        <li><a href="#">菜单4</a>
			            <ul>
			                <li><a href="#">菜单4</a></li>
			                <li><a href="#">菜单4</a></li>
			                <li><a href="#">菜单4</a></li>
			            </ul>
			        </li>
			        <li><a href="#">菜单5</a>
			            <ul>
			                <li><a href="#">菜单5</a></li>
			                <li><a href="#">菜单5</a></li>
			                <li><a href="#">菜单5</a></li>
			                <li><a href="#">菜单5</a></li>
			                <li><a href="#">菜单5</a></li>
			            </ul>
			        </li>
			        <li><a href="#">菜单6</a>
			            <ul>
			                <li><a href="#">菜单6</a></li>
			                <li><a href="#">菜单6</a></li>
			                <li><a href="#">菜单6</a></li>
			                <li><a href="#">菜单6</a></li>
			            </ul>
			        </li>
			    </ul>
			</nav>
		</div>
	</body>
</html>

Rendering:

The mouse is not moved above:

How to achieve secondary menu effect with css? Implementation of horizontal and vertical menus (code example)

##The mouse is moved above menu 1:

How to achieve secondary menu effect with css? Implementation of horizontal and vertical menus (code example)

As can be seen from the above example, use the display attribute of css to control whether the secondary drop-down menu is displayed or not. When the mouse moves to the li tag of the first-level menu, the ul tag of the second-level menu is displayed.

Core code:

list-style-type:none - Remove dots.

float: left-float to the left to ensure that the first-level menu is displayed horizontally.

:hover - Used to select the element on which the mouse pointer is floating.

display:none-hide the second-level menu.

display:block - Displaying the link as a block element makes the entire link area clickable (not just the text) and also allows us to specify the width.

Hide the second-level menu first. When the mouse moves to the li tag of the first-level menu, the ul tag of the second-level menu is displayed.

2. CSS to implement vertical secondary menu style

css to implement vertical secondary menu code:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title>二级菜单--垂直</title>
		<style type="text/css">
			body { font-family: Verdana; font-size: 12px; line-height: 1.5; }
			img { border-style: none; }
			a { color: #000; text-decoration: none; }
			a:hover { color: #F00; }
			#menu { width: 200px; border: 1px solid #CCC; border-bottom:none;margin:50px auto;text-align: center;}
			#menu ul { list-style: none; margin: 0px; padding: 0px; }
			#menu ul li { background: #289CFF;color: #fff; padding: 0px 10px; height: 26px; line-height: 26px; border-bottom: 1px solid #CCC; position:relative; }
			#menu ul li ul { display:none; position: absolute; left: 200px; top: 0px; width:100px; border:1px solid #ccc; border-bottom:none; }
			#menu ul li ul li{background-color: #21B4BB}
			#menu ul li:hover{background-color: #21B4BB}
			#menu ul li:hover ul { display:block;}
		</style>
	</head>
	<body>
		<div id="menu">
			<ul>
				<li>
					<a href="">菜单1</a>
					<ul>
						<li>
							<a href="#">菜单1</a>
						</li>
					</ul>
				</li>
				<li>
					<a href="#">菜单2</a>
					<ul>
						<li>
							<a href="#">菜单2</a>
						</li>
						<li>
							<a href="#">菜单2</a>
						</li>
					</ul>
				</li>
				<li>
					<a href="#">菜单3</a>
					<ul>
						<li>
							<a href="#">菜单3</a>
						</li>
						<li>
							<a href="#">菜单3</a>
						</li>
						<li>
							<a href="#">菜单3</a>
						</li>
					</ul>
				</li>
			</ul>
		</div>
	</body>
</html>

Rendering:

The mouse is not moved above:

How to achieve secondary menu effect with css? Implementation of horizontal and vertical menus (code example)

The mouse is moved above menu 2:

How to achieve secondary menu effect with css? Implementation of horizontal and vertical menus (code example)

As can be seen from the above example, the display attribute of css is also used to control whether the secondary drop-down menu is displayed or not. When the mouse moves to the li tag of the first-level menu, the ul tag of the second-level menu is displayed.

Core code:

list-style-type:none - Remove dots.

:hover - Used to select the element on which the mouse pointer is floating.

display:none-hide the second-level menu.

display:block - Displaying the link as a block element makes the entire link area clickable (not just the text) and also allows us to specify the width.

position :relative/absolute--Positioning, so that the second-level menu is displayed next to the first-level menu.

Hide the second-level menu first. When the mouse moves to the li tag of the first-level menu, the ul tag of the second-level menu is displayed.

The above is the detailed content of How to achieve secondary menu effect with css? Implementation of horizontal and vertical menus (code example). For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn