章节
问答
课签
笔记
评论
占位
占位

下拉菜单(基本用法)

小伙伴们注意,在Bootstrap框架中的下拉菜单组件是一个独立的组件,根据不同的版本,它对应的文件:

  ☑  LESS版本:对应的源码文件为 dropdowns.less

  ☑  Sass版本:对应的源码文件为 _dropdowns.scss

  ☑  编译后的Bootstrap版本:查看bootstrap.css文件第3004行~第3130行

在使用Bootstrap框架的下拉菜单时,必须调用Bootstrap框架提供的bootstrap.js文件。当然,如果你使用的是未编译版本,在js文件夹下你能找到一个名为“dropdown.js”的文件。你也可以调用这个js文件。不过在我们的教程中,我们统一调用压缩好的“bootstrap.min.js”文件:

<script src="//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.min.js"></script>

特别声明:因为Bootstrap的组件交互效果都是依赖于jQuery库写的插件,所以在使用bootstrap.min.js之前一定要先加载jquery.min.js才会生效果。

我们先来看官网上一个简单的示例:

<div class="dropdown">
<button class="btn btn-default dropdown-toggle" type="button" id="dropdownMenu1" data-toggle="dropdown">
下拉菜单
<span class="caret"></span>
</button>
<ul class="dropdown-menu" role="menu" aria-labelledby="dropdownMenu1">
   <li role="presentation"><a role="menuitem" tabindex="-1" href="#">下拉菜单项</a></li>
   …
   <li role="presentation" class="divider"></li>
   <li role="presentation"><a role="menuitem" tabindex="-1" href="#">下拉菜单项</a></li>
</ul>
</div>

使用方法:

在使用Bootstrap框架中的下拉菜单组件时,其结构运用的正确与否非常的重要,如果结构和类名未使用正确,直接影响组件是否能正常运用。我们来简单的看看:

1、使用一个名为“dropdown”的容器包裹了整个下拉菜单元素,示例中为:

<div class="dropdown"></div>

2、使用了一个<button>按钮做为父菜单,并且定义类名“dropdown-toggle”和自定义“data-toggle”属性,且值必须和最外容器类名一致,此示例为:

data-toggle="dropdown"

3、下拉菜单项使用一个ul列表,并且定义一个类名为“dropdown-menu”,此示例为:

<ul class="dropdown-menu">

任务

我来试试:完成下面任务

编写代码实现下拉菜单,效果图如下:


 

?不会了怎么办

参考代码如下:

<div class="dropdown">
  <button class="btn btn-default dropdown-toggle" type="button" id="dropdownMenu1" data-toggle="dropdown">
    选择你喜欢的水果
    <span class="caret"></span>
  </button>
  <ul class="dropdown-menu" role="menu" aria-labelledby="dropdownMenu1">
    <li role="presentation"><a role="menuitem" tabindex="-1" href="#">苹果</a></li>
    <li role="presentation"><a role="menuitem" tabindex="-1" href="#">香蕉</a></li>
    <li role="presentation"><a role="menuitem" tabindex="-1" href="#">梨</a></li>
    <li role="presentation"><a role="menuitem" tabindex="-1" href="#">桃</a></li>
  </ul>
</div> 
||
1
2
<!DOCTYPE HTML>
<html>
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
1
body{margin:50px
    ;padding
    :50px;}
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
提交
重置代码
||

请验证,完成请求

由于请求次数过多,请先验证,完成再次请求

加群二维码

打开微信扫码自动绑定

您还未绑定服务号

绑定后可得到

  • · 粉丝专属优惠福利
  • · 大咖直播交流干货
  • · 课程更新,问题答复提醒
  • · 账号支付安全提醒

收藏课程后,能更快找到我哦~

使用 Ctrl+D 可将课程添加到书签

邀请您关注公众号
关注后,及时获悉本课程动态

举报

0/150
提交
取消
全部 精华 我要发布

已采纳回答 / 3116ZY
你代码关于下拉菜单的部分是没有错的;可能是你引入文件错误的问题,建议检查:检查引入文件的路径是否正确相应的bootstrap.js版本是否和jQuery版本匹配检查引入文件的源码,'ctrl+F'搜索'dropdown',看是否有相关支持

最新回答 / qq_Extra
不用自己写,是bootstrap自带的,hover的时候有灰色背景

最新回答 / 好吃的蛋包饭
.caret {  display: inline-block;  width: 0;  height: 0;  margin-left: 2px;  vertical-align: middle;  border-top: 4px dashed;  border-top: 4px solid \9;  border-right: 4px solid transparent;  border-left: 4px solid transparent;}就是画了一个倒三角形

已采纳回答 / 慕哥5444286
因为包过期了 <script src="http://libs.baidu.com/jquery/1.9.0/jquery.js"></script><script src="//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.min.js"></script> 这两行代码换成<script src="http://libs.baidu.com/jquery/1.9.0/jquery.js"&g...

已采纳回答 / Jerps
bootstrap的下拉菜单,着重实现的是菜单功能如果要实现 点击后菜单文字的替换,需要自定义函数来实现

最新回答 / 慕函数5297628
版本的问题:低版本不支持部分功能,所以要换用高版本的。

已采纳回答 / 慕粉4175546
为了照顾残障人士,role是为了给一些特定的浏览工具,比如盲文浏览工具识别

最赞回答 / 心有猛虎_细嗅蔷薇
很简单,只需要给下拉菜单设置 display  属性。<...code...>通过上边的代码即可以实现 鼠标放上去,下拉直接显示出来

已采纳回答 / LockNum
方便贴上你的代码看看吗?有时候标签嵌套或者某个小符号打错了、class名称没拼对都有可能导致显示不出来

已采纳回答 / qq_纵横_8
Refused to load 这个是拒绝加载 http://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.min.js这个js你去下个本地的bootstrap.min.js 试试

已采纳回答 / 慕瓜1572830
这个是你到到时候用jq操控ul这个层的时候,例如想 让这个层消失时 使用的

已采纳回答 / Lynn_10
这个就是为了画下拉箭头,其他没有什么作用.caret是个类,在这个类里面,用css设置边框的样式,可以产生一个三角形

已采纳回答 / 滢芷
因为给的bootsrap框架链接地址已经无效了,可以到官方网站查看在线文档。

已采纳回答 / 来自火星的Mars
官方提供的运行环境有问题,你可以将源码拷贝到本地新建html 文件。然后将这一处改动,就可以看到效果了:<link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css"><link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css"&g...

最赞回答 / VanceLau
js引入链接失效<...code...>    有效地址
全部 我要发布
最热 最新
只看我的

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

账号登录 验证码登录

遇到问题
忘记密码

代码语言