【Bootstrap】<前端框架>Bootstrap布局容器&栅格网格系统

简介: 【1月更文挑战第17天】【Bootstrap】<前端框架>Bootstrap布局容器&栅格网格系统

 目录

一、Bootstrap概述:

二、Bootstrap HTML模板:

三、布局容器和栅格网格系统:

1.布局容器:

2.栅格网格系统:

2.1 媒体查询:

2.2 栅格参数:

2.3 列组合:

2.4 列偏移:

2.5 列排序:

2.6 列嵌套:


一、Bootstrap概述:

英文官网:

image.gif编辑

中文官网:

image.gif编辑

image.gif编辑

       Bootstrap响应式布局设计,让一个网站可以兼容不同分辨率的设备。Bootstrapt能提供很好的视觉使用体验!

下载Bootstrap:

image.gif编辑


二、Bootstrap HTML模板:

       请确保使用最新的页面设计和开发标准来设置页面。也就是说,使用 HTML5 文档类型(doctype)、并包含一个设置 viewport(视口)的 <meta> 标签以实现正确的响应式布局行为。这些要求组合在一起之后,你的页面应当如下所示:

       这是V5版本的Bootstrap

<!doctype html>
<html lang="zh-CN">
  <head>
    <!-- 必须的 meta 标签 -->
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <!-- Bootstrap 的 CSS 文件 -->
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-LY6QZQpYtqgQLJeUeh2disXkUUa+fRYfq/3dxdpkU5PQZUCqg/BK4wrhQ9idOojx" crossorigin="anonymous">
    <title>Hello, world!</title>
  </head>
  <body>
    <h1>Hello, world!</h1>
    <!-- JavaScript 文件是可选的。从以下两种建议中选择一个即可! -->
    <!-- 选项 1:包含 Popper 的 Bootstrap 集成包 -->
    <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-3JyvMmfSMpWbSPyCjNwU5lHJFeswLerSwlOGCGjyuhQ+HKQNQKCbIzEgGTP1MfyY" crossorigin="anonymous"></script>
    <!-- 选项 2:Popper 和 Bootstrap 的 JS 插件各自独立 -->
    <!--
    <script src="https://cdn.jsdelivr.net/npm/@popperjs/core@2.10.2/dist/umd/popper.min.js" integrity="sha384-7+zCNj/IqJ95wo16oMtfsKbZ9ccEh31eOz1HGyDuCQ6wgnyJNSYdrPa03rtR1zdB" crossorigin="anonymous"></script>
    <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.min.js" integrity="sha384-sy7xrBVBIaMK3slILGYC/U63fKx1UrfD8TRvvm7ofBK58y8tUNR4GWLKo+k+Yx8K" crossorigin="anonymous"></script>
    -->
  </body>
</html>

image.gif

       这是V3版本的Bootstrap:

<!doctype html>
<html lang="zh-CN">
  <head>
    <meta charset="utf-8">
    <!-- X-UA-Compatible来设置IE浏览器兼容模式,最新的渲染模式 -->
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <!-- 
        viewport:表示用户是否可以缩放页面
        width:指定视图区的逻辑宽度
        device-width:指示视区宽度应为设备的屏幕宽度
        initial-scale:指令用于设置web页面的初始化缩放比例
        initial-scale=1:将显示未经缩放的web文档
     -->
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <!-- 上述3个meta标签*必须*放在最前面,任何其他内容都*必须*跟随其后! -->
    <title>Bootstrap 101 Template</title>
    <!-- Bootstrap -->
    <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/3.4.1/css/bootstrap.min.css" integrity="sha384-HSMxcRTRxnN+Bdg0JdbxYKrThecOKuH5zCYotlSAcp1+c8xmyTe9GYg1l9a69psu" crossorigin="anonymous">
    <!-- HTML5 shim 和 Respond.js 是为了让 IE8 支持 HTML5 元素和媒体查询(media queries)功能 -->
    <!-- 警告:通过 file:// 协议(就是直接将 html 页面拖拽到浏览器中)访问页面时 Respond.js 不起作用 -->
    <!--[if lt IE 9]>
      <script src="https://cdn.jsdelivr.net/npm/html5shiv@3.7.3/dist/html5shiv.min.js"></script>
      <script src="https://cdn.jsdelivr.net/npm/respond.js@1.4.2/dest/respond.min.js"></script>
    <![endif]-->
  </head>
  <body>
    <h1>你好,世界!</h1>
  </body>
    <!-- jQuery (Bootstrap 的所有 JavaScript 插件都依赖 jQuery,所以必须放在前边) -->
    <script src="https://cdn.jsdelivr.net/npm/jquery@1.12.4/dist/jquery.min.js" integrity="sha384-nvAa0+6Qg9clwYCGGPpDQLVpLNn0fRaROjHqs13t4Ggj3Ez50XnGQqc/r8MhnRDZ" crossorigin="anonymous"></script>
    <!-- 加载 Bootstrap 的所有 JavaScript 插件。你也可以根据需要只加载单个插件。 -->
    <script src="https://stackpath.bootstrapcdn.com/bootstrap/3.4.1/js/bootstrap.min.js" integrity="sha384-aJ21OjlMXNL5UyIl/XNwTMqvzeRMZH2w8c5cRVpzpU8Y5bApTppSuUkhZXN0VxHd" crossorigin="anonymous"></script>
