【Bootstrap】bootstrap入门之媒体查询技术、样式类_01

目录

一.响应式网页

1.编写响应式网页

2.使用媒体查询

二.Bootstrap

1.如何使用boot

2.全局样式

(1) 容器相关

(2) 按钮相关

(3) 图片相关

(4) 文本相关

(5) 列表相关

(6) table相关

(7) 辅助相关类


前言

Bootstrap是什么?有什么用处

Bootstrap 是全球最受欢迎的前端框架,用于构建响应式、移动设备优先的网站。

我们在开发前端页面的时候,如果每一个按钮、样式、处理浏览器兼容性的代码都要自己从零开始去写,那就太浪费时间了。所以我们需要一个框架,帮我们实现一个页面的基础部分和解决一些繁琐的细节,只要在它的基础上进行个性化定制就可以了。

Bootstrap 就是这样一个简洁、直观、强悍的前端开发框架,只要学习并遵守它的标准,就能做出很专业、美观的页面,极大地提高工作效率。


一.响应式网页

Response web page响应式网页/自适应

可以根据浏览设备不同(pc,pad,phone,分辨率,尺寸,横竖屏)

而自动改变网页的布局,文本,图片的大小,不会影响用户浏览体验

测试响应式网页

💥 使用真实设备测试

优点:真实可靠

缺点:成本太高,测试周期很长

💥 第三方测试软件

优点:测试方便,简单

缺点:很多硬件是测试不了

💥 使用浏览器自带的测试软件

优点:简单

缺点:极其不靠谱

💥 学习的时候,拖放浏览器尺寸

1.编写响应式网页

(1) 移动端配置视口

只在pc上运行,可以不配置视口

<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=yes">

width=device-width  视口宽度为设备宽度

initial-scale=1.0        视口初始化时不能缩放

maximum-scale=1.0   最大缩放为1倍

user-scalable=yes      用户可以缩放

最简方式<meta name="viewport" content="width=device-width, initial-scale=1">

(2) 初学者写响应式

内容,图片尽量使用相对单位,不要用绝对值

尽量使用流式布局(默认文档流+浮动)

尽量使用弹性布局,避免使用定位

参考:一文了解,前端网页布局常用的几种方式

(3) 媒体查询技术

为一个网页写多份css代码

根据浏览网页的设备不同,执行其中一份css,忽略其他的css代码

媒体查询完成响应式布局,会极大的增加代码量

复杂页面,不建议使用响应式

2.使用媒体查询

@media 条件1 and 条件2 and 条件3{

                #content{width:50%}

                #d1{color:red}

}

@media 条件4 and 条件5 and 条件6{

                #content{width:100%}

               #d1{color:green}

}

媒体查询的条件

(1) 设备    screen (pc/pad/phone)

                 TV

                 print

