什么是Bootstrap

Bootstrap是目前最流行的一套前端开发框架,集成了HTML、CSS和JavaScript技术,为网页快速开发提供了包括布局、网格、表格、按钮、表单、导航、提示、分页等组件。

它的构成模块从大的方面可以分为页面布局、页面排版、通用样式、基本组件和jQuery插件等各部分。

布局基础

布局容器

容器时Bootstrap中最基本的布局元素,在使用默认网格系统时时必需的。Bootstrap中定义了两个容器类,分别是.container.container-fluid。它们的区别在于宽度的设定。

container容器根据屏幕宽度不同,利用媒体查询设定固定的宽度,当改变浏览器大小时,页面会呈现阶段性变化。

.container{
width:100%;
padding-right:15px;
padding-left:15px;
margin-right:auto;
margin-left:auto;
}

在不同的设备屏幕宽度下container的最大可宽度也会变化:

@media(min-width: ) .container
576px 540px
768px 720px
992px 960px
1200px 1140px

container-fluid容器则保持全屏大小,当需要一个元素横跨视口的整个宽度时可以采用。

.container-fluid{
width:100%;
padding-right:15px;
padding-left:15px;
margin-right:auto;
margin-right:auto;
}

虽然容器可以嵌套,但大多数布局不需要嵌套容器。

相应断点

Bootstrap使用媒体查询为布局和接口创建合理的断点。这些断点主要基于最小的视口宽度,并且允许随着视口的变化而扩展元素。

/*默认不写为对一切尺寸有效*/
/*小型设备sm*/
@media (min-width:576px){}
/*中型设备md*/
@media (min-width:768px){}
/*大型设备lg*/
@media (min-width:992px){}
/*超大型设备xl*/
@media (min-width:1200px){}

z-index

z-index属性设置一个定位元素沿z轴的位置,正数例用户更近,负数离用户更远。Bootstrap中定义了相应工具的层级,不推荐自定义。

网格系统

Bootstrap 包含了一个响应式的、移动设备优先的、不固定的网格系统,可以随着设备或视口大小的增加而适当地扩展到 12 列。它包含了用于简单的布局选项的预定义类,也包含了用于生成更多语义布局的功能强大的混合类。

12栅格

响应式网格系统随着屏幕或视口(viewport)尺寸的增加,系统会自动分为最多12列。响应式变化使用.col-+sm/md/lg/xl+n,其中n为在分成12列的基础上所占列数,默认为1,它的分布请看下图:(如不接n而接auto,则代表按照内容自动调整宽度)

例:

<div class="col-md-4 col-sm-6 col-xs-12">

上述代码意思为中型设备时占4列,小型设备时占6列,特小型设备占12列。如果有许多同样的元素结构,则可以呈现不同的排列方式,非常灵活。

还可以混合搭配,如:

<div class="row">
<div class="col-12 col-md-8"></div>
<div class="col-6 col-md-4"></div>
</div>
<div class="row">
<div class="col-6"></div>
<div class="col-6"></div>
</div>

建议实际操作一下。

注:

1.可以使用.no-gutters类来删除边距。

2.如果在一行中放置超过12列,则超出的那一组将作为新的一行,后续的列沿着新行继续排列。

重排序

使用.order-n类选择符,可以对空间进行可视化排序,n可以是1~12,没有定义该类的元素将默认排在前面。数字越大排得越靠右。n还可以用first/last代替。

列偏移

  1. 使用响应式的.offset-n类偏移方法,使列向右偏移n列
  2. 使用边距通用样式处理,内置诸如.ml-*.p-n.pt-n等,如.ml-auto.mr-auto水平隔离。

弹性盒子

Flex是Flexible Box的缩写,意为“弹性布局”,用来为盒装模型提供最大的灵活性,任何一个容器都可以指定为Flex布局。

采用Flex布局的元素,被称为Flex容器,简称“容器”。其所有子元素自动成为容器成员,称为Flex项目(Flex item),简称“项目”。

.d-flex为弹性伸缩盒子,.d-inline-flex为内联块级弹性伸缩盒子。

水平方向排列.flex-row 左对齐 .flex-row-reverse 右对齐

垂直方向排列.flex-column 垂直方向显示 .flex-column-reverse 翻转后垂直显示

内容排列.justify-content-* * 号允许的值有:start (默认), end, center, between 或 around

等宽.flex-fill 强制设置各个弹性子元素宽度一致

扩展.flex-grow-1 用于设置子元素使用剩下的空间。

排序.order 类可以设置弹性子元素的排序,从 .order-1.order-12,数字越低权重越高( .order-1 排在 .order-2 之前)

包裹:弹性容器中包裹子元素可以使用以下三个类: .flex-nowrap (默认), .flex-wrap.flex-wrap-reverse。设置 flex 容器是单行或者多行。(是否换行)

垂直对齐:使用 .align-content-* 来控制在垂直方向上如何去堆叠子元素,包含的值有:.align-content-start (默认), .align-content-end, .align-content-center, .align-content-between, .align-content-around 和 .align-content-stretch。这些类在只有一行的弹性子元素中是无效的。

响应式flex,在对应位置加上设备尺寸即可。

