【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编辑


相关文章
|
1月前
|
Java 虚拟化 容器
(Java)Java里JFrame窗体的基本操作(容器布局篇-1)
容器 容器,我的理解是可以包容其他东西的玩意。它可以是一个盒子,可以是一个虚拟化的物品,可只要能包裹住其他存在质体的东西,那么都可以称作是容器。例如:JPanel组件和JScollPane组件两者都是容器也是组件。 既然有容器,那么容器中的布局就必不可少了。不然不规矩的摆放物品,人类看不习惯,我也看不习惯 ???? 本篇内容,将说明java JFrame窗体里容器中几类布局。 说明:所有在JFrame窗体里的容器布局都会使用setLayout()方法,采用的布局参数都将放进这个方法里 绝对布局 调用窗体容器
69 1
|
8月前
|
前端开发 API 开发者
harmonyOS基础- 快速弄懂HarmonyOS ArkTs基础组件、布局容器(前端视角篇)
本文由黑臂麒麟(6年前端经验)撰写,介绍ArkTS开发中的常用基础组件与布局组件。基础组件包括Text、Image、Button等,支持样式设置如字体颜色、大小和加粗等,并可通过Resource资源引用统一管理样式。布局组件涵盖Column、Row、List、Grid和Tabs等,支持灵活的主轴与交叉轴对齐方式、分割线设置及滚动事件监听。同时,Tabs组件可实现自定义样式与页签切换功能。内容结合代码示例,适合初学者快速上手ArkTS开发。参考华为开发者联盟官网基础课程。
668 75
harmonyOS基础- 快速弄懂HarmonyOS ArkTs基础组件、布局容器(前端视角篇)
|
5月前
|
设计模式 开发者 UED
123. [HarmonyOS NEXT 实战案例一:SideBarContainer] 侧边栏容器实战:新闻阅读应用侧边栏布局 基础篇
在现代移动应用和平板应用中,侧边栏导航已经成为一种常见且实用的UI设计模式。HarmonyOS NEXT提供了专门的`SideBarContainer`组件来实现这一功能,它能够轻松创建可显示和隐藏的侧边栏布局,非常适合新闻阅读、电子商务、文件管理等应用场景。
131 3
123. [HarmonyOS NEXT 实战案例一:SideBarContainer] 侧边栏容器实战:新闻阅读应用侧边栏布局 基础篇
|
5月前
|
UED 容器
124.[HarmonyOS NEXT 实战案例一:SideBarContainer] 侧边栏容器实战:新闻阅读应用侧边栏布局 进阶篇
在基础篇中,我们学习了如何使用HarmonyOS NEXT的`SideBarContainer`组件创建新闻阅读应用的基本侧边栏布局。本篇教程将深入探讨如何为新闻阅读应用添加更多交互功能和状态管理,提升用户体验。
114 1
124.[HarmonyOS NEXT 实战案例一:SideBarContainer] 侧边栏容器实战:新闻阅读应用侧边栏布局 进阶篇
|
5月前
|
UED 容器
10.HarmonyOS Next布局进阶:嵌套Flex容器与空间分配策略
在HarmonyOS Next的ArkUI框架中,Flex布局是构建用户界面的核心技术之一。通过嵌套使用Flex容器,我们可以创建复杂而灵活的界面结构,满足各种应用场景的需求。本教程将深入探讨如何在HarmonyOS Next中使用嵌套Flex容器实现复杂布局,以及如何合理分配和控制空间。
145 0
|
编解码 前端开发 JavaScript
.NET_web前端框架_layui_栅格布局
【8月更文挑战第27天】
218 4
|
12月前
|
容器
Bootstrap5 Flex(弹性)布局4
排序:.order 类可设置弹性子元素的排序,范围从 .order-1 至 .order-12,数字越小优先级越高。外边距:.ms-auto 和 .me-auto 分别用于设置子元素的右侧和左侧外边距为 auto。包裹:.flex-nowrap(默认)、.flex-wrap 和 .flex-wrap-reverse 用于控制弹性容器中的子元素是否换行及换行方向。
|
12月前
Bootstrap5 Flex(弹性)布局2
介绍Flex布局的水平和垂直方向控制。`.flex-row`使子元素水平排列,默认左对齐;`.flex-row-reverse`则右对齐。`.flex-column`让子元素垂直排列;`.flex-column-reverse`则反向排列。示例展示了不同类的效果,通过改变类名实现布局调整。
|
11月前
|
容器
Bootstrap5 Flex(弹性)布局6
使用 `.align-self-*` 类可控制指定子元素的对齐方式,包括 `.align-self-start`, `.align-self-end`, `.align-self-center`, `.align-self-baseline`, 和 `.align-self-stretch`。示例代码展示了如何在一个弹性布局中应用这些类,以实现不同设备上的响应式设计。
|
11月前
Bootstrap5 Flex(弹性)布局5
使用 .align-content-* 控制多行子元素在垂直方向上的堆叠方式,如 .align-content-start、.align-content-center 等。对于单行子元素,使用 .align-items-* 控制对齐,例如 .align-items-start、.align-items-center 等。示例代码展示了不同对齐效果的应用。

热门文章

最新文章

  • 1
    前端如何存储数据:Cookie、LocalStorage 与 SessionStorage 全面解析
    363
  • 2
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(九):强势分析Animation动画各类参数;从播放时间、播放方式、播放次数、播放方向、播放状态等多个方面,完全了解CSS3 Animation
    126
  • 3
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(八):学习transition过渡属性;本文学习property模拟、duration过渡时间指定、delay时间延迟 等多个参数
    140
  • 4
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(七):学习ransform属性;本文学习 rotate旋转、scale缩放、skew扭曲、tanslate移动、matrix矩阵 多个参数
    114
  • 5
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(六):全方面分析css的Flex布局,从纵、横两个坐标开始进行居中、两端等元素分布模式;刨析元素间隔、排序模式等
    210
  • 6
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(五):背景属性;float浮动和position定位;详细分析相对、绝对、固定三种定位方式;使用浮动并清除浮动副作用
    234
  • 7
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(四):元素盒子模型;详细分析边框属性、盒子外边距
    127
  • 8
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(三):元素继承关系、层叠样式规则、字体属性、文本属性;针对字体和文本作样式修改
    63
  • 9
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(二):CSS伪类:UI伪类、结构化伪类;通过伪类获得子元素的第n个元素;创建一个伪元素展示在页面中;获得最后一个元素;处理聚焦元素的样式
    121
  • 10
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(一):CSS发展史;CSS样式表的引入;CSS选择器使用,附带案例介绍
    162