JavaWeb学习之路(52)–CSS应用实例之下拉菜单

简介: 本文目录1. 前言2. 开发过程2.1 HTML元素组成2.2 设定按钮样式2.3 设置菜单区域样式2.4 设置菜单中链接样式2.5 设置下拉菜单样式3. 小结

1. 前言

下拉菜单也是使用频率很高的网页控件,例如百度首页上方的【设置】按钮就是一个下拉菜单,当我们的鼠标指向该按钮时,会弹出下拉菜单。


本篇我们就通过CSS来一步一步编写一个简单的下拉菜单。


2. 开发过程

2.1 HTML元素组成

首先我们确定下HTML元素部分,有一个按钮button,然后按钮下面是菜单区域div,菜单区域包含多个链接a。然后下拉菜单作为一个整体,我们用一个div包裹起来。所以HTML代码如下:


<body>

   <div class="dropdown">

       <button class="dropdown-button">下拉菜单</button>

       <div class="dropdown-menu">

           <a href="#">菜单1</a>

           <a href="#">菜单2</a>

           <a href="#">菜单3</a>

       </div>

   </div>

</body>


其中drowdown表示下拉菜单,dropdown-button表示按钮,dropdown-menu表示菜单区域。此时由于尚未编写任何CSS样式代码,效果如下:



2.2 设定按钮样式

我们一步一步来处理下拉菜单,首先编写按钮的样式,代码如下,注意看注释:


    /* 按钮样式 */

 .dropdown-button {

           /* 颜色采用之前用过的百度蓝 */

           background-color: #4569FF;

           /* 字体采用白色 */

           color: white;

           /* 不要边框线 */

           border: none;

           /* 使用圆角 */

           border-radius: 8px;

           /* 将按钮撑的大一些 */

           padding: 8px;

       }


此时效果如下:


另外我们希望当鼠标悬停到下拉菜单区域时,按钮颜色能变化,这样有一个动态的效果,所以添加CSS代码:


 /* 当鼠标悬停于下拉菜单上方时,按钮样式 */

       .dropdown:hover .dropdown-button {

           background-color: blue;

       }


此时当鼠标移到下拉菜单上方时,颜色变化为更深的蓝色。



2.3 设置菜单区域样式

首先菜单区域默认应该是不显示的,然后应设定一个宽度和边框,让下拉菜单区域能够有一个好看的边界:


   /* 下拉菜单 */

       .dropdown-menu {

           /* 默认不显示 */

           display: none;

           /* 设置宽度 */

           width: 160px;

           /* 设置边框 */

           border: 2px solid #E5F1FB;

       }


此时效果如下:



当鼠标悬停到下拉菜单上方时,菜单区域应显示出来:


/* 鼠标悬停时,显示菜单区域 */

       .dropdown:hover .dropdown-menu {

           display: block;

       }


所以悬停时,效果如下:



2.4 设置菜单中链接样式

菜单中的超级链接应该是垂直排列,此时我们可以调整其盒模型为block,这样就独占一块了。另外链接字体设为黑色,并通过padding增大间距。


 /* 链接样式 */

       .dropdown-menu a {

           /* 换行 */

           display: block;

           /* 黑色字体 */

           color: black;

           /* 增大间距 */

           padding: 8px 12px;

           /* 去掉下划线 */

           text-decoration: none;

       }


此时效果如下:


然后我们再给鼠标悬停的链接增加一个选中效果:


  /* 链接悬停样式 */

       .dropdown-menu a:hover {

           /* 颜色值为按钮默认颜色,有呼应效果 */

           background-color: #4569FF

       }


悬停时,效果如下:



2.5 设置下拉菜单样式

还有一个非常重要的点,可能不容易发现,就是目前下拉菜单整体是一个div,它会占用一个块,也就是说整行的空间都被其占用。表现为鼠标移到下拉菜单右侧时,也会引发菜单区域展开。


但是我们实际希望下拉菜单,只占用看到的那些区域就OK,此时很简单,设置盒模型为inline-block即可,行内-块级元素,即占据空间,又不会引起换行。


 /* 整个下拉菜单 */

       .dropdown {

           display: inline-block;

       }


此时鼠标只有在下拉菜单上方,才会触发菜单区域展开。


3. 小结

下拉菜单已经做出来了,其实还不够完善,要做一个完美的网页控件,可能需要大量的工作,尚需努力!


相关文章
|
12天前
|
编解码 前端开发 UED
解密CSS单位:px、em、vh的区别与应用
解密CSS单位:px、em、vh的区别与应用
26 0
|
1月前
|
前端开发
css实现一级下拉菜单
css实现一级下拉菜单
13 1
|
1月前
|
XML 前端开发 数据格式
CSS应用
CSS应用
16 0
|
2月前
|
Web App开发 JSON 前端开发
Webpack【搭建Webpack环境、Webpack增加配置文件、Webpack中使用Loader、Webpack分离CSS文件 】(一)-全面详解(学习总结---从入门到深化)
Webpack【搭建Webpack环境、Webpack增加配置文件、Webpack中使用Loader、Webpack分离CSS文件 】(一)-全面详解(学习总结---从入门到深化)
51 0
N..
|
30天前
|
前端开发 开发者
CSS高级应用
CSS高级应用
N..
9 0
|
1月前
|
前端开发 JavaScript
jquery+css实现Tab栏切换的代码实例
jquery+css实现Tab栏切换的代码实例
17 0
|
1月前
|
前端开发 搜索推荐 JavaScript
编程笔记 html5&css&js 001 学习编程从网页开始
编程笔记 html5&css&js 001 学习编程从网页开始
|
2月前
|
前端开发 JavaScript
从零开始学习前端开发:HTML、CSS、JavaScript入门指南
【2月更文挑战第1天】本文将带领读者从零开始学习前端开发,介绍HTML、CSS和JavaScript的基础知识与应用,帮助读者快速入门前端开发领域。
64 1
|
2月前
|
前端开发 JavaScript API
|
2月前
|
前端开发 JavaScript 开发者
优化CSS重置过程:探索CSS层叠技术的应用与优势
这篇文章介绍了一种名为CSS层叠的技术,用于优化CSS重置过程。它解释了CSS重置的概念,即通过删除浏览器默认样式来确保在不同浏览器上呈现一致的外观。然后,它引入了CSS层叠技术,以更好地控制样式的层次结构和优先级。