bootstrap

容器

流体容器

流体容器是自适应的,效果相当于width为auto
但,注意width为autowidth为100%是不一样的

示例:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<link rel="stylesheet" type="text/css" href="css/bootstrap.min.css"/>
		<style type="text/css">
			.container-fluid{
				background: pink;
			}
		</style>
	</head>
	<body>
		<div class="container-fluid">
			test
		</div>
	</body>
	<script src="js/jquery.min.js"></script>
	<script src="js/bootstrap.min.js"></script>
</html>

效果图:
在这里插入图片描述

固定容器

阈值width
大于等于1200px (lg:大屏pc)1170px(1140px+槽宽)
大于等于992px (md:中屏pc) 小于1200px970px(940px+槽宽)
大于等于768px (sm:平板) 小于992px750px(720px+槽宽)
小于768px (xs:移动手机)auto(流体布局、流体容器)
<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<link rel="stylesheet" type="text/css" href="css/bootstrap.min.css"/>
		<style type="text/css">
			.container{
				background: pink;
			}
			
		</style>
	</head>
	<body>
		<div class="container">
			test
		</div>
	</body>
	<script src="js/jquery.min.js"></script>
	<script src="js/bootstrap.min.js"></script>
</html>

效果图:
在这里插入图片描述

栅格系统

一行默认会一行分成12份

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<link rel="stylesheet" type="text/css" href="css/bootstrap.min.css"/>
		<style type="text/css">
			.container{
				background: pink;
			}
			div[class|=col]{
				border: 1px solid;
			}
		</style>
	</head>
	<body>
		<div class="container">
			<div class="row">
				<div class="col-lg-10">col-lg-10</div>
				<div class="col-lg-2">col-lg-2</div>
			</div>
			
			<div class="row">
				<div class="col-lg-6">col-lg-6</div>
				<div class="col-lg-6">col-lg-6</div>
			</div>
			
			<div class="row">
				<div class="col-lg-4">col-lg-4</div>
				<div class="col-lg-8">col-lg-8</div>
			</div>
		</div>
	</body>
	<script src="js/jquery.min.js"></script>
	<script src="js/bootstrap.min.js"></script>
</html>

效果图:
在这里插入图片描述

栅格组合

<div class="container">
	<div class="row">
		<div class="col-lg-10 col-md-6">col-lg-10</div>
		<div class="col-lg-2 col-md-6">col-lg-2</div>
	</div>	
</div>

自定义栅格系统

在这里插入图片描述

①自己写一个less文件
damu.less

@import "grid.less";
@import "variables.less";
@import "mixin/clearfix.less";
@import "mixin/grid.less";
@import "mixin/grid-framework.less";

②将variables.less中的col-都改为damu-col
③编译less文件
注意:clearfix不能有括号,否则不能继承

栅格源码分析

  1. 流体容器&固定容器的公共样式
	  margin-right: auto;
	  margin-left: auto;
	  padding-left:  15px;
	  padding-right: 15px;
	  清除浮动
  1. 固定容器特定样式
    顺序不可变
	@media (min-width: @screen-sm-min) {
      width: @container-sm;
  	}
	@media (min-width: @screen-md-min) {
	  width: @container-md;
	}
	@media (min-width: @screen-lg-min) {
	  width: @container-lg;
	}
	margin-left:  -15px;
    margin-right: -15px;
	清除浮动
  1. .make-grid-columns();
	.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, 
    .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, 
    ...
    .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 {
      position: relative;
      min-height: 1px;
      padding-left: 15px;
      padding-right: 15px;
    }

bootstrap里面,移动优先
.make-grid(xs);

 .float-grid-columns(@class);
 .loop-grid-columns(@grid-columns, @class, width);
 //列排序
 .loop-grid-columns(@grid-columns, @class, pull);
 .loop-grid-columns(@grid-columns, @class, push);
 //列偏移
 .loop-grid-columns(@grid-columns, @class, offset);

.float-grid-columns(@class);

	 .col-xs-1,.col-xs-2,...,.col-xs-12{
		float;left;
	 }

.loop-grid-columns(@grid-columns, @class, width);

	.col-xs-12{
		width:12/12;
	}
	.col-xs-11{
		width:11/12;
	}
	...
	.col-xs-1{
		width:1/12;
	}

