在Bootstrap中采用12栅格的布局,12份随意分配,但是不能解决5等分,7等分的问题。所以flex布局来协助。

bootstrap的布局方式

<div class="row">
<div class="col-md-1">.col-md-1</div>
<div class="col-md-1">.col-md-1</div>
<div class="col-md-1">.col-md-1</div>
<div class="col-md-1">.col-md-1</div>
<div class="col-md-1">.col-md-1</div>
<div class="col-md-1">.col-md-1</div>
<div class="col-md-1">.col-md-1</div>
<div class="col-md-1">.col-md-1</div>
<div class="col-md-1">.col-md-1</div>
<div class="col-md-1">.col-md-1</div>
<div class="col-md-1">.col-md-1</div>
<div class="col-md-1">.col-md-1</div>
</div>
<div class="row">
<div class="col-md-8">.col-md-8</div>
<div class="col-md-4">.col-md-4</div>
</div>
<div class="row">
<div class="col-md-4">.col-md-4</div>
<div class="col-md-4">.col-md-4</div>
<div class="col-md-4">.col-md-4</div>
</div>
<div class="row">
<div class="col-md-6">.col-md-6</div>
<div class="col-md-6">.col-md-6</div>
</div>
<div class="row">为父容器,class声明自己在容器中占据几个。

Flex的布局方式

声明的方式如下

     .Grid {
display: flex;
} .Grid-cell {
flex:;
text-align: center;
margin:10px; }

在html代码中,添加css的引用

 <div class="Grid">
<div class="Grid-cell">
<svg id="fillgauge2" width="100%" height="200" onclick="gauge2.update(NewValue());"></svg>
<label>CPU占有率</label>
</div>
<div class="Grid-cell"> <svg id="fillgauge3" width="100%" height="200" onclick="gauge3.update(NewValue());"></svg>
<label>CPU占有率</label>
</div>
<div class="Grid-cell"><svg id="fillgauge4" width="100%" height="200" onclick="gauge4.update(NewValue());"></svg>
<label>CPU占有率</label></div>
<div class="Grid-cell"><svg id="fillgauge5" width="100%" height="200" onclick="gauge5.update(NewValue());"></svg>
<label>CPU占有率</label></div>
<div class="Grid-cell"><svg id="fillgauge6" width="100%" height="200" onclick="gauge6.update(NewValue());"></svg>
<label>CPU占有率</label></div> </div>

<div class="Grid"> 中有5个层,<div class="Grid-cell">,这5个层flex=1,然后每个层占得比例为 1/(1+1+1+1+1)

Flex比Bootstrap的布局适应性更强,因为flex是基于灵活布局,而Bootstrap是自定义宽度布局,当删除元素时这些显得尤为明显。

Flex布局和Bootstrap两者相同的设计理念

1、内部的孩子节点无margin,元素之间的空隙用padding和border进行间隔,以及box-sizding:bording-box进行宽高的界定。

2、两者都完美适配手机。

但是flex 存在严重问题,一行放4个,但是不够4个有时候不能够自适应,也要求剩余1部分。

 bootstrap自适应能力不如flex布局。 

经过了很长时间。我们发现了 flex布局有很强的优越性,而bootstrap不行了。

1、abc a固定,c固定,b要进行自适应。使用flex:1

2、flex不受margin-left 和margin-right的影响。而bootstrap对这块支持的特别惨。

结合京东顶部的设计。

仿照京东我们自己也做了一个。

我们提供如下的代码

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
<link href="Content/bootstrap.min.css" rel="stylesheet" />
<script src="Scripts/jquery-3.4.1.min.js"></script>
<script src="Scripts/bootstrap.min.js"></script>
<link href="Reset.css" rel="stylesheet" />
<link href="Content/octicons.css" rel="stylesheet" /> <style>
#d1 {
height: 50px;
line-height: 50px;
background-color: aqua;
color: cadetblue;
display: flex;
} #d1 .left {
height: 50px;
line-height: 50px;
float: left;
padding-left: 10px;
} #d1 .center {
flex: 1;
margin-left: 20px;
margin-right: 20px;
height: 50px;
line-height: 50px;
} #d1 .right {
height: 50px;
line-height: 50px;
float: right;
padding-right: 10px;
}
</style>
</head>
<body>
<div id="d1">
<div class="left ">
扫码<i class="octicon octicon-alert"></i>
</div>
<div class="center">
<input id="Text1" type="text" class="form-control form-control-sm" style="display:inline;border-radius:20px;
padding-left: 20px;
" placeholder="请您输入......" />
</div> <div class="center" style="flex:2">
<input id="Text1" type="text" class="form-control form-control-sm" style="display:inline;border-radius:20px;
padding-left: 20px;
" placeholder="请您输入......" />
</div> <div class="right">
城市列表<i class="octicon octicon-bold"></i>
</div> </div> </body>
</html>

