Bootstrap01【前端开发框架】家居商城首页之导航&轮播图

简介: Bootstrap01【前端开发框架】家居商城首页之导航&轮播图

一.WWW

1.What?

①.诞生于2011年,来自Twitter公司,是目前最受欢迎的前端框架

②.是一个用于快速开发Web应用程序和网站的前端框架

③.Bootstrap是基于HTML、CSS、JS的,简洁灵活,使得Web开发更加快捷

概述:Bootstrap是一个建立一个页面,就可以在三个终端(PC端、平板、手机)上完美展示的响应式前端框架

2.Why?

①.响应式设计(Bootstrap的响应式CSS能够自适应台式机、平板电脑和手机)

②.移动设备优先

③.浏览器支持

④.容易上手

3.Where?

√企业网站、博客、后台、分类简单的电商之类的网站

×过于复杂的电商网站

二.环境安装

①.下载Bootstrap库  

 image.png

②.页面中引入库

  1. bootstrap.css:引入Bootstrap核心样式【添加到head标签中】
  2. jquery-3.3.1.js:先引入jQuery库【注意:必须在Bootstrap核心库引入之前引入jQuery库】
  3. bootstrap.js:再引入Bootstrap核心库

         2 和 3 必须【添加到</body>之前】

三.案例

案例1:查询按钮原生态实现对比Bootstrap方式实现

  • 布局容器  固定容器【class="container"】
  • 大屏幕(大桌面显示器,大于等于 1200px) lg( large)
  • 中等屏幕(桌面显示器,大于等于 992px)   md(middle)
  • 小屏幕(平板,大于等于 768px)  sm(small)
  • 超小屏幕(手机,小于 768px)  xs(extra small)
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>案例1:查询按钮原生态实现对比Bootstrap方式实现</title>
<!-- 支持手机端 -->
<meta name="viewport" content="width=device-width,initial-scale=1.0">
    <style>
        .aa{
            background-color: pink;/*背景颜色*/
            color: white;/*字体颜色*/
            border: 0px;/*无边框*/
            width: 60px;/*宽*/
            height: 40px;/*高*/
            border-radius: 5px;/*设置边框圆角*/
        }
    </style>
    <!-- 引入Bootstrap的CSS -->
    <link rel="stylesheet" href="CSS/bootstrap.css"/>
</head>
<body>
    <!-- 固定容器 -->
    <div class="container">
        <button class="aa">查询</button>
        <hr/>
        <button type="button" class="btn btn-outline-success">Success</button>
    </div>
    <!-- 先引入jQuery的类库 -->
    <script  src="js/jquery-3.6.4.js"></script>
    <!-- 再引入Bootstrap的类库 -->
    <script  src="js/bootstrap.js"></script>
</body>
</html>

案例3:首页导航原生态实现(div+css)

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>案例3:首页导航原生态实现(div+css)</title>
    <style>
        .aa{
            float:left;/*左浮动*/
            margin-left :50px;/*左间距*/
        }
        .bb{
            float:right;/*右浮动*/
            margin-right :50px;/*右间距*/
        }
        .dh{
            height: 50px;/*高度*/
            background-color: azure;/*背景颜色*/
            line-height: 50px;/*行高  垂直居中*/
        }
          .cc{
            font-weight: bold;  /*加粗*/
        }
        .bb a{
            margin-left: 5px;/*左间距*/
        }
    </style>
</head>
<body>
    <div class="dh">
        <div class="aa">你好,欢迎来到集美家居</div>
        <div class="bb">
            <a class="cc">首页</a>
            <a>分类</a>
            <a>登录</a>
            <a>注册</a>
            <a>我的购物车</a>
        </div>
    </div>
</body>
</html>