(2) 屏幕尺寸,约定俗成把所有屏幕尺寸分为5类(宽度

                超大屏 xl     v>=1200px      min-width:1200px    —— extra large

                大屏   lg     992px<=v<1200px  min-width:992px and max-width:1199.99px  ——large

                中屏   md    768px<=v<992px   ——medium

                小屏   sm    576px<=v<768px   ——small

                超小屏 xs     v<576px     —— extra small

响应式标准写法

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8" />
    <title></title>
    <style>
      /* xl 红色字体,蓝色背景,36px */
      @media screen and (min-width: 1200px) {
        #d1 {
          color: #f00;
          background-color: #0ff;
          font-size: 36px;
        }
      }
      /* lg 蓝色字体,黄色背景,30px */
      @media screen and (min-width: 992px) and (max-width: 1199.99px) {
        #d1 {
          color: #0ff;
          background-color: #ff0;
          font-size: 30px;
        }
      }
      /* md 黄色字体,深灰色背景,24px */
      @media screen and (min-width: 768px) and (max-width: 991.99px) {
        #d1 {
          color: #ff0;
          background-color: #333;
          font-size: 24px;
        }
      }
      /* sm 深灰色字体,pink背景,16px */
      @media screen and (min-width: 576px) and (max-width: 767.99px) {
        #d1 {
          color: #333;
          background-color: pink;
          font-size: 16px;
        }
      }
      /* xs pink字体,purple背景,12px */
      @media screen and (max-width: 575.99px) {
        #d1 {
          color: pink;
          background-color: purple;
          font-size: 12px;
        }
      }
    </style>
  </head>
  <body>
    <div id="d1">
      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Architecto iure
      magnam voluptas est ducimus voluptate! Dolores in adipisci suscipit
      deleniti natus tempora reprehenderit possimus fuga eius debitis aperiam
      unde laborum! Quo error doloribus veniam saepe earum nihil labore ea
      quaerat soluta nam incidunt tempora nemo deserunt fugit reiciendis sint ab
      quod velit repellendus eveniet facere corporis ex molestiae sapiente
      aliquid cumque quas iure odit possimus nulla officia dolor ad dolores
      doloremque autem rerum praesentium. Officia obcaecati aperiam magni magnam
      dicta illo veritatis minima cupiditate ipsa eaque ipsam consequuntur ea
      dignissimos ducimus delectus tenetur nulla consectetur temporibus saepe
      nobis. Deserunt laborum repudiandae porro velit odio quo ab iusto.
      Quibusdam doloremque autem quia quos similique nesciunt incidunt vel
      dignissimos consequatur repellendus quaerat expedita maxime fugiat officia
      aliquam perferendis est pariatur quo. Esse error omnis possimus accusamus
      aliquid facere. Magni ratione possimus quae quasi non necessitatibus in
      omnis iusto doloremque quam iste porro a ducimus! Quaerat animi
      dignissimos maiores adipisci dicta aliquid nesciunt placeat laudantium
      minima accusantium eaque nemo recusandae ratione enim voluptatum soluta ut
      voluptatem doloribus voluptate minus perferendis qui molestias dolores
      inventore tempora voluptatibus distinctio eius assumenda quae odio?
      Voluptatibus odit officiis animi saepe modi quas natus in voluptate
      quaerat tempore soluta molestias distinctio perspiciatis rem dolorem
      numquam fuga blanditiis neque excepturi quos. Cumque officiis nesciunt hic
      libero vel pariatur blanditiis corporis eveniet voluptate consequatur eos
      corrupti at itaque quae ducimus beatae impedit molestiae a eligendi nam
      nobis accusantium aliquam aperiam sapiente repudiandae maiores minima
      debitis ea doloremque ipsum fugit sunt tempore dolore. Fuga eum doloremque
    </div>
  </body>
</html>

执行结果:

不带超小屏,并向上兼容的写法,一定要注意编写顺序

<!DOCTYPE html>
<html>

<head>
	<meta charset="utf-8">
	<title></title>
	<style>
		#parent {
			border: 2px solid #f00;
			display: flex;
			flex-wrap: wrap;
		}

		#parent>div {
			border: 2px solid #00f;
			font: 24px jokerman;
			box-sizing: border-box;
		}

		/* 不要超小屏 */
		@media (min-width:576px) {

			/*sm md  lg  xl*/
			#parent>div {
				flex: 0 0 50%
			}
		}

		@media (min-width:768px) {

			/*md  lg  xl*/
			#parent>div {
				flex: 0 0 33.333%
			}
		}

		@media (min-width:992px) {

			/* lg  xl*/
			#parent>div {
				flex: 0 0 25%
			}
		}

		@media (min-width:1200px) {

			/* xl*/
			#parent>div {
				flex: 0 0 20%
			}
		}

		/* 	@media (min-width:1200px) {
				#parent>div{flex:0 0 20%}
			}
			@media (min-width:992px) and (max-width:1199.99px) {
				#parent>div{flex:0 0 25%}
			}
			@media (min-width:768px) and (max-width:991.99px) {
				#parent>div{flex:0 0 33.333%}
			}
			@media (min-width:576px) and (max-width:767.99px) {
				#parent>div{flex:0 0 50%}
			}
			@media (max-width:575.99px) {
				#parent>div{flex:0 0 100%}
			} */
	</style>
