📜  Bootstrap 下拉菜单和响应式选项卡(1)

📅  最后修改于: 2023-12-03 15:29:39.031000             🧑  作者: Mango

Bootstrap 下拉菜单和响应式选项卡

Bootstrap是一个流行的前端框架,提供了多种UI组件使得开发者可以快速构建美观、响应式的网站。其中下拉菜单和响应式选项卡是常见的UI组件,下面将进行详细介绍。

Bootstrap 下拉菜单

下拉菜单是一种常见的UI组件,在Bootstrap中有完整的样式和交互支持。以下是创建一个基本的下拉菜单的栗子:

<div class="dropdown">
  <button class="btn dropdown-toggle" type="button" id="dropdownMenuButton" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
    下拉菜单
  </button>
  <div class="dropdown-menu" aria-labelledby="dropdownMenuButton">
    <a class="dropdown-item" href="#">菜单项1</a>
    <a class="dropdown-item" href="#">菜单项2</a>
    <a class="dropdown-item" href="#">菜单项3</a>
  </div>
</div>

其中,.dropdown是下拉菜单的父元素,包含了.dropdown-toggle(触发下拉菜单的按钮)和.dropdown-menu(下拉菜单的菜单项)。data-toggle="dropdown"表示点击按钮时呼出下拉菜单,aria-haspopup="true"aria-expanded="false"是为了增加无障碍性。

下拉菜单方向

在默认情况下,下拉菜单是向下的。但Bootstrap提供了多种下拉菜单的方向:向上、向左、向右。你可以使用类似于.dropup.dropleft.dropright的类完成相关设置。

<div class="dropdown dropleft">
  <button class="btn dropdown-toggle" type="button" id="dropdownMenuButton" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
    向左下拉菜单
  </button>
  <div class="dropdown-menu" aria-labelledby="dropdownMenuButton">
    <a class="dropdown-item" href="#">菜单项1</a>
    <a class="dropdown-item" href="#">菜单项2</a>
    <a class="dropdown-item" href="#">菜单项3</a>
  </div>
</div>
下拉菜单的触发方式

默认情况下,下拉菜单是通过点击触发。但Bootstrap还提供了鼠标悬浮触发和手势触发的方式,你可以在data-toggle处设置hoverclicktouch实现相关功能。

<div class="dropdown">
  <button class="btn dropdown-toggle" type="button" id="dropdownMenuButton" data-toggle="dropdown" data-toggle="hover" aria-haspopup="true" aria-expanded="false">
    悬浮下拉菜单
  </button>
  <div class="dropdown-menu" aria-labelledby="dropdownMenuButton">
    <a class="dropdown-item" href="#">菜单项1</a>
    <a class="dropdown-item" href="#">菜单项2</a>
    <a class="dropdown-item" href="#">菜单项3</a>
  </div>
</div>
更多属性

如果你需要更加定制化的下拉菜单,Bootstrap提供了各种有用的属性,例如:

  • .disabled:禁用下拉菜单
  • .dropdown-header:添加分组标题
  • .dropdown-divider:添加分割线

完整的下拉菜单的文档请参考Bootstrap官方网站。

响应式选项卡

选项卡是一种灵活的UI组件,可以在小屏幕设备上呈现紧凑型视图,也可以在大屏幕设备上呈现宽敞型视图。Bootstrap提供了完整的样式和交互支持,能够快速构建响应式选项卡。

以下是使用Bootstrap创建响应式选项卡的代码:

<ul class="nav nav-tabs" id="myTab" role="tablist">
  <li class="nav-item">
    <a class="nav-link active" id="home-tab" data-toggle="tab" href="#home" role="tab" aria-controls="home" aria-selected="true">选项卡1</a>
  </li>
  <li class="nav-item">
    <a class="nav-link" id="profile-tab" data-toggle="tab" href="#profile" role="tab" aria-controls="profile" aria-selected="false">选项卡2</a>
  </li>
  <li class="nav-item">
    <a class="nav-link" id="contact-tab" data-toggle="tab" href="#contact" role="tab" aria-controls="contact" aria-selected="false">选项卡3</a>
  </li>
</ul>
<div class="tab-content" id="myTabContent">
  <div class="tab-pane fade show active" id="home" role="tabpanel" aria-labelledby="home-tab">选项卡1的内容</div>
  <div class="tab-pane fade" id="profile" role="tabpanel" aria-labelledby="profile-tab">选项卡2的内容</div>
  <div class="tab-pane fade" id="contact" role="tabpanel" aria-labelledby="contact-tab">选项卡3的内容</div>
</div>

其中,.nav-tabs是选项卡的父元素,包含了.nav-item(选项卡)和.nav-link(选项卡链接)。选项卡内容需要放在.tab-content中,每个选项卡内容包含了一个.tab-pane

模式切换

Bootstrap提供了两种模式切换选项卡的方式:通过导航或下拉菜单。你可以使用.nav-tabs.nav-pills组合使用以实现不同的切换方式。

<!-- 导航切换 -->
<ul class="nav nav-tabs" id="nav-tab" role="tablist">
  <li class="nav-item">
    <a class="nav-link active" id="nav-home-tab" data-toggle="tab" href="#nav-home" role="tab" aria-controls="nav-home" aria-selected="true">选项卡1</a>
  </li>
  <li class="nav-item">
    <a class="nav-link" id="nav-profile-tab" data-toggle="tab" href="#nav-profile" role="tab" aria-controls="nav-profile" aria-selected="false">选项卡2</a>
  </li>
  <li class="nav-item">
    <a class="nav-link" id="nav-contact-tab" data-toggle="tab" href="#nav-contact" role="tab" aria-controls="nav-contact" aria-selected="false">选项卡3</a>
  </li>
</ul>
<!-- 下拉菜单切换 -->
<div class="dropdown">
  <button class="btn btn-secondary dropdown-toggle" type="button" id="dropdownMenuButton" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
    选择选项卡
  </button>
  <div class="dropdown-menu" aria-labelledby="dropdownMenuButton">
    <a class="dropdown-item" data-toggle="tab" href="#nav-home">选项卡1</a>
    <a class="dropdown-item" data-toggle="tab" href="#nav-profile">选项卡2</a>
    <a class="dropdown-item" data-toggle="tab" href="#nav-contact">选项卡3</a>
  </div>
</div>
更多属性

Bootstrap提供了多种有用的属性,例如:

  • .disabled:禁止选项卡
  • .dropdown-menu-right:将下拉菜单向右对齐
  • .fade:添加淡入淡出效果

完整的响应式选项卡的文档请参考Bootstrap官方网站。