案例4:首页导航Bootstrap实现

  • 导航条组件的使用-Navbar
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>案例4:首页导航Bootstrap实现</title>
    <!-- 支持手机端 -->
    <meta name="viewport" content="width=device-width,initial-scale=1.0">
    <!-- 引入CSS -->
    <link rel="stylesheet" href="CSS/bootstrap.css" />
    <style>
        .navbar-collapse{
            /*1代表弹性扩大占用父容器剩余部分   0代表不占用*/
            flex-grow: 0;
        }
        .active{
            font-weight: bold;/*加粗*/
        }
    </style>
</head>
<body>
    <!-- 导航条 -->
    <nav class="navbar navbar-expand-lg navbar-light bg-light">
      <!-- 固定容器 -->
        <div class="container">
            <a class="navbar-brand" href="#">你好,欢迎来到集美家居</a>
            <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarNav"
                aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation">
                <span class="navbar-toggler-icon"></span>
            </button>
            <div class="collapse navbar-collapse" id="navbarNav">
                <ul class="navbar-nav"> 
                    <!-- active激活的 -->
                    <li class="nav-item active">
                        <a class="nav-link" href="#">首页<span class="sr-only">(current)</span></a>
                    </li>
                    <li class="nav-item">
                        <a class="nav-link" href="#">分类</a>
                    </li>
                    <li class="nav-item">
                        <a class="nav-link" href="#">登录</a>
                    </li>
                    <li class="nav-item">
                        <a class="nav-link ">注册</a>
                    </li>
                    <li class="nav-item">
                        <a class="nav-link ">我的购物车</a>
                    </li>
                </ul>
            </div>
        </div>
    </nav>
    <!-- 引入jQuery的类库 -->
    <!-- 再引入Bootstrap的类库 -->
    <script src="js/jquery-3.6.4.js"></script>
    <script src="js/bootstrap.js"></script>
</body>
</html>

案例5:首页轮播图实现&最新上架/热门家居框架搭建

  • 轮播组件-Carousel
  • 栅格系统
  • 概念:Bootstrap提供了一套响应式、移动设备优先的流式网格系统
    特点:会随着屏幕或视口(viewport)尺寸的增加,系统会自动分为最多12列

网格系统策略图

实现首页整体大致布局

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>案例5:首页轮播图实现&最新上架/热门家居框架搭建</title>
  <!-- 支持手机端 -->
  <meta name="viewport" content="width=device-width,initial-scale=1.0">
  <!-- 引入CSS -->
  <link rel="stylesheet" href="CSS/bootstrap.css" />
  <style>
    .navbar-collapse {
      /*1代表弹性扩大占用父容器剩余部分   0代表不占用*/
      flex-grow: 0;
    }
    .active {
      font-weight: bold;
      /*加粗*/
    }
    #carouselExampleCaptions {
      margin-top: 20px;
      /*上间距*/
    }
    .aa {
      border: solid red 2px;
    }
  </style>
