This time I will bring you a detailed explanation of the steps to create a CSS3 secondary navigation menu. What are the precautions for creating a CSS3 secondary navigation menu? Here is a practical case, let’s take a look.
If we want to realize the secondary navigation of the web page, we can use JS technology to dynamically display and hide the secondary menu. Of course, we can also use CSS technology to achieve it. And it is recommended to use CSS here because it is more efficient and smoother. Here we will introduce the dynamic display and hiding of secondary menus.
1 Structure
We mainly use ul li tags for the main body of general navigation
<body> <header> <!-- 一级导航开始 --> <nav> <ul class="menu"> <li> <a href="#">首页</a> </li> <li> <a href="#">产品</a> <!-- 二级导航开始 --> <ul class="submenu"> <li><a href="#">小程序</a></li> <li><a href="#">微信</a></li> <li><a href="#">企业站</a></li> </ul> <!-- 二级导航结束 --> </li> <li> <a href="#">服务</a> <!-- 二级导航开始 --> <ul class="submenu"> <li><a href="#">技术支持</a></li> <li><a href="#">产品外包</a></li> </ul> <!-- 二级导航结束 --> </li> <li><a href="#">关于我们</a></li> <li><a href="#">人才招聘</a></li> </ul> </nav> <!-- 一级导航结束 --> </header> </body>
2 Layout
Navigation layout, because the child elements must follow the parent elements, so select the positioning layout for the secondary menu. If you want multiple li to be displayed in one line, you need to float the li.
body{margin: 0; font-size: 14px; color: #666} ul,ol{margin: 0;padding: 0; list-style: none;} a {text-decoration: none; color: #666;} /*一级导航*/ /*背景色*/ ul.menu,ul.submenu { background-color: #ededed; } /*一级导航浮动*/ ul.menu::after { content: ''; display: block; clear: both; } ul.menu > li { float: left; width: 120px; line-height: 3em; height: 3em; text-align: center; cursor:pointer; } /*二级导航项分割线*/ ul.submenu { /*默认隐藏*/ display: none; } ul.submenu > li { border-bottom: 1px solid #fff; } /*内容区*/ .content { min-height: 800px; background-color: #fff; }
3. Secondary menu display special effects
When the cursor is placed on the navigation, the background color of the current element becomes darker and the font color becomes lighter.
If there is a secondary menu, display the secondary menu
In order to achieve the above two special effects, we can use the pseudo class selector (:hover) to capture the cursor hover operation. And use the pseudo-class selector (:hover) to select the secondary menu corresponding to the current menu
Use the following CSS to quickly implement this effect.
/*选中特效*/ ul.menu > li:hover { background-color: #666; } ul.menu > li:hover > a { color: #fff; } ul.menu > li:hover > ul.submenu { display: block; }
4. Animation
The display of the secondary menu in the above code is instantaneous. If you can provide a slow animation transition effect, of course it is no problem. Here you need to use animation to configure the animation, so you can write the animation frames yourself or seek support from a third-party code library (animate.css). Here I will use transparency to achieve this fade-in effect
/*动画帧*/ @keyframes fade { from { opacity: 0; } to { opacity: 1; } } /*基础动画样式*/ .animated { animation-duration: 1s; animation-fill-mode: both; } .fadeIn { animation-name: fade; animation-direction: normal; }
After the animation is defined, you can directly reference the animation style to ul.submenu. Note that if you are using animate.css, then the above steps will be omitted. Just use the good animation styles it provides.
<!-- 二级导航开始 --> <ul class="submenu animated fadeIn"> <li><a href="#">小程序</a></li> <li><a href="#">微信</a></li> <li><a href="#">企业站</a></li> </ul> <!-- 二级导航结束 -->
I believe you have mastered the method after reading the case in this article. For more exciting information, please pay attention to other related articles on the php Chinese website!
Recommended reading:
Detailed explanation of the use of H5 WebWorkers multi-thread development
CSS and media query to realize web page navigation function (attached Code)
The above is the detailed content of Detailed explanation of the steps to create CSS3 secondary navigation menu. For more information, please follow other related articles on the PHP Chinese website!