CSS 下拉菜单

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>CSS 下拉菜单</title>
    <style>


        /* 下拉按钮样式 */
        button.dropbtn {
            background-color: #4CAF50;
            color: white;
            padding: 16px;
            font-size: 16px;
            border: none;
            cursor: pointer;
        }

        /* 容器 <div> - 需要定位下拉内容 */
        div.dropdown{
            position: relative;
            display: inline-block;
        }

        /* 下拉内容 (默认隐藏) */
        div.dropdown-content{
            display: none;
            position: absolute;
            background-color: #f9f9f9;
            min-width: 160px;
            box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
        }

        /* 下拉菜单的链接 */
        div.dropdown-content a{
            color: black;
            padding: 12px 16px;
            text-decoration: none;
            display: block;
        }
        /* 鼠标移上去后修改下拉菜单链接颜色 */
        div.dropdown-content a:hover{
            background-color:#f1f1f1;
        }

        /* 在鼠标移上去后显示下拉菜单 */
        div.dropdown:hover div.dropdown-content {
            display: block;
        }

        /* 当下拉内容显示后修改下拉按钮的背景颜色 */
        div.dropdown:hover button.dropbtn {
            background-color: #3e8e41;
        }


        /*下拉按钮*/
        button.dropbtn2{
            background-color: #4CAF50;
            color: white;
            padding: 16px;
            font-size: 16px;
            border: none;
            cursor: pointer;
        }

        /*容器 需要定位下拉内容*/
        div.dropdown2{
            position: relative;
            display: inline-block;
        }

        /*下拉内容*/
        div.dropdown-content2{
            display: none;
            position: absolute;
            right: 0;
            background-color: #f9f9f9;
            min-width: 160px;
            box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
        }

        /* 下拉菜单的链接 */
        div.dropdown-content2 a{
            color: black;
            padding: 12px 16px;
            text-decoration: none;
            display: block;
        }

        /* 鼠标移上去后修改下拉菜单链接颜色 */
        div.dropdown-content2 a:hover{
            background-color: #f1f1f1;
        }

        /* 在鼠标移上去后显示下拉菜单 */
        div.dropdown2:hover div.dropdown-content2{
            display: block;
        }

        /* 当下拉内容显示后修改下拉按钮的背景颜色 */
        div.dropdown2:hover button.dropbtn2{
            background-color: #3e8e41;
        }

        div.dropdown3{
            position: relative;
            display: inline-block;

        }

        div.dropdown-content3{
            display: none;
            position: absolute;
            background-color: #f9f9f9;
            min-width: 160px;
            box-shadow: 0px 8px 16px 0 rgba(0,0,0,0.2);
        }

        div.dropdown3:hover div.dropdown-content3{
            display: block;
        }

        div.desc{
            padding: 15px;
            text-align: center;
        }



        ul.ex1 {
            list-style-type: none;
            margin: 0;
            padding: 0;
            overflow: hidden;
            background-color: #333;
        }

        li.ex1 {
            float: left;
        }

        li.ex1 a, a.dropbtn4 {
            display: inline-block;
            color: white;
            text-align: center;
            padding: 14px 16px;
            text-decoration: none;
        }

        li.ex1 a:hover, div.dropdown4:hover, a.dropbtn4 {
            background-color: #111;
        }

        div.dropdown4 {
            display: inline-block;
        }

        div.dropdown-content4 {
            display: none;
            position: absolute;
            background-color: #f9f9f9;
            min-width: 160px;
            box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
        }

        div.dropdown-content4 a {
            color: black;
            padding: 12px 16px;
            text-decoration: none;
            display: block;
        }

        div.dropdown-content4 a:hover {background-color: #f1f1f1}

        div.dropdown4:hover div.dropdown-content4 {
            display: block;
        }






    </style>
</head>
<body>
<h2>下拉菜单</h2>
<div class="dropdown">
    <button class="dropbtn">下拉菜单</button>
    <div class="dropdown-content">
        <a href="CSS%20对齐.html">对齐</a>
        <a href="CSS%20布局(Overflow).html">布局</a>
        <a href="CSS%20伪类.html">伪类</a>
    </div>
</div>

<h2>下拉内容的对齐方式</h2>
<p>left 和 right 属性指定了下拉内容是从左到右或从右到左。</p>

<div class="dropdown2" style="float: left">
    <button class="dropbtn2">左</button>
    <div class="dropdown-content2" style="left: 0">
        <a href="#">菜鸟教程 1</a>
        <a href="#">菜鸟教程 2</a>
        <a href="#">菜鸟教程 3</a>
    </div>


</div>
<div class="dropdown2" style="float:right;">
    <button class="dropbtn2">右</button>
    <div class="dropdown-content2" style="right: 0">
        <a href="#">菜鸟教程 1</a>
        <a href="#">菜鸟教程 2</a>
        <a href="#">菜鸟教程 3</a>
    </div>
</div>


<br><br>
<h2>图片下拉</h2>
<div class="dropdown3">
    <img src="http://www.runoob.com/images/logo.png" alt="LOGO" width="336" height="69">
    <div class="dropdown-content3">
        <img src="http://www.runoob.com/images/logo.png" width="168" height="35">
        <div class="desc">学的不仅是技术,更是梦想</div>
    </div>


</div>


<h2>导航条下拉</h2>
<ul class="ex1">
    <li class="ex1"><a class="active" href="#home">主页</a></li>
    <li class="ex1"><a href="#news">新闻</a></li>
    <div class="dropdown4">
        <a href="#" class="dropbtn4">下拉菜单</a>
        <div class="dropdown-content4">
            <a href="#">链接 1</a>
            <a href="#">链接 2</a>
            <a href="#">链接 3</a>
        </div>
    </div>
</ul>

<h3>导航栏上的下拉菜单</h3>
<p>鼠标移动到 "下拉菜单" 链接先显示下拉菜单。</p>

</body>
</html>

<!--

基本下拉菜单
当鼠标移动到指定元素上时,会出现下拉菜单。

实例
<style>
.dropdown {
    position: relative;
    display: inline-block;
}

.dropdown-content {
    display: none;
    position: absolute;
    background-color: #f9f9f9;
    min-width: 160px;
    box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
    padding: 12px 16px;
    z-index: 1;
}

.dropdown:hover .dropdown-content {
    display: block;
}
</style>

<div class="dropdown">
  <span>Mouse over me</span>
  <div class="dropdown-content">
    <p>Hello World!</p>
  </div>
</div>

尝试一下 »
实例解析
HTML 部分:

我们可以使用任何的 HTML 元素来打开下拉菜单,如:<span>, 或 a <button> 元素。

使用容器元素 (如: <div>) 来创建下拉菜单的内容,并放在任何你想放的位置上。

使用 <div> 元素来包裹这些元素,并使用 CSS 来设置下拉内容的样式。

CSS 部分:

.dropdown 类使用 position:relative, 这将设置下拉菜单的内容放置在下拉按钮 (使用 position:absolute) 的右下角位置。

.dropdown-content 类中是实际的下拉菜单。默认是隐藏的,在鼠标移动到指定元素后会显示。
注意 min-width 的值设置为 160px。你可以随意修改它。
注意: 如果你想设置下拉内容与下拉按钮的宽度一致,可设置 width 为 100% ( overflow:auto 设置可以在小尺寸屏幕上滚动)。

我们使用 box-shadow 属性让下拉菜单看起来像一个"卡片"。

:hover 选择器用于在用户将鼠标移动到下拉按钮上时显示下拉菜单。

-->


©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,657评论 6 505
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,889评论 3 394
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,057评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,509评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,562评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,443评论 1 302
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,251评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,129评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,561评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,779评论 3 335
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,902评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,621评论 5 345
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,220评论 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,838评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,971评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,025评论 2 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,843评论 2 354

推荐阅读更多精彩内容

  • 基本下拉菜单 当鼠标移动到指定元素上时,会出现下拉菜单。 实例 .dropdown {position: rela...
    convertible阅读 1,048评论 0 1
  • .dropdown { position: relative; display: inline-block; } ...
    Thofarq阅读 164评论 0 0
  • 学习总结: 1、a:hover<> 鼠标滑过效果(应该类似js里面的onmouseover吧) 2、float:l...
    度京阅读 268评论 2 3
  • css内容: .head .nav-box,.search-box,.search-info,.ul-box{ ...
    feiai阅读 1,704评论 0 0
  • 首次发blog,本人小白,今天给大家分享一个CSS抽屉式下拉菜单,这是我从同学那里取得征求,稍作修改。代码相对简单...
    ming_2bc2阅读 2,249评论 0 0