</head>
<body>
  <!-- 导航条 -->
  <nav class="navbar navbar-expand-lg navbar-light bg-light">
    <!-- 固定容器 -->
    <div class="container">
      <a class="navbar-brand" href="#">你好,欢迎来到集美家居</a>
      <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarNav"
        aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation">
        <span class="navbar-toggler-icon"></span>
      </button>
      <div class="collapse navbar-collapse" id="navbarNav">
        <ul class="navbar-nav">
          <!-- active激活的 -->
          <li class="nav-item active">
            <a class="nav-link" href="#">首页<span class="sr-only">(current)</span></a>
          </li>
          <li class="nav-item">
            <a class="nav-link" href="#">分类</a>
          </li>
          <li class="nav-item">
            <a class="nav-link" href="#">登录</a>
          </li>
          <li class="nav-item">
            <a class="nav-link ">注册</a>
          </li>
          <li class="nav-item">
            <a class="nav-link ">我的购物车</a>
          </li>
        </ul>
      </div>
    </div>
  </nav>
  <!--轮播效果 -->
  <div class="container">
    <div id="carouselExampleCaptions" class="carousel slide" data-ride="carousel">
      <ol class="carousel-indicators">
        <li data-target="#carouselExampleCaptions" data-slide-to="0" class="active"></li>
        <li data-target="#carouselExampleCaptions" data-slide-to="1"></li>
        <li data-target="#carouselExampleCaptions" data-slide-to="2"></li>
      </ol>
      <div class="carousel-inner">
        <div class="carousel-item active">
          <img src="img/banner1.jpg" class="d-block w-100" alt="...">
          <div class="carousel-caption d-none d-md-block">
            <h5>雪王红红火火恍恍惚惚哈哈哈哈</h5>
            <p>Some representative placeholder content for the first slide.</p>
          </div>
        </div>
        <div class="carousel-item">
          <img src="img/banner2.jpg" class="d-block w-100" alt="...">
          <div class="carousel-caption d-none d-md-block">
            <h5>Second slide label</h5>
            <p>Some representative placeholder content for the second slide.</p>
          </div>
        </div>
        <div class="carousel-item">
          <img src="img/banner3.jpg" class="d-block w-100" alt="...">
          <div class="carousel-caption d-none d-md-block">
            <h5>Third slide label</h5>
            <p>Some representative placeholder content for the third slide.</p>
          </div>
        </div>
      </div>
      <button class="carousel-control-prev" type="button" data-target="#carouselExampleCaptions" data-slide="prev">
        <span class="carousel-control-prev-icon" aria-hidden="true"></span>
        <span class="sr-only">Previous</span>
      </button>
      <button class="carousel-control-next" type="button" data-target="#carouselExampleCaptions" data-slide="next">
        <span class="carousel-control-next-icon" aria-hidden="true"></span>
        <span class="sr-only">Next</span>
      </button>
    </div>
    <div class="row">
      <div class="col aa"  style="background-color: lightblue;">
        1 of 2
      </div> 
      <div class="col aa">
       <!-- 嵌套一行 -->
          <dvi class="row" >
                <div  class="col aa">1</div>
                <div  class="col aa">2</div>
                <div  class="col aa">3</div>
                <div  class="col aa">4</div>
          </dvi>
      </div>
    </div>
    <!-- 大PC一行4列  中PC一行3列  平板端一行2列  手机端一行一列 -->
    <!-- <div class="container">
        <div class="row">
          <div class="aa col-lg-3 col-md-4 col-sm-6">
            One of three columns
          </div>
          <div class="aa col-lg-3 col-md-4 col-sm-6">
            One of three columns
          </div>
          <div class="aa col-lg-3 col-md-4 col-sm-6">
            One of three columns
          </div>
          <div class="aa col-lg-3 col-md-4 col-sm-6">
            One of three columns
          </div>
        </div>
      </div> -->
  </div>
  <!-- 引入jQuery的类库 -->
  <!-- 再引入Bootstrap的类库 -->
  <script src="js/jquery-3.6.4.js"></script>
  <script src="js/bootstrap.js"></script>
</body>
</html>
  • 运行项目,改变页面的大小,页面每行所显示的 div 的数量就会发生改变;
  • row,表示一行,意思是当前 div 为一行
  • col:表示列,意思是当前 div 为一列;
  • 如果行里面要增加列,在 "class=row" 的 div里面继续添加 div并设置 "class=col";
  • 如果要继续添加行,那么在 "class=container" 的 div里面继续添加 div 并设置 "class=row";