Bootstrap4布局(简要)的更多相关文章

  1. Android 布局简要范例

    Android的布局决定着实际的UI界面呈现情况,正是这些UI界面的组合与千变万化,才呈现出了各式各样的风格. 而这些基础的布局框架结构很重要,需要玩的很熟悉.我将以前参考的部分代码示例,所做的相关实 ...

  2. 要web开发精品教程吗?免费无广告一百期连讲的那种-逐浪CMS前端开发100期入门教程全面开放

    要web开发精品教程吗?免费无广告一百期连讲的那种-逐浪CMS前端开发100期入门教程全面开放 大师主讲 经验难得 由逐浪CMS首席架构师发哥老师,亲自主理讲解. 历时一年精心打造, 汇聚了互联网诞生 ...

  3. bootstrap4简单使用和入门03-响应式布局

    响应式布局的原理 页面源码 <!DOCTYPE html> <html lang="en"> <head> <meta charset=& ...

  4. Bootstrap4响应式布局之栅格系统

    前面说了Bootstrap4的下载和简单使用,现在我们接着往下学习,Bootstrap4的响应式布局主要依靠栅格系统来实现的.面老K先来讲解一下Bootstrap4的栅格系统,让你能够更快的了解Boo ...

  5. flex布局使用方法简要汇总

    近期因为使用inline-block,在项目部署后出现了一点小问题,几番解决未果,遂使用flex布局,于是借此机会对flex布局的用法做一个简要的汇总. 遇到的bug如下: 本想两个div使用inli ...

  6. 简要说明盒子模型和flex布局

    盒子模型:可以看做是一个盒子,包括外边距.边框.内边距.实际内容. flex布局:弹性布局,灵活性好. 当给元素设置display:flex时,它就是flex容器,它的所有子元素自动成为容器成员,称为 ...

  7. wxpython图形化界面编程(一):添加菜单,设置图片大小,添加文本框等,并简要布局

    #-*-encoding:utf-8-*-import wx def loadframe(): app = wx.App() mywindow = myframe() mywindow.Show() ...

  8. 前端开发:css基础知识之盒模型以及浮动布局。

    前端开发:css基础知识之盒模型以及浮动布局 前言 楼主的蛮多朋友最近都在学习html5,他们都会问到同一个问题 浮动是什么东西?  为什么这个浮动没有效果?  这个问题楼主已经回答了n遍.今天则是把 ...

  9. 2013 duilib入门简明教程 -- 界面布局(9)

        上一个教程实现的标题栏代码中,并没有看到处理自适应窗口大小的代码,但是窗口大小变化后,按钮的位置会跟着变化,这是因为我们将按钮放到了HorizontalLayout.VerticalLayou ...

  10. 对象布局已知时 C++ 对象指针的转换时地址调整

    在我调试和研究 netscape 系浏览器插件开发时,注意到了这个问题.即,在对象布局已知(即对象之间具有继承关系)时,不同类型对象的指针进行转换(不管是隐式的从下向上转换,还是强制的从上到下转换)时 ...

随机推荐

  1. Jquery 如何替换html字符串中标签属性值 ??

    如何利用JQuery 替换HTML字符串中的属性值呢? 如 html 字符串有很多 img标签,现在需要修改 img的src值 var html="<div style="t ...

  2. springBoot中对mongodb添加2dsphere位置索引

    项目需求:最近有个需求,就是要根据坐标位置找出附近的车辆(车辆有对应的坐标).然后翻了翻百度,cv流一顿操作之后,大概整理出来了一段代码如下 //根据当前位置坐标,找出附近*米内的所有车辆BasicD ...

  3. wmi和wmic

    https://baike.baidu.com/item/Windows%20Management%20Instrumentation/572501?fromtitle=WMI&fromid= ...

  4. Promise的几个方法解析

    Promise.all 此方法在集合多个 promise 的返回结果时很有用. 输入的promise中只要有一个reject,即进入reject,否则会进入then 完成(Fulfillment):在 ...

  5. vscode 部分替换(正则替换)

    1. 数字 \d{n} 2. 数字和字母 [A-Za-z0-9]{n} 常用运算符与表达式 ^ 开始 () 域段 [] 包含,默认是一个字符长度 [^] 不包含,默认是一个字符长度 {n,m} 匹配长 ...

  6. Java基础——(综合练习)生成5位验证码

    package com.zhao.test; import java.util.Random; public class Test16 { /*需求: 定义方法实现随机产生一个5位的验证码 验证码格式 ...

  7. 050_Sublime For Salesforce

    之前安装工具都是在网上找的文章,照着步骤一点点来的,最近电脑升级所以要重新安装,花了一个小时终于搞好了,虽然说现在插件已经不维护了,但我觉得目前的工具还是可以够我用的: 1.我之前用的是3083版本, ...

  8. 在自定义Flink1.10 Sql Sink遇到的问题

    1.org.apache.flink.table.api.TableException: Table sink does not implement a table schema. 问题:在Redis ...

  9. 27 python 发送短信

    腾讯云短信服务,来进行发送短信. 注册账号 开通服务 + 缴费 (实名.企业认证,公众号) API服务.SDK服务 API,接口 import requests # 在此之前还会处理签名和加密的工作量 ...

  10. 解决word表格中文字无法居中的一个方法

    情况:试过许多方法,如表格属性->单元格居中:表格布局中的居中对齐都无效:虽然利用段落中的单倍行距可以实现居中效果,但我不想单倍行距. 原因:有时候我们表格上下行距比较大,而使用居中的按钮只能让 ...