【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天】
44 4
|
3月前
|
搜索推荐 前端开发 数据可视化
【优秀python web毕设案例】基于协同过滤算法的酒店推荐系统,django框架+bootstrap前端+echarts可视化,有后台有爬虫
本文介绍了一个基于Django框架、协同过滤算法、ECharts数据可视化以及Bootstrap前端技术的酒店推荐系统,该系统通过用户行为分析和推荐算法优化,提供个性化的酒店推荐和直观的数据展示,以提升用户体验。
140 1
|
3天前
|
前端开发 JavaScript
Bootstrap Web 前端 UI 框架
Bootstrap 是快速开发 Web 应用程序的前端工具包。
13 3
|
11天前
|
缓存 前端开发 JavaScript
前端的全栈之路Meteor篇(二):容器化开发环境下的meteor工程架构解析
本文详细介绍了使用Docker创建Meteor项目的准备工作与步骤,解析了容器化Meteor项目的目录结构,包括工程准备、环境配置、容器启动及项目架构分析。提供了最佳实践建议,适合初学者参考学习。项目代码已托管至GitCode,方便读者实践与交流。
|
11天前
|
JavaScript 前端开发 Docker
前端的全栈之路Meteor篇(一):开发环境的搭建 -全局安装或使用容器镜像
本文介绍了如何搭建 Meteor 开发环境,包括全局安装 Meteor 工具和使用 Docker 镜像两种方法,以及创建和运行一个简单的 Meteor 项目的基本步骤。 Meteor 是一个全栈 JavaScript 框架,适用于构建实时 Web 应用程序。文章还提供了遇到问题时的解决建议和调试技巧。
|
11天前
|
前端开发 JavaScript Docker
拿下奇怪的前端报错(五):SyntaxError: Unexpected token ‘??=‘或‘xxx‘ - 基于容器搭建开发环境或许是更好的选择
在前端开发中,同时维护多个项目时可能会遇到不同Node.js版本的问题。低版本Node.js可能导致依赖无法安装或启动失败,而高版本Node.js则可能引起第三方库的兼容性问题。推荐使用Docker搭建独立的开发环境,以避免版本不一致带来的困扰。
321 1
|
3月前
|
搜索推荐 前端开发 数据可视化
基于Python协同过滤的旅游景点推荐系统,采用Django框架,MySQL数据存储,Bootstrap前端,echarts可视化实现
本文介绍了一个基于Python协同过滤算法的旅游景点推荐系统,该系统采用Django框架、MySQL数据库、Bootstrap前端和echarts数据可视化技术,旨在为用户提供个性化的旅游推荐服务,提升用户体验和旅游市场增长。
257 9
基于Python协同过滤的旅游景点推荐系统,采用Django框架,MySQL数据存储,Bootstrap前端,echarts可视化实现
|
3月前
|
前端开发 JavaScript
这篇文章介绍了如何使用form表单结合Bootstrap格式将前端数据通过action属性提交到后端的servlet,包括前端表单的创建、数据的一级和二级验证,以及后端servlet的注解和参数获取。
这篇文章介绍了使用AJAX技术将前端页面中表单接收的多个参数快速便捷地传输到后端servlet的方法,并通过示例代码展示了前端JavaScript中的AJAX调用和后端servlet的接收处理。
这篇文章介绍了如何使用form表单结合Bootstrap格式将前端数据通过action属性提交到后端的servlet,包括前端表单的创建、数据的一级和二级验证,以及后端servlet的注解和参数获取。
|
3月前
|
搜索推荐 前端开发 算法
基于用户画像及协同过滤算法的音乐推荐系统,采用Django框架、bootstrap前端,MySQL数据库
本文介绍了一个基于用户画像和协同过滤算法的音乐推荐系统,使用Django框架、Bootstrap前端和MySQL数据库构建,旨在为用户提供个性化的音乐推荐服务,提高推荐准确性和用户满意度。
216 7
基于用户画像及协同过滤算法的音乐推荐系统,采用Django框架、bootstrap前端,MySQL数据库
|
3月前
|
容器 iOS开发 Linux
震惊!Uno Platform 响应式 UI 构建秘籍大公开!从布局容器到自适应设计,带你轻松打造跨平台完美界面
【8月更文挑战第31天】Uno Platform 是一款强大的跨平台应用开发框架,支持 Web、桌面(Windows、macOS、Linux)及移动(iOS、Android)等平台,仅需单一代码库。本文分享了四个构建响应式用户界面的最佳实践:利用布局容器(如 Grid)适配不同屏幕尺寸;采用自适应布局调整 UI;使用媒体查询定制样式;遵循响应式设计原则确保 UI 元素自适应调整。通过这些方法,开发者可以为用户提供一致且优秀的多设备体验。
111 0