Flex布局和Bootstrap布局两者的比较的更多相关文章

  1. Bootstrap页面布局3 - BS布局以及流动布局

    1. <h1 class='page-header'>布局<small> 使用bootstrap网格系统布局网页</small></h1> 得到如图所示 ...

  2. 测开之路一百零六:bootstrap布局

    可以在html的head里面加一些说明 <meta http-equiv="X-UA-Compatible" content="IE=edge">& ...

  3. 前端入门24-响应式布局(BootStrap)

    声明 本篇内容摘抄自以下两个来源: BootStrap中文网 感谢大佬们的分享. 正文-响应式布局(BootStrap) 这次想来讲讲一个前端开发框架:BootStrap BootStrap 目前已经 ...

  4. 实现bootstrap布局的input输入框中的图标点击功能

    使用bootstrap布局可以在input的输入框中添加譬如登录名输入框中的一键清除图标和密码输入框中显示密码的小眼睛图标.如下图: 但是在将图标放入input输入框中,这些小图标是无法获得点击事件的 ...

  5. BootStrap布局案例

    BootStrap布局 bootstrap 2.3版与3.0版的使用区别 http://www.weste.net/2013/8-20/93261.html 以一个博客系统的首页,来介绍如何布局 1, ...

  6. Bootstrap 布局

    bootstrap提供的布局主要有两种,固定布局和流动布局. Bootstrap 固定布局 用法 <body> <div class="container"> ...

  7. Flex布局【弹性布局】学习

    先让我们看看在原来的学习中遇到的问题 之前在软件工程的大作业中,自己从零开始学习如何开发一个网站,从页面,到后台,当然数据库是大二的必修课 在学习如何编写一个静态页面的时候,完全是自学,自己摸索,所以 ...

  8. flex布局 响应式布局

    移动端页面开发流程   移动端页面布局 一.移动端app分类 1.Native App原生app手机应用程序 使用原生的语言开发的手机应用,Android系统用的是java,ios系统用的是objec ...

  9. 响应式布局与bootstrap框架

    原文 网页布局方式 1.固定宽度布局:为网页设置一个固定的宽度,通常以px做为长度单位,常见于PC端网页. 2.流式布局:为网页设置一个相对的宽度,通常以百分比做为长度单位. 3.栅格化布局:将网页宽 ...

随机推荐

  1. Debug时含有的子元素,在代码里获取不到的问题

    比如,Debug时如下图展示: 我想要获取的是:ansList.get(i).getComponent().getConnectorId() debug时明明有这个元素,但是当我写出来的时候却发现:a ...

  2. MT【218】交点个数

    若函数$f(x)=x^3+ax^2+bx+c$有极值点$x_1,x_2$,且$f(x_1)=x_1$,则关于$x$的方程$3(f(x))^2+2af(x)+b=0$的不同实数根个数为_____ 注意到 ...

  3. MT【214】焦点弦长公式

    已知椭圆焦点为$F_1(-1,0),F_2(1,0)$,且椭圆与直线$y=x-\sqrt{3}$相切,求(1)椭圆的方程(2)过$F_1$作两条相互垂直的直线$l_1,l_2$与椭圆相交于$P,Q,M ...

  4. BUPT2017 wintertraining(15) #3 题解

    我觉得好多套路我都不会ヘ(;´Д`ヘ) 题解拖到情人节后一天才完成,还有三场没补完,真想打死自己.( ˙-˙ ) A - 温泉旅店 UESTC - 878  题意 ​ 有n张牌,两人都可以从中拿出任意 ...

  5. 树剖模板(洛谷P3384 【模板】树链剖分)(树链剖分,树状数组,树的dfn序)

    洛谷题目传送门 仍然是一个板子. 不过蒟蒻去学了一下BIT维护区间修改区间求和,常数果真十分优秀 设数列为\(a_i\),差分数组\(d_ i=a_ i-a_ {i-1}\),前缀和\(s_i=\su ...

  6. 自学Zabbix3.12-动作Action

    点击返回:自学Zabbix之路 点击返回:自学Zabbix4.0之路 点击返回:自学zabbix集锦 自学Zabbix3.12-动作Action介绍 1. 动作action 在配置好监控项和触发器之后 ...

  7. luogu2607/bzoj1040 [ZJOI2008]骑士 (基环树形dp)

    N个点,每个点发出一条边,那么这个图的形状一定是一个基环树森林(如果有重边就会出现森林) 那我做f[0][x]和f[1][x]分别表示对于x子树,x这个点选还是不选所带来的最大价值 然后就变成了这好几 ...

  8. 【bzoj3876】 Ahoi2014—支线剧情

    http://www.lydsy.com/JudgeOnline/problem.php?id=3876 (题目链接) 题意 给出一张拓扑图,每条边有一个权值,问每次从1号点出发,走遍所有的边所需要的 ...

  9. 【POJ3349】snowflakes

    这是一道可以练习哈希表的模板题.关于哈希表的操作均有涉及. 哈希函数的选取是这道题的关键.这道题的关键字是一个长度为6的序列,并且序列与开始顺序.时钟顺序均无关. 因此,采用哈希函数\(H[x]=\S ...

  10. MySQL5.5登录密码忘记了,怎嘛办?

    1.关闭正在运行的MySQL. 2.打开DOS窗口,转到mysql\bin目录. 3.输入mysqld --skip-grant-    tables回车.如果没有出现提示信息,那就对了. 4.再开一 ...