</html>

image.gif


三、布局容器和栅格网格系统:

1.布局容器:

.container 用于固定宽度并支持响应式布局的容器:

<div class="container"> ... </div>

image.gif

.container-fluid 用于100%宽度,占据全部视口(viewport)的容器:

<div class="container-fluid"> ... </div>

image.gif

2.栅格网格系统:

       Bootstrap提供了一套响应式、移动设备优先的流式栅格系统,随着屏幕或者视口(viewport)尺寸的增加,系统会自动分为最多12列。栅格系统用于通过一系列的行(row)与列(column)的组合来创建页面布局,内容就可以放入这些创建好的布局中。

       网格系统的实现原理非常简单,仅仅是通过定义容器大小,平分12份(也有平分24份或者32份,但是12份是最常见的),再调整内外边距,最后结合媒体查询,就制作出了强大的相应式网格系统。Bootstrap框架中的网格系统就是将容器平分成为12份。

image.gif编辑

注意:使用网格系统必须使用到CSS,引入Bootstrap的CSS文件

       container、row、xs(xsmall phones)、sm(small tables),md(middle desktops),lg(larger desktops)即:超小屏(自动),小屏(750px),中屏(970px),大屏(1170px)

       数据行(.row)必须包含在容器(.container)中,以便为其赋予合适的对齐方式和内距(padding)

       在行(.row)中可以添加列(.column),只有列(column)才可以作为行容器(.row)的直接子元素,但列数之和不能超过平分的总列数,比如12。如果大于12,则自动换到下一行。

       具体内容应当放置在列容器(column)之内:

<div class="container">
    <div class="row">
        <div class="col-md-4" style="background-color: blueviolet;">4列</div>
        <div class="col-md-8" style="background-color: cadetblue;">8列</div>
    </div>
</div>

image.gif

image.gif编辑

2.1 媒体查询:

       Bootstrap会根据当前屏幕尺寸动态调整CSS中编写的尺寸样式!

image.gif编辑

2.2 栅格参数:

image.gif编辑

2.3 列组合:

       列组合简单理解就是改变数字来合并列(原则:列总和数不能超过12,大于12,则自动换到下一行),类似于表格的colspan属性:

<div class="container">
      <div class="row">
        <div class="col-md-4" style="background-color: blueviolet;">4列</div>
        <div class="col-md-8" style="background-color: cadetblue;">8列</div>
      </div>
      <hr>
      <div class="row">
        <div class="col-md-3" style="background-color: blueviolet;">3列</div>
        <div class="col-md-3" style="background-color: cadetblue;">3列</div>
        <div class="col-md-3" style="background-color: rgb(255, 0, 0);">3列</div>
      </div>
      <hr>
      <!-- 超过12列,则会出现换行!!! -->
      <div class="row">
        <div class="col-md-8" style="background-color: blueviolet;">8列</div>
        <div class="col-md-8" style="background-color: cadetblue;">8列</div>
      </div>
    </div>

image.gif

image.gif编辑

2.4 列偏移:

       如果我们不希望相邻的两个列紧靠在一起,但是又不想使用margin或者其它的技术手段。这个时候可以使用列偏移(offset)功能来实现。使用列偏移也非常简单,只需要在列元素上添加类名" col-md-offset-* "(其中星号代表要偏移的列组合),那么具有这个类名的列就会向右偏移。但是需要保证列与偏移列总数不超过12,不然会导致列断行(换行显示)

<div class="container">
      <div class="row">
        <div class="col-md-1" style="background-color: cornflowerblue;">1列</div>
        <div class="col-md-2" style="background-color: rgb(123, 255, 0);">2列</div>
        <!-- 这里有一个8列的列偏移 -->
        <div class="col-md-1 col-md-offset-8" style="background-color: rgb(0, 89, 255);">1列</div>
        <!-- 由于上面的已经满足12列,所以这一列被换行显示 -->
        <div class="col-md-1" style="background-color: rgb(221, 0, 255);">1列</div>
      </div>
    </div>

image.gif

image.gif编辑

2.5 列排序:

       列排序其实就是改变列的方向,就是改变左右浮动,并且设置浮动的距离。在Bootstrap框架的网格系统中是通过添加类名" col-md-push-* " 和 " col-md-pull-* " (其中星号代表移动的列组合数),往前pull,往后push