</head>

<body>
	<div id="parent">
		<div>1</div>
		<div>2</div>
		<div>3</div>
		<div>4</div>
		<div>5</div>
	</div>
</body>

</html>

 执行结果:


二.Bootstrap

Bootstrap是最受欢迎的 HTML、CSS 和 JS 框架,用于开发响应式布局、移动设备优先的 WEB 项目。

为了让开发者快速开发,boot把很多样式封装成了类,我们只需要调用对应的类名

👉 1. 起步——如何使用

👉 2. 全局css样式

👉 3. 组件和js插件

👉 4. 定制sass


1.如何使用boot

(1) 定义视口

<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=yes">

注:initial 最初的     maximum 最高的

(2) 引入css

<link rel="stylesheet" href="css/bootstrap.css">

(3) 引入3个js,必须按照下面顺序引入

<script src="js/jquery.min.js" ></script>

<script src="js/popper.min.js" ></script>

<script src="js/bootstrap.min.js" ></script>

补:bootstrap和bootstrap.bundle区别

bootstrap.bundle.js包含了popper.js这个框架,当我们在项目中引入bootstrap.bundle.min.js而不是bootstrap.min.js时,就不需要在前面引入popper.js。只在前面引入jquery.min.js就行了。

popper.min.js 用于设置弹窗、提示、下拉菜单,是第三方插件

<script src="bootstrap-4.4.1/js/popper.min.js"></script>
<script src="bootstrap-4.4.1/js/bootstrap.min.js"></script>

<!-- 上面2个文件的引入等价于下面一个文件的引入-->

<script src="bootstrap-4.4.1/js/bootstrap.bundle.min.js"></script>

​

(4) 所有的boot代码要求写在div.container中

2.全局样式

Bootstrap 编码规范

Bootstrap 编码规范:编写灵活、稳定、高质量的 HTML 和 CSS 代码的规范。

(1) 容器相关

.container  定宽容器,在不同屏幕下都有最大宽度

congtainer 在每个分辨率范围内有不同的定宽。

➡️ 在576-768之间定宽是max-width:540px;

➡️ 在768-992 之间定宽是max-width:960px;


➡️ 在992-1200之间定宽是max-width:1140px

.container-fluid 变宽容器,宽度永远是body的100%

所有的boot代码必须都写在容器中

(2) 按钮相关

① .btn  基本类,每个按钮必须加的类

   btn的源码在bootstrap 2460-2498共38行

        基本类的源码中定义了行内块,文本,伪类等的样式

② 带颜色的按钮:btn-danger/warning/success/info/primary/secondary/dark/light

btn-info的源码在bootstrap 2606-2638共32行

③ 镂空按钮:.btn-outline-danger

④ 按钮大小:.btn-lg/sm/block

<div class="container">
  <h4>按钮相关</h4>
  <input class="btn btn-danger btn-block" type="button" value="红色按钮">
  <button class="btn btn-warning">黄色按钮</button>
  <a href="#" class="btn btn-success">绿色按钮</a>
  <a href="#" class="btn btn-info">信息按钮</a>
  <a href="#" class="btn btn-primary">主要按钮</a>
  <a href="#" class="btn btn-secondary">次要按钮</a>
  <a href="#" class="btn btn-dark">深色按钮</a>
  <a href="#" class="btn btn-light">浅色按钮</a>
  <br>
  <hr>
  <br>
  <h4>镂空按钮</h4>
  <a href="#" class="btn btn-outline-danger btn-lg">红色镂空</a>
  <a href="#" class="btn btn-outline-info btn-sm">info镂空</a>
  <br>
  <hr>
  <br>
</div>

执行结果:

