Bootstrap打造一个左侧折叠菜单的系统模板(一)

我来详细讲解一下"Bootstrap打造一个左侧折叠菜单的系统模板(一)"的完整攻略。此文章的攻略包含以下三部分:

1. 准备工作

在编写左侧折叠菜单前,需要先引入Bootstrap框架。打开网页http://getbootstrap.com/并按照引导指示下载所需文件即可。同时,该模板基于jQuery,所以也需要在页面中引入jQuery库:

<!-- jquery -->
<script src="http://cdn.bootcss.com/jquery/2.2.1/jquery.min.js"></script>
<!-- Bootstrap 核心 JavaScript 文件 -->
<script src="http://cdn.bootcss.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>

接着,在HTML文档中添加基础外框架代码:

<!DOCTYPE html>
<html>
<head>
    <title>Bootstrap折叠菜单模板</title>
    <meta charset="utf-8">
    <!-- Bootstrap 核心 CSS 文件 -->
    <link href="http://cdn.bootcss.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet">
    <!-- 自定义样式 -->
    <link href="css/style.css" rel="stylesheet">
</head>

<body>

<nav class="navbar navbar-default" role="navigation">
    <div class="container-fluid">
        <div class="navbar-header">
            <a class="navbar-brand" href="#">Bootstrap折叠菜单模板</a>
        </div>
    </div>
</nav>

<!-- 左侧折叠菜单 -->
<div id="sidebar-nav">
    <ul class="nav nav-list">
        <li class="active">
            <a href="#">
                <span class="glyphicon glyphicon-home"></span>
                <span>首页</span>
            </a>
        </li>
        <li>
            <a href="#">
                <span class="glyphicon glyphicon-th-large"></span>
                <span>分类</span>
                <span class="glyphicon glyphicon-chevron-down pull-right"></span>
            </a>
            <ul class="nav nav-list collapse">
                <li><a href="#">产品管理</a></li>
                <li><a href="#">订单管理</a></li>
            </ul>
        </li>
    </ul>
</div>

<!-- 内容区域 -->
<div id="content">
    <h1>Hello, world!</h1>
</div>

</body>
</html>

2. 左侧折叠菜单的实现

首先,在CSS中声明容器样式。该模板的左侧折叠菜单采用的是绝对定位布局,因为它需要与内容部分分别布局。

/* 容器样式开始 */
#sidebar-nav {
    position: fixed;
    top: 51px;
    bottom: 0;
    left: 0;
    z-index: 1000;
    padding: 0;
    overflow-x: hidden;
    overflow-y: auto;
    background-color: #f5f5f5;
    border-right: 1px solid #eee;
}
/* 容器样式结束 */

下一步是处理左侧导航的样式。在HTML中的制作,为了便于浏览器展开收缩,采用了“ul-li”标签的结构方式。

/* 导航样式开始 */
#sidebar-nav .nav > li {
    display: block;
    overflow: hidden;
    position: relative;
}
#sidebar-nav .nav > li > a {
    display: block;
    text-decoration: none;
    font-size: 14px;
    color: #333;
    padding: 10px 12px;
    position: relative;
    z-index: 2;
}
#sidebar-nav .nav > li > a:hover {
    text-decoration: none;
    background-color: #eee;
}
#sidebar-nav .nav > li > ul.nav-list {
    display: none;
    margin: 0;
    padding: 0;
    list-style: none;
    position: absolute;
    top: 0;
    left: 100%;
    z-index: 999;
    width: 100%;
}
#sidebar-nav .nav > li > ul.nav-list li > a {
    background-color: #eee;
    border-bottom: 1px solid #ddd;
    margin: 0;
}
#sidebar-nav .nav > li.active > ul.nav-list,
#sidebar-nav .nav > li > ul.nav-list:hover {
    display: block;
}
/* 导航样式结束 */

这段CSS代码设置了“ul-li”标签的各种样式,其中:

  • 导航样式开始中,#sidebar-nav .nav > li声明导航列表中的各个单独项,.nav > li > a声明具有超链接功能的导航链接的样式。这一段代码的关键点是#sidebar-nav .nav > li > a:hover,它实现了鼠标悬停时背景变化的效果。
  • 导航样式结束中,#sidebar-nav .nav > li > ul.nav-list声明展开后的二级导航的样式,其中position: absolute使得元素在文档流之外,而完全有序地展开。#sidebar-nav .nav > li.active > ul.nav-list实现了当鼠标滑过父级li元素时使得子元素完全展开。

接下来是折叠菜单按钮的制作。在Bootstrap的文档中,使用<button>标签,给它附上特定的class名即可实现此功能。

<button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#side-nav">
    <span class="icon-bar"></span>
    <span class="icon-bar"></span>
    <span class="icon-bar"></span>
</button>

3. 完整代码示例

<!DOCTYPE html>
<html>
<head>
    <title>Bootstrap折叠菜单模板</title>
    <meta charset="utf-8">
    <!-- Bootstrap 核心 CSS 文件 -->
    <link href="http://cdn.bootcss.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet">
    <!-- 自定义样式 -->
    <link href="css/style.css" rel="stylesheet">
</head>

<body>

<nav class="navbar navbar-default" role="navigation">
    <div class="container-fluid">
        <div class="navbar-header">
            <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#side-nav">
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
            </button>
            <a class="navbar-brand" href="#">Bootstrap折叠菜单模板</a>
        </div>
    </div>