<div class="container">
      <div class="row">
        <div class="col-md-6" style="background-color: cornflowerblue;">6列</div>
        <!-- col-md-pull-4:向前浮动4列 -->
        <div class="col-md-3 col-md-pull-4" style="background-color: cyan;">3列</div>
      </div>
    </div>
  </body>

image.gif

image.gif编辑

2.6 列嵌套:

       Bootstrap框架的网格系统还支持列的嵌套。你可以在一个列中添加一个或者多个行(row)容器,然后在这个行容器中插入列

image.gif编辑


相关实践学习
Serverless极速搭建Hexo博客
本场景介绍如何使用阿里云函数计算服务命令行工具快速搭建一个Hexo博客。
相关文章
|
3月前
|
编解码 前端开发 JavaScript
.NET_web前端框架_layui_栅格布局
【8月更文挑战第27天】
46 4
|
3月前
|
搜索推荐 前端开发 数据可视化
【优秀python web毕设案例】基于协同过滤算法的酒店推荐系统,django框架+bootstrap前端+echarts可视化,有后台有爬虫
本文介绍了一个基于Django框架、协同过滤算法、ECharts数据可视化以及Bootstrap前端技术的酒店推荐系统,该系统通过用户行为分析和推荐算法优化,提供个性化的酒店推荐和直观的数据展示,以提升用户体验。
152 1
|
11天前
|
Web App开发 前端开发 JavaScript
前端开发的秘密武器:这些工具让你轻松应对各种复杂布局!
【10月更文挑战第31天】前端开发充满挑战,尤其是在处理复杂布局时。本文介绍了几种关键工具和技术,如HTML和CSS基础、Firefox开发者工具、Visual Studio Code以及Vue、React和Angular等前端框架,帮助开发者高效应对复杂布局,提升代码质量和用户体验。
24 2
|
16天前
|
前端开发 JavaScript
Bootstrap Web 前端 UI 框架
Bootstrap 是快速开发 Web 应用程序的前端工具包。
30 3
|
24天前
|
前端开发
Bootstrap 5 网格的基本结构
Bootstrap 5 网格系统的基本结构包括创建行(`&lt;div class=&quot;row&quot;&gt;`)和列(`&lt;div class=&quot;col-*-*&quot;&gt;`)。第一个星号表示响应的设备大小(sm, md, lg, xl),第二个星号表示列宽,同一行的列宽总和为 12。不指定数字时,Bootstrap 会自动分配等宽的列。例如,两个 `col` 列各占 50%,三个 `col` 列各占 33.33%。
|
24天前
|
前端开发
Bootstrap 5 网格的基本结构 创建相等宽度的列,Bootstrap 自动布局
Bootstrap 自动布局允许创建响应式等宽或不等宽的列。例如,使用 `.col` 类可创建等宽列;使用 `.col-sm-*` 类可在不同屏幕尺寸上自定义列宽,如 `.col-sm-3` 表示在小屏幕及以上设备上占 1/4 宽度。未指定宽度的列将自动均分剩余空间。
|
24天前
|
前端开发
Bootstrap 5 网格的基本结构
Bootstrap 5 网格系统基于 12 列布局,通过 `.row` 和 `.col-*-*` 类实现响应式设计。`.col-*-*` 中的第一个星号表示设备类型(sm, md, lg, xl),第二个星号表示列宽。不指定数字时,Bootstrap 自动均分列宽。
|
1月前
|
前端开发 容器
前端技术分享:利用CSS Grid布局实现响应式设计
【10月更文挑战第1天】前端技术分享:利用CSS Grid布局实现响应式设计
|
2月前
|
前端开发 容器
前端基础(十五)_多栏布局(两列自适应布局、圣杯布局---三列布局、双飞翼布局--三列布局、等高布局)
本文介绍了前端开发中的多种自适应布局技术,包括两列自适应布局、圣杯布局(三列布局)、双飞翼布局(三列布局)和等高布局。文章通过代码示例展示了如何使用HTML和CSS实现这些布局,以及如何通过flex布局简化实现过程。
74 2
|
2月前
|
弹性计算 前端开发 容器
【前端web入门第六天】02 flex布局
Flex布局是一种现代CSS布局模式,通过给父元素设置`display: flex`,其子元素可自动挤压或拉伸。它包含弹性容器和弹性盒子,主轴默认为水平方向,侧轴为垂直方向。主轴对齐方式由`justify-content`属性控制,侧轴对齐方式包括`align-items`(针对所有子元素)和`align-self`(针对单个子元素)。修改主轴方向使用`flex-direction`属性,`flex`属性用于控制子元素在主轴上的伸缩比例。此外,`flex-wrap`属性允许子元素换行,而`align-content`属性则定义多行对齐方式。