//列排序
.loop-grid-columns(@grid-columns, @class, pull);

	 .col-xs-pull-12{
		right:12/12;
	}
	.col-xs-pull-11{
		right:11/12;
	}
	...
	.col-xs-pull-1{
		right:1/12;
	}
	.col-xs-pull-0{
		right:auto;
	}

.loop-grid-columns(@grid-columns, @class, push);

	.col-xs-push-12{
		left:12/12;
	}
	.col-xs-push-11{
		left:11/12;
	}
	...
	.col-xs-push-1{
		left:1/12;
	}
	.col-xs-push-0{
		left:auto;
	}

//列偏移
.loop-grid-columns(@grid-columns, @class, offset);

	.col-xs-offset-12{
			margin-left:12/12;
	}
	.col-xs-offset-11{
			margin-left:11/12;
	}
	...
	.col-xs-offset-1{
			margin-left:1/12;
	}
	.col-xs-offset-0{
			margin-left:0;
	}

例子:列偏移的使用

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<link rel="stylesheet" type="text/css" href="css/bootstrap.min.css"/>
		<style type="text/css">
			.row{
				background: pink;
			}
			div[class|=col]{
				border: 1px solid;
			}
		</style>
	</head>
	<body>
		<div class="container">
			<div class="row">
				<!--
					居中:使用列偏移
				-->
				<div class="col-lg-4 col-lg-offset-4">col-lg-4</div>
			</div>
			
		</div>
	</body>
	<script src="js/jquery.min.js"></script>
	<script src="js/bootstrap.min.js"></script>
</html>

效果图:
在这里插入图片描述
若未写col-lg-offset-4,则效果图为
在这里插入图片描述

响应式工具

visible-xs:在小于等于768px的时候,显示
hidden-xs:在小于等于768px的时候,隐藏

<body>
		<div class="container">
			<div class="row">
				<div class="jumbotron hidden-xs">
				  <h1>Hello, world!</h1>
				</div>
			  
			</div>  
		</div>
	</body>

栅格盒模型设计的精妙之处

  1. 容器两边具有15px的padding
  2. 行两边具有-15px的margin
  3. 列两边具有15px的padding
  • 为了维护槽宽的规则,列两边必须得要15px的padding

  • 为了能使列嵌套行,行两边必须得要-15px的margin

  • 为了让容器可以包裹住行,容器两边必须得要15px的padding

栅格实例

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		 <meta name="viewport" content="width=device-width, initial-scale=1,user-scalable=no">
		<link rel="stylesheet" type="text/css" href="css/bootstrap.min.css"/>
		<style type="text/css">
			a{
				display: block;
				text-align: center;
				color: gray;
			}
		</style>
	</head>
	<body>
		<div class="container">
			
			<div class="row">
				<div class="jumbotron">
				  <h1>Hello, world!</h1>
				</div>
			  
			  <div class="col-lg-3 col-lg-push-9 col-md-4 col-md-push-8 col-sm-6 col-sm-push-6">
			    <div class="thumbnail">
			      <img src="img/webpack.png" alt="...">
			      <div class="caption">
			        <h3>Bootstrap 编码规范 </h3>
			        <a href="javascript">by @mdo</a>
			        <p>Bootstrap 编码规范:编写灵活、稳定、高质量的HTML和CSS代码的规范。</p>
			      </div>
			    </div>
			  </div>
			  
			  <div class="col-lg-3 col-lg-push-3 col-md-4 col-md-pull-0 col-sm-6 col-sm-pull-6 ">
			    <div class="thumbnail">
			      <img src="img/react.png" alt="...">
			      <div class="caption">
			        <h3>Bootstrap 编码规范 </h3>
			        <a href="javascript">by @mdo</a>
			        <p>Bootstrap 编码规范:编写灵活、稳定、高质量的HTML和CSS代码的规范。</p>
			      </div>
			    </div>
			  </div>
			  
			  <div class="col-lg-3 col-lg-pull-3 col-md-4 col-md-pull-8 col-sm-6 ">
			    <div class="thumbnail">
			      <img src="img/yarn.png" alt="...">
			      <div class="caption">
			        <h3>Bootstrap 编码规范 </h3>
			        <a href="javascript">by @mdo</a>
			        <p>Bootstrap 编码规范:编写灵活、稳定、高质量的HTML和CSS代码的规范。</p>
			      </div>
			    </div>
			  </div>
			  
			   <div class="col-lg-3 col-lg-pull-9 col-md-4 col-sm-6">
			    <div class="thumbnail">
			      <img src="img/bootstrap.png" alt="...">
			      <div class="caption">
			        <h3>Bootstrap 编码规范 </h3>
			        <a href="javascript">by @mdo</a>
			        <p>Bootstrap 编码规范:编写灵活、稳定、高质量的HTML和CSS代码的规范。</p>
			      </div>
			    </div>
			  </div>
			  
			</div>
		</div>
	</body>
	<script src="js/jquery.min.js"></script>
	<script src="js/bootstrap.min.js"></script>