</nav>

<!-- 左侧折叠菜单 -->
<div id="sidebar-nav">
    <ul class="nav nav-list">
        <li class="active">
            <a href="#">
                <span class="glyphicon glyphicon-home"></span>
                <span>首页</span>
            </a>
        </li>
        <li>
            <a href="#">
                <span class="glyphicon glyphicon-th-large"></span>
                <span>分类</span>
                <span class="glyphicon glyphicon-chevron-down pull-right"></span>
            </a>
            <ul class="nav nav-list collapse">
                <li><a href="#">产品管理</a></li>
                <li><a href="#">订单管理</a></li>
            </ul>
        </li>
    </ul>
</div>

<!-- 内容区域 -->
<div id="content">
    <h1>Hello, world!</h1>
</div>

<!-- jQuery (Bootstrap 的 JavaScript 插件需要引入 jQuery) -->
<script src="http://cdn.bootcss.com/jquery/2.2.1/jquery.min.js"></script>
<!-- 包括所有已编译的插件 -->
<script src="http://cdn.bootcss.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>

</body>
</html>

至此,Bootstrap打造一个左侧折叠菜单的系统模板就完成了。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Bootstrap打造一个左侧折叠菜单的系统模板(一) - Python技术站

(0)
上一篇 2023年6月9日
下一篇 2023年6月9日

相关文章

  • CSS中使用大于号[>]的含义及使用示例

    下面是关于“CSS中使用大于号[>]的含义及使用示例”的详细讲解。 什么是大于号[>]? 大于号[>]是CSS中的选择器,用于选择某个元素的子元素。它的含义是“选取下一级元素”,只选择该元素的直接子元素,而不选取后代元素。 如何在CSS中使用大于号[>]? 在CSS中使用大于号[>]的语法为: 父元素 > 子元素 { 属性…

    css 2023年6月9日
    00
  • 一文教你如何像导入JS模块一样导入CSS

    一文教你如何像导入JS模块一样导入CSS 在Web开发中,我们经常需要在HTML文件中导入CSS文件用来美化网页。传统的导入方式是在HTML中使用<link>标签进行导入,但有时候我们需要使用JavaScript来动态的导入CSS文件。这里我们将介绍如何像导入JS模块一样导入CSS文件的方法。 方法一:使用import语句 在ES6中,我们可以使…

    css 2023年6月10日
    00
  • 浏览器中的data类型的Url格式 data:image/png,data:image/jpeg!

    浏览器中的data类型的URL格式是一种特殊的URL格式,可以将数据编码为URL格式的字符串直接在页面中展示或引用。这种格式的URL以”data:”开头,后面跟着用逗号分隔的MIME类型和数据。 MIME类型 MIME类型是每个data类型URL中的必需项,它指定了数据的类型。MIME类型常见的有image/png、image/jpeg、text/plain…

    css 2023年6月10日
    00
  • CSS 透明度属性

    CSS 透明度属性是一种用于设置HTML网页元素的不透明程度的属性。下面是关于CSS透明度属性的完整攻略。 什么是CSS透明度属性 CSS透明度属性(opacity)是一种用于控制HTML元素的透明度的属性。它可以使元素变得半透明或完全透明。 CSS透明度属性的值可以是0到1之间的数字,其中0表示完全透明,1表示完全不透明。例如,设置元素的透明度为0.5将使…

    css 2023年6月10日
    00
  • 去掉checkbox边框的方法(css)

    去掉checkbox边框的方法(css)实际上是通过修改checkbox的样式来实现的。一般来说,checkbox的默认样式会显示一个方框,并带有一个边框。而如果我们想要去掉这个边框,则需要利用CSS来修改,具体方法如下: 1. 修改checkbox的边框 input[type=checkbox] { border: none; } 以上代码中,我们使用了C…

    css 2023年6月10日
    00
  • IE和Firefox下javascript的兼容写法小结

    IE和Firefox下Javascript的兼容写法小结 在编写Javascript代码时,我们需要确保它在不同浏览器下都能正确运行。然而,不同浏览器对Javascript的支持程度存在差异,所以必须了解不同浏览器的兼容性问题,同时掌握一些在各浏览器下都能正常工作的兼容写法。 下面将结合两个具体实例介绍在IE和Firefox下Javascript的兼容写法。…

    css 2023年6月10日
    00
  • js选择器全面解析

    下面我来详细讲解“js选择器全面解析”的完整攻略。 一、背景介绍 JavaScript选择器是JavaScript使用频率较高的一类操作之一,一般用于在HTML DOM上进行元素查询和操作。这种技术被广泛应用在前端开发中,可以使得页面操作更加灵活、便捷。 二、选择器类型 在JavaScript中,选择器分为多种类型,包括: 标签选择器:按标签名称查询元素 I…

    css 2023年6月9日
    00
  • Vue.js每天必学之过渡与动画

    Vue.js每天必学之过渡与动画 基本概念 在Vue.js中,过渡和动画是两个常用的效果。可以通过Vue内置的transition动画组件和CSS过渡来轻松地实现这些效果。 在Vue.js中,过渡是指在元素插入或删除时,在控制台视图中添加一些淡入淡出或滑入滑出的过渡效果。而动画是指在元素插入或删除时,在页面中添加一类时间轴动画效果。 使用transition…

    css 2023年6月9日
    00
合作推广
合作推广
分享本页
返回顶部