(3) 图片相关

① rounded      4px     圆角

② rounded-circle     50%圆角(椭圆形)

③ img-thumbnail   带边框,带内边距的缩略图

④ img-fluid      响应式图片,可以缩放,但是不能超过图片本身尺寸的100%

<div class="container">
  <h4>图片相关</h4>
  <img src="2.jpg" class="img-thumbnail" alt="">
  <img src="2.jpg" class="rounded">
  <img src="2.jpg" class="rounded-circle">
</div>

 执行结果:

(4) 文本相关

① 文本颜色:text-muted/danger/warning/primary....

② 大小写,首字符大写:text-uppercase/lowercase/capitalize

③ 字体加粗:font-weight-light/normal/bold

④ 斜体:font-italic

⑤ 字号 :.h1~~.h6

⑥ 水平对齐方式

text-align:left/center/right/justify  ——这是原生的正常css代码

text-*-left/center/right  *:sm/md/lg/xl ——这是boot封装的带响应式的水平对齐方式

注意:boot没有封装响应式的justify

我们可以参照boot源码对响应式的水平对齐方式的封装写法,自己封装响应式的justify

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8" />
  <title>Document</title>
  <meta name="viewport" content="width=device-width,initial-scale=1" />
  <link rel="stylesheet" href="css/bootstrap.css" />
  <script src="js/jquery.min.js"></script>
  <script src="js/popper.min.js"></script>
  <script src="js/bootstrap.min.js"></script>
  <style>
    /* boot没有封装响应式的justify,我们自己可以仿照boot的封装方式,对justify进行封装,代码如下 */
    @media (min-width: 576px) {
      .text-sm-justify {
        text-align: justify !important;
      }
    }
    @media (min-width: 768px) {
      .text-md-justify {
        text-align: justify !important;
      }
    }
    @media (min-width: 992px) {
      .text-lg-justify {
        text-align: justify !important;
      }
    }
    @media (min-width: 1200px) {
      .text-xl-justify {
        text-align: justify !important;
      }
    }
  </style>
</head>

<body>
  <div class="container">
    <h4>文本相关</h4>
    <div class="text-muted text-capitalize font-weight-bold font-italic h3 text-justify">
      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Commodi autem
      eum itaque recusandae neque totam voluptatum cupiditate suscipit
      blanditiis illum ea iste nisi velit laborum perferendis veniam a eos
      modi alias sed vero obcaecati architecto perspiciatis minus veritatis
      maxime quisquam. Consequuntur accusamus fuga magnam pariatur maxime sed
      molestiae enim accusantium impedit fugiat nulla aliquam minima nam
      soluta assumenda odit quam ducimus ab. Iusto sunt excepturi aliquid at
      doloribus corrupti eveniet id velit odit soluta officiis necessitatibus
      odio minus. Fugiat assumenda praesentium aliquam labore illo nostrum
      voluptatum tempore alias adipisci hic molestias in architecto nobis
      dicta ipsa itaque ut? Inventore sit officiis nesciunt explicabo hic
      quibusdam quis deleniti beatae dolor consectetur? Distinctio mollitia
      iusto eum autem illo libero qui deserunt harum doloribus ipsum eos
      eaque! Dolores iure excepturi eaque quos quas corrupti sunt rem
      doloribus harum eum velit in ab molestias explicabo quia veniam
      similique debitis ut aliquid nemo nulla aperiam consectetur maiores quam
      culpa! Expedita iure hic ab dicta velit fugiat sunt distinctio magni
      saepe accusamus optio repellendus animi suscipit sint accusantium dolor
      molestiae officiis eum sed consequuntur quod facilis aspernatur deleniti
      corporis eos qui nihil. Quibusdam est velit veniam facilis qui non animi
      commodi a eius aut quod eum.
    </div>
  </div>
</body>
</html>

  执行结果:

(5) 列表相关

① list-unstyled  去点

② 列表组

ul. list-group