相关文章
|
2月前
|
前端开发 JavaScript 开发者
颠覆传统:React框架如何引领前端开发的革命性变革
【10月更文挑战第32天】本文以问答形式探讨了React框架的特性和应用。React是一款由Facebook推出的JavaScript库,以其虚拟DOM机制和组件化设计,成为构建高性能单页面应用的理想选择。文章介绍了如何开始一个React项目、组件化思想的体现、性能优化方法、表单处理及路由实现等内容,帮助开发者更好地理解和使用React。
90 9
|
6天前
|
开发框架 小程序 前端开发
圈子社交app前端+后端源码,uniapp社交兴趣圈子开发,框架php圈子小程序安装搭建
本文介绍了圈子社交APP的源码获取、分析与定制,PHP实现的圈子框架设计及代码编写,以及圈子小程序的安装搭建。涵盖环境配置、数据库设计、前后端开发与接口对接等内容,确保平台的安全性、性能和功能完整性。通过详细指导,帮助开发者快速搭建稳定可靠的圈子社交平台。
66 17
|
22天前
|
前端开发 安全 API
Qwen-coder实现本地 RAG 框架能力Bootstrap
本文介绍了如何利用Qwen-coder在本地实现RAG框架能力提升,解决了企业知识库管理中的数据安全和半结构化文档处理问题。通过Qwen2.5-72b模型和多轮对话推理,成功实现了对包含图表内容的文档的高效预处理,提升了知识库检索的准确性和安全性。
Bootstrap5 侧边栏导航(Offcanvas)3
通过设置 `data-bs-scroll` 和 `data-bs-backdrop` 属性,可以控制侧边栏弹出时元素的滚动行为和背景画布的显示。示例中展示了不同配置下的滚动效果和背景画布的使用方法。
|
2月前
|
JavaScript 前端开发
Bootstrap5 侧边栏导航(Offcanvas)1
Bootstrap5 的 Offcanvas 组件提供了一种在小屏幕设备上使用的侧边栏导航方案。通过添加 `.offcanvas` 类并结合 `data-bs-toggle=&quot;offcanvas&quot;` 属性,可实现侧边栏的显示与隐藏。支持通过链接的 `href` 或按钮的 `data-bs-target` 属性进行控制。
Bootstrap5 侧边栏导航(Offcanvas)2
侧边栏可通过`.offcanvas-start`、`.offcanvas-end`、`.offcanvas-top`和`.offcanvas-bottom`类分别设置在页面的左、右、顶、底位置。示例代码展示了如何使用这些类创建不同方向的侧边栏,包括按钮触发和内容区域的定义。
|
2月前
|
前端开发 JavaScript API
前端界的秘密武器:掌握这些框架,让你轻松秒杀99%的同行!
前端开发日新月异,掌握几个明星框架如React、Vue.js和Angular,不仅能让工作更得心应手,还能轻松超越同行。React以高效的虚拟DOM和组件化著称;Vue.js简洁易懂,灵活性高;Angular提供全面的解决方案,适合大型应用。此外,轻量级的Svelte也值得关注,其编译时处理设计提升了应用性能。掌握这些框架,结合深刻理解和灵活运用,助你在前端领域脱颖而出。
36 9
Bootstrap5 导航7
胶囊状动态选项卡通过设置 `data-bs-toggle=&quot;pill&quot;` 实现,包含导航项和内容区两部分。导航项使用 `&lt;ul class=&quot;nav nav-pills&quot;&gt;` 定义,每个选项链接到对应的内容区,实现点击切换显示的效果。内容区由多个 `&lt;div class=&quot;tab-pane&quot;&gt;` 组成,根据导航项的选择显示相应内容。
|
2月前
|
前端开发 JavaScript 开发者
超实用开源前端商城模板,助力电商项目飞速启航!免费直接可用!
分享一款精心设计的开源前端商城模板,涵盖商品展示、购物车、订单处理、用户登录注册等核心功能,使用HTML、CSS、JS和jQuery构建,结构清晰,适合新手和资深开发者,助力电商项目快速启动。
101 0
超实用开源前端商城模板,助力电商项目飞速启航!免费直接可用!
Bootstrap5 导航6
动态选项卡允许用户通过点击链接切换不同内容。在每个链接上添加 `data-bs-toggle=&quot;tab&quot;` 属性,并在对应内容的 `&lt;div&gt;` 标签中使用 `.tab-pane` 和 `.tab-content` 类。若需淡入效果,可在 `.tab-pane` 后添加 `.fade` 类。