</html>

效果:
随着宽度的减小,它是从前面开始掉下去的
初始图:
在这里插入图片描述
随着宽度的减小
在这里插入图片描述
随着宽度的减小
在这里插入图片描述

bootstrap定制化

@import "../less/bootstrap.less";
@grid-gutter-width:200px;
//将槽宽改为200px

bootstrap实例

<!doctype html>
<html lang="zh-CN">
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1,user-scalable=no">
    <title>1208</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">
		
		<style type="text/css">
			img{
				width: 100%;
			}
			.damu-thumbnail img{
				width: auto;
			}
			.damu-threeC{
				margin-top: 50px;
			}
			.damu-hr{
				margin:50px auto ;
			}
			.damu-hr > hr{
				border: 1px solid yellow;
			}
			.damu-carousel{
				margin-top: 50px;
			}
			.damu-carousel,.damu-carousel .item{
				height: 500px;
				overflow: hidden;
			}
			.carousel-caption{
				bottom: 5%;
			}
			@media only screen and (max-width:768px ) {
				
				.damu-carousel,.damu-carousel .item{
					height: 200px;
				}
			}
		</style>
		
    <!--[if lt IE 9]>
      <script src="js/html5shiv.js"></script>
      <script src="js/respond.min.js"></script>
    <![endif]-->
  </head>
  <body>
    	<!--导航-->
    
		<nav class="navbar navbar-inverse navbar-fixed-top">
		  <div class="container">
		    <!-- Brand and toggle get grouped for better mobile display -->
		    <div class="navbar-header">
		      <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1" aria-expanded="false">
		        <span class="sr-only">Toggle navigation</span>
		        <span class="icon-bar"></span>
		        <span class="icon-bar"></span>
		        <span class="icon-bar"></span>
		      </button>
		      <a class="navbar-brand" href="#">现代浏览器博物馆</a>
		    </div>
		
		    <!-- Collect the nav links, forms, and other content for toggling -->
		    <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
		      <ul class="nav navbar-nav">
		        <li class="active"><a href="#">综述 <span class="sr-only">(current)</span></a></li>
		        <li><a href="#">简述</a></li>
		      
		        <li class="dropdown">
		          <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">特点 <span class="caret"></span></a>
		          <ul class="dropdown-menu" id="damu-nav">
		            <li><a href="#Chrome">Chrome</a></li>
		            <li><a href="#firefox">Firefox</a></li>
		            <li><a href="#Safari">Safari</a></li>
		            <li><a href="#opera">Opera</a></li>
		            <li><a href="#ie">IE</a></li>
		          </ul>
		        </li>
		      	
		      	<li><a href="javascript:;" data-toggle="modal" data-target="#myModal">关于</a></li>
		      </ul>
		      
		    </div>
		  </div>
		</nav>
		
		<!--轮播图-->
		<div id="carousel-example-generic" class="carousel slide damu-carousel" data-ride="carousel" data-interval="1000">
		  	<!-- Indicators -->
			<ol class="carousel-indicators">
			    <li data-target="#carousel-example-generic" data-slide-to="0" class="active"></li>
			    <li data-target="#carousel-example-generic" data-slide-to="1"></li>
			    <li data-tar  get="#carousel-example-generic" data-slide-to="2"></li>
			    <li data-tar  get="#carousel-example-generic" data-slide-to="3"></li>
			    <li data-tar  get="#carousel-example-generic" data-slide-to="4"></li>
			</ol>
			
			<!-- Wrapper for slides -->
			<div class="carousel-inner" role="listbox">
			    <div class="item active">
			      <img src="images/chrome-big.jpg" >
			      <div class="carousel-caption">
			        <h2>chrome</h2>
			      </div>
			    </div>
			    <div class="item">
			      <img src="images/firefox-big.jpg">
			      <div class="carousel-caption">
			        <h2>firefox</h2>
			      </div>
			    </div>
			    <div class="item">
			      <img src="images/safari-big.jpg">
			      <div class="carousel-caption">
			        <h2>safari</h2>
			      </div>
			    </div>
			    <div class="item">
			      <img src="images/opera-big.jpg">
			      <div class="carousel-caption">
			       <h2>opera</h2>
			      </div>
			    </div>
			    <div class="item">
			      <img src="images/ie-big.jpg">
			      <div class="carousel-caption">
			       <h2>ie</h2>
			      </div>
			    </div>
			</div>
			
			  <!-- Controls -->
			<a class="left carousel-control" href="#carousel-example-generic" role="button" data-slide="prev">
			    <span class="glyphicon glyphicon-chevron-left" aria-hidden="true"></span>
			    <span class="sr-only">Previous</span>
			</a>
			<a class="right carousel-control" href="#carousel-example-generic" role="button" data-slide="next">
			    <span class="glyphicon glyphicon-chevron-right" aria-hidden="true"></span>
			    <span class="sr-only">Next</span>
			</a>
		</div>
		
		<!--三列布局-->
		<div class="container damu-threeC">
			<div class="row">
				<div class="col-md-4 damu-thumbnail text-center">
			      <img src="images/chrome-logo-small.jpg">
			      <div class="caption">
			        <h3>chrome</h3>
			        <p>Google Chrome,又称Google浏览器,是一个由Google(谷歌)公司开发的网页浏览器。</p>
			        <p><a href="#" class="btn btn-default" role="button">点我下载</a></p>
			      </div>
				</div>
				<div class="col-md-4 damu-thumbnail text-center">
			      <img src="images/firefox-logo-small.jpg">
			      <div class="caption">
			        <h3>firefox</h3>
			        <p>Mozilla Firefox,中文名通常称为“火狐”或“火狐浏览器”,是一个开源网页浏览器。</p>
			        <p><a href="#" class="btn btn-default" role="button">点我下载</a></p>
			      </div>
				</div>
				<div class="col-md-4 damu-thumbnail text-center">
			      <img src="images/safari-logo-small.jpg">
			      <div class="caption">
			        <h3>safari</h3>
			        <p>Safari,是苹果计算机的最新操作系统Mac OS X中的浏览器。</p>
			        <p><a href="#" class="btn btn-default" role="button">点我下载</a></p>
			      </div>
				</div>
			</div>
		</div>
		
		<!--线-->
		<div class="container damu-hr">
			<hr />
		</div>
		
		<!--标签页-->
		<div class="container" id="damu-tab">
		
		  <!-- Nav tabs -->
		  <ul class="nav nav-tabs" role="tablist" id="damu-list">
		    <li role="presentation" class="active"><a href="#Chrome" aria-controls="Chrome" role="tab" data-toggle="tab">Chrome</a></li>
		    <li role="presentation"><a href="#firefox" aria-controls="firefox" role="tab" data-toggle="tab">firefox</a></li>
		    <li role="presentation"><a href="#Safari" aria-controls="Safari" role="tab" data-toggle="tab">Safari</a></li>
		    <li role="presentation"><a href="#opera" aria-controls="opera" role="tab" data-toggle="tab">Opera</a></li>
		    <li role="presentation"><a href="#ie" aria-controls="ie" role="tab" data-toggle="tab">ie</a></li>
		  </ul>
		
		  <!-- Tab panes -->
		  <div class="tab-content">
		    <div role="tabpanel" class="tab-pane active" id="Chrome">
		    	<div class="container-fluid">
		    		<div class="row">
		    			<div class="col-md-7">
		    				<h3>IE 你懂的</h3>
								Internet Explorer,原称Microsoft Internet Explorer(6版本以前)和Windows Internet Explorer(7,8,9,10版本), 简称IE,是美国微软公司推出的一款网页浏览器。它采用的排版引擎(俗称内核)为Trident。
		    			</div>
		    			<div class="col-md-5">
		    				<img src="images/chrome-logo.jpg"/>
		    			</div>
		    		</div>
		    	</div>
		    </div>
		    
		    <div role="tabpanel" class="tab-pane" id="firefox">
		    	<div class="container-fluid">
		    		<div class="row">
		    			<div class="col-md-5">
		    				<img src="images/firefox-logo.jpg"/>
		    			</div>
		    			<div class="col-md-7">
		    				<h3>IE 你懂的</h3>
								Internet Explorer,原称Microsoft Internet Explorer(6版本以前)和Windows Internet Explorer(7,8,9,10版本), 简称IE,是美国微软公司推出的一款网页浏览器。它采用的排版引擎(俗称内核)为Trident。
		    			</div>
		    		</div>
		    	</div>
		    </div>
		    
		    <div role="tabpanel" class="tab-pane" id="Safari">
		    	<div class="container-fluid">
		    		<div class="row">
		    			<div class="col-md-7">
		    				<h3>IE 你懂的</h3>
								Internet Explorer,原称Microsoft Internet Explorer(6版本以前)和Windows Internet Explorer(7,8,9,10版本), 简称IE,是美国微软公司推出的一款网页浏览器。它采用的排版引擎(俗称内核)为Trident。
		    			</div>
		    			<div class="col-md-5">
		    				<img src="images/safari-logo.jpg"/>
		    			</div>
		    			
		    		</div>
		    	</div>
		    </div>
		    
		    <div role="tabpanel" class="tab-pane" id="opera">
		    	<div class="container-fluid">
		    		<div class="row">
		    			<div class="col-md-5">
		    				<img src="images/opera-logo.jpg"/>
		    			</div>
		    			<div class="col-md-7">
		    				<h3>IE 你懂的</h3>
								Internet Explorer,原称Microsoft Internet Explorer(6版本以前)和Windows Internet Explorer(7,8,9,10版本), 简称IE,是美国微软公司推出的一款网页浏览器。它采用的排版引擎(俗称内核)为Trident。
		    			</div>
		    		</div>
		    	</div>
		    </div>
		    
		    <div role="tabpanel" class="tab-pane" id="ie">
		    	<div class="container-fluid">
		    		<div class="row">
		    			<div class="col-md-7">
		    				<h3>IE 你懂的</h3>
								Internet Explorer,原称Microsoft Internet Explorer(6版本以前)和Windows Internet Explorer(7,8,9,10版本), 简称IE,是美国微软公司推出的一款网页浏览器。它采用的排版引擎(俗称内核)为Trident。
		    			</div>
		    			<div class="col-md-5">
		    				<img src="images/ie-logo.jpg"/>
		    			</div>
		    			
		    		</div>
		    	</div>
		    </div>
		    
		  </div>
		
		</div>

		<!--版权-->
		<div class="container">
			&copy;喜羊羊
		</div>
		
		
		<!--模态框-->
		<div class="modal fade" tabindex="-1" role="dialog" id="myModal">
		  <div class="modal-dialog" role="document">
		    <div class="modal-content">
		      <div class="modal-header">
		        <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
		        <h4 class="modal-title">模态框</h4>
		      </div>
		      <div class="modal-body">
		        <p>我是一个模态框</p>
		      </div>
		      <div class="modal-footer">
		        <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
		      </div>
		    </div><!-- /.modal-content -->
		  </div><!-- /.modal-dialog -->
		</div><!-- /.modal -->
			
		
		
		<script src="js/jquery.min.js" ></script>
		<script src="js/bootstrap.min.js" ></script>
  </body>
  
      <script type="text/javascript">
			$(function(){
				
				$("#damu-nav li a").click(function(e){
					var href = $(this).attr("href");
					$(document).scrollTop($("#damu-tab").offset().top-100);
					$("#damu-list li a[href="+href+"]").tab("show");
					e.preventDefault();
				})
				 
			})
    </script>
  
</html>

效果图:
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值