>li.list-group-item

 .list-group-item-danger/info/warning

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8" />
  <title>Document</title>
  <meta name="viewport" content="width=device-width,initial-scale=1" />
  <link rel="stylesheet" href="css/bootstrap.css" />
  <script src="js/jquery.min.js"></script>
  <script src="js/popper.min.js"></script>
  <script src="js/bootstrap.min.js"></script>
</head>
<body>
  <div class="container">
    <h4>列表相关</h4>
    <ul class="list-unstyled list-group">
      <li class="list-group-item list-group-item-danger">电锯惊魂</li>
      <li class="list-group-item list-group-item-warning">死神来了</li>
      <li class="list-group-item list-group-item-success">速度与激情</li>
      <li class="list-group-item list-group-item-info">小丑回魂</li>
      <li class="list-group-item list-group-item-primary">咒怨</li>
    </ul>
  </div>
</body>
</html>

执行结果:

(6) table相关

table  基本类

table-bordered   带边框

table-danger/warning/info....表格背景

table-striped  各行变色,在奇数行添加一层0.05的黑纱

table-hover  鼠标悬停时,给tr添加0.075的黑纱

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8" />
  <title>Document</title>
  <meta name="viewport" content="width=device-width,initial-scale=1" />
  <link rel="stylesheet" href="css/bootstrap.css" />
  <script src="js/jquery.min.js"></script>
  <script src="js/popper.min.js"></script>
  <script src="js/bootstrap.min.js"></script>
</head>
<body>
  <div class="container">
    <h4>表格相关</h4>
    <table class="table-hover  table-striped table  table-bordered table-danger ">
      <tr>
        <th>编号</th>
        <th>名称</th>
        <th>类型</th>
      </tr>
      <tr>
        <td>1001</td>
        <td>魔女</td>
        <td>异能</td>
      </tr>
      <tr>
        <td>1002</td>
        <td>战斗天使</td>
        <td>科幻</td>
      </tr>
      <tr>
        <td>1003</td>
        <td>疾速追杀</td>
        <td>杀手</td>
      </tr>
    </table>
  </div>
</body>
</html>

执行结果:

(7) 辅助相关类

◼️ 边框

① 基本类:border/border-top/border-right/border-bottom/border-left

② 去除边框:border-0/border-top-0/border-right-0/border-left-0/border-bottom-0

③ 边框颜色:border-danger/warning/info

◼️ 背景颜色:bg-transparent/white/danger/info......

◼️ 圆角

rounded  4px的圆角

rounded-circle  50%

rounded-top/right/bottom/left  设置某个方向的两个圆角

rounded-0 去除圆角

◼️ 浮动

float-*-left/right/none  *:sm/md/lg/xl

父元素解决高度坍塌:.clearfix   

.clearfix的源码在bootstrap 6273行

◼️ 尺寸(单位为%) ——如想使用其他尺寸,可以自己单独写

w-25/50/75/100

h-25/50/75/100 

◼️ 内外边距

m/mt/mr/mb/ml/mx/my-*-0/1/2/3/4/5/auto      196个类     

mr即margin-right,元素的右外边距

mx即x轴水平方向的左右外边距,即左右外边距

ml即margin-left,元素的左外边距

my即y轴垂直方向的上下外边距,即上下外边距

p/pt/pr/pb/pl/px/py-*-0/1/2/3/4/5       168个类

*:sm/md/lg/xl    

0   0

1   0.25rem

2   0.5rem

3.  1rem

4   1.5rem

5   3rem

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8" />
  <title>Document</title>
  <meta name="viewport" content="width=device-width,initial-scale=1" />
  <link rel="stylesheet" href="css/bootstrap.css" />
  <script src="js/jquery.min.js"></script>
  <script src="js/popper.min.js"></script>
  <script src="js/bootstrap.min.js"></script>
</head>
<body>
  <div class="container">
    <h4>内外边距</h4>
    <div class="border border-danger mt-sm-0 mt-md-5 px-sm-0 px-md-5">Lorem ipsum dolor sit.</div>
    <br>
    <hr>
    <br>
    <h4>浮动</h4>
    <div class="border border-dark clearfix">
      <div class="bg-warning float-sm-left float-md-right float-lg-none">11111</div>
      <div class="bg-success float-sm-left float-md-right float-lg-none">22222</div>
      <div class="bg-danger  float-sm-left float-md-right float-lg-none">33333</div>
    </div>
    <br>
    <hr>
    <br>
    <h4>辅助类</h4>
    <div class="bg-transparent rounded  border border-info border-top-0">
      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Sequi doloribus corporis aut harum nemo voluptatem cupiditate possimus adipisci vel sit.
    </div>
    <br>
    <hr>
  </div>
</body>
</html>

执行结果:

🔹 示例1:手写媒体查询 @media练习

<html lang="en">
	<head>
		<meta charset="UTF-8">
		<title>Document</title>
		<meta name="viewport" content="width=device-width,initial-scale=1">
		<link rel="stylesheet" href="css/bootstrap.css">
		<script src="js/jquery.min.js"></script>
		<script src="js/popper.min.js"></script>
		<script src="js/bootstrap.min.js"></script>
		<style>
			#content{
				height: 400px;
				background: linear-gradient(to right,#0d0439,#592a4c);
				display: flex;
				flex-direction: column;
				justify-content: center;
				align-items: center;
			}
			.font_lg{
				color:#fff;
				font-weight: bolder;
				font-size: 60px;
			}
			.details{color:#aaa;}
			.imgs{
				display: flex;
				flex-wrap: wrap;
			}
			/* 自己新增的样式---添加a标签的hover样式 */
			li a:hover{
				color: #f9fcfa !important;
				text-decoration: none;
			}
			@media (min-width:576px) {
				.details{	font-size: 12px;}
				.imgs>img{width: 100%;}
			}
			@media (min-width:768px) {
				.details{	font-size: 16px;}
				.imgs>img{width: 50%;}
			}
			@media (min-width:1200px) {
				.details{	font-size: 18px;}
				.imgs>img{width: 25%;}
			}
		</style>
	</head>
	<body>
		<div class="container">
			<ul class="list-unstyled bg-dark clearfix py-2 mb-0">
				<li class="float-left ml-4"><a class="text-muted" href="#">Bootstrap中文网</a></li>
				<li class="float-left ml-3"><a class="text-muted" href="#">起步</a></li>
				<li class="float-left ml-3"><a class="text-muted" href="#">全局css</a></li>
				<li class="float-left ml-3"><a class="text-muted" href="#">组件</a></li>
				<li class="float-left ml-3"><a class="text-muted" href="#">插件</a></li>
				<li class="float-left ml-3"><a class="text-muted" href="#">定制</a></li>
			</ul>
			<div id="content">
				<p class="font_lg mt-5">Bootstrap</p>
				<p class="details">简洁、直观、强悍的前端开发框架,让web开发更迅速、简单。</p>
				<a href="#" class="btn btn-primary">Bootstrap3中文文档(v3.3.7)</a>
				<a href="#" class="btn btn-link text-muted btn-sm">Bootstrap2中文文档(v2.3.2)</a>
			</div>
			<div class="imgs">
				<img src="boot-1.png" alt="">
				<img src="boot-2.png" alt="">
				<img src="boot-3.png" alt="">
				<img src="boot-4.png" alt="">
			</div>

			<!-- **之后会说到栅格的知识,届时使用栅格布局,就可以不用写媒体查询以及	.imgs{display: flex;flex-wrap: wrap;}**
			<div class="row no-gutters">
				<img class="col-xl-3 col-md-6 col-sm-12 " src="boot-1.png" alt="">
				<img class="col-xl-3 col-md-6 col-sm-12 " src="boot-2.png" alt="">
				<img class="col-xl-3 col-md-6 col-sm-12 " src="boot-3.png" alt="">
				<img class="col-xl-3 col-md-6 col-sm-12 " src="boot-4.png" alt="">
			</div> -->
		</div>
	</body>
</html>

运行结果:

素材:boot-1.jpg、boot-2.jpg、boot-3.jpg、boot-4.jpg


🔹 示例2:手写媒体查询 @media练习

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8" />
  <title>Document</title>
  <meta name="viewport" content="width=device-width,initial-scale=1" />
  <link rel="stylesheet" href="css/bootstrap.css" />
  <script src="js/jquery.min.js"></script>
  <script src="js/popper.min.js"></script>
  <script src="js/bootstrap.min.js"></script>
  <style>
    .container>div {
      border: 1px solid #000;
    }

    .container>div>div {
      border: 1px solid #000;
    }
  </style>
</head>

<body>
  <div class="container">
    <div class="row no-gutters">
      <div class="col-xl-2 col-md-2 col-sm-12">
        <ul class="list-unstyled">
          <li class="border border-danger"><a href="">豆蔻年华</a></li>
          <li class="border border-danger"><a href="">豆蔻年华</a></li>
          <li class="border border-danger"><a href="">豆蔻年华</a></li>
          <li class="border border-danger"><a href="">豆蔻年华</a></li>
        </ul>
      </div>
      <div class="col-xl-8 col-md-10 col-sm-12">
        <div class="row no-gutters">
          <div class="col-sm-6 col-md-3 p-1">
            <img class="w-100" src="2.jpg" alt="" />
          </div>
          <div class="col-sm-6 col-md-3 p-1">
            <img class="w-100" src="2.jpg" alt="" />
          </div>
          <div class="col-sm-6 col-md-3 p-1">
            <img class="w-100" src="2.jpg" alt="" />
          </div>
          <div class="col-sm-6 col-md-3 p-1">
            <img class="w-100" src="2.jpg" alt="" />
          </div>
        </div>
        Lorem ipsum dolor sit amet, consectetur adipisicing elit. Doloribus
        repellendus et hic aut magnam minima quos alias animi illo inventore
        reprehenderit veniam explicabo officia fuga tenetur saepe commodi.
        Laudantium ratione ullam officia quidem rem animi iure necessitatibus
        ducimus quia reiciendis ut beatae minus ipsam facere sapiente dolorum
        labore tempore vel eum totam eveniet perspiciatis fugit itaque libero
        commodi dolor minima asperiores expedita earum iste amet quam ipsum
        est voluptate quasi praesentium enim modi doloremque sed sint at nobis
        autem fugiat deserunt odit error. Debitis consequatur tempore numquam
        aliquid obcaecati ipsam nemo ipsum rem nam. Eveniet explicabo et
        consectetur accusantium recusandae?
      </div>
      <div class="col-xl-2 d-md-none col-sm-12 d-xl-block">
        右侧广告 Lorem ipsum dolor sit amet, consectetur adipisicing elit.
        Praesentium qui tempora doloribus quisquam porro beatae odio quas sint
        ex in aliquid quo distinctio! Natus quidem rem voluptatum nam esse ab
        deserunt sed incidunt iste possimus laborum labore est eaque facere in
        placeat reprehenderit at nostrum vitae ad. Quo hic consequatur enim
        esse eligendi impedit itaque quasi quod voluptas beatae qui architecto
        voluptatibus obcaecati minus numquam officiis ad repellat dolore eos
        rem mollitia ullam vitae quam. Animi nesciunt molestiae debitis
        officiis deleniti aliquid dolor? Dolores vero eum et sequi aut vitae
        ad repellat vel id libero minima porro saepe dolore. Quaerat.
      </div>
    </div>
  </div>
</body>

</html>

运行结果:


【后文传送门】👉   bootstrap入门之栅格布局、弹性布局、组件类_02


  • 2
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

儒雅的烤地瓜

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值