bootstrap入门

今日内容

  • Bootstrap

BootStrap

  • 概念: 一个前端开发的框架
    简介:
    	Bootstrap,来自 Twitter,是目前最受欢迎的前端框架。
    	Bootstrap 是基于 HTML、CSS、JAVASCRIPT 的,它简洁灵活,使得 Web 开发更加快捷
    	什么是框架?
    	框架是一个半成品软件,开发人员在框架的基础上简化编码
    
    优点:
    	a.定义了很多的css的样式和js插件
    	b.响应式布局
    	什么是响应式布局?
    	同一套页面,可以兼容不同的设备和分辨率
    

  • BootStrap快速入门
    下载地址:[](https://v3.bootcss.com/getting-started/)
    复制文件到项目目录
    引入文件到html页面
    

  • 基本模板
    <!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">
        <!-- 上述3个meta标签*必须*放在最前面,任何其他内容都*必须*跟随其后! -->
        <title>Bootstrap 101 Template</title>
    
        <!-- Bootstrap -->
        <link href="./css/bootstrap.min.css" rel="stylesheet">
    
        <!-- 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>
    
        <!-- jQuery (Bootstrap 的所有 JavaScript 插件都依赖 jQuery,所以必须放在前边) -->
        <script src="./js/jquery.min.js"></script>
        <!-- 加载 Bootstrap 的所有 JavaScript 插件。你也可以根据需要只加载单个插件。 -->
        <script src="./js/bootstrap.min.js"></script>
      </body>
    </html>
    

  • 改良模板:复制以此为准
    <!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">
    		<!-- 上述3个meta标签*必须*放在最前面,任何其他内容都*必须*跟随其后! -->
    		<title>Bootstrap 101 Template</title>
    
    		<!-- Bootstrap -->
    		<link href="./css/bootstrap.min.css" rel="stylesheet">
    
    		<!-- jQuery (Bootstrap 的所有 JavaScript 插件都依赖 jQuery,所以必须放在前边) -->
    		<script src="./js/jquery.min.js"></script>
    		<!-- 加载 Bootstrap 的所有 JavaScript 插件。你也可以根据需要只加载单个插件。 -->
    		<script src="./js/bootstrap.min.js"></script>
    	</head>
        <body>
    		 
        </body>
    </html>
    
    

响应式布局

  • 简介
    如何实现响应式布局?
    响应式布局依赖于栅格系统:将一行平均分成12个格子,可以指定元素占几个格子
    
  • 实现步骤
    1.定义容器
    	容器分类:
    		container:固定宽度
    		container-fluid:100%宽度
    		
    2.定义行 样式:row
    	
    3.定义元素 样式:col-设备代号-格子数目
    	设备代号:
    		超小屏幕-手机(<768px) .col-xs-
    		小屏幕-平板(≥768px) .col-sm-
    		中等屏幕 桌面显示器 (≥992px) .col-md-
    		大屏幕 大桌面显示器 (≥1200px) .col-lg-
    
    【注意事项】
    	a.一行中如果格子超过12,超出部分会自动换行
    	b.栅格类系统会向上兼容,善各类适用于品目宽度大于等于分界点大小的设备
    	c.真是设备宽度小于设置栅格类属性的的最小值,会自动换行
    

CSS样式和Js插件

  • 全局CSS样式
    按钮
    	<a class="btn btn-default" href="#" role="button">Link</a>
    	<button class="btn btn-default" type="submit">Button</button>
    	<input class="btn btn-default" type="button" value="Input">
    	<input class="btn btn-default" type="submit" value="Submit">
    
    图片
    	<img src="..." alt="..." class="img-rounded">
    	<img src="..." alt="..." class="img-circle">
    	<img src="..." alt="..." class="img-thumbnail">
    	img-responsive 自适应,任何情况下都占100%
    	
    表格
    	<table class="table table-striped">
    	  ...
    	</table>
    	
    表单
    	<form>
    	  <div class="form-group">
    	    <label for="exampleInputEmail1">Email address</label>
    	    <input type="email" class="form-control" id="exampleInputEmail1" placeholder="Email">
    	  </div>
    	  <div class="form-group">
    	    <label for="exampleInputPassword1">Password</label>
    	    <input type="password" class="form-control" id="exampleInputPassword1" placeholder="Password">
    	  </div>
    	  <div class="form-group">
    	    <label for="exampleInputFile">File input</label>
    	    <input type="file" id="exampleInputFile">
    	    <p class="help-block">Example block-level help text here.</p>
    	  </div>
    	  <div class="checkbox">
    	    <label>
    	      <input type="checkbox"> Check me out
    	    </label>
    	  </div>
    	  <button type="submit" class="btn btn-default">Submit</button>
    	</form>
    
  • 组件
    导航条---哪里不懂删哪里
    	<nav class="navbar navbar-default">
    	  <div class="container-fluid">
    	    <!-- 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="#">Brand</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="#">Link <span class="sr-only">(current)</span></a></li>
    	        <li><a href="#">Link</a></li>
    	        <li class="dropdown">
    	          <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Dropdown <span class="caret"></span></a>
    	          <ul class="dropdown-menu">
    	            <li><a href="#">Action</a></li>
    	            <li><a href="#">Another action</a></li>
    	            <li><a href="#">Something else here</a></li>
    	            <li role="separator" class="divider"></li>
    	            <li><a href="#">Separated link</a></li>
    	            <li role="separator" class="divider"></li>
    	            <li><a href="#">One more separated link</a></li>
    	          </ul>
    	        </li>
    	      </ul>
    	      <form class="navbar-form navbar-left">
    	        <div class="form-group">
    	          <input type="text" class="form-control" placeholder="Search">
    	        </div>
    	        <button type="submit" class="btn btn-default">Submit</button>
    	      </form>
    	      <ul class="nav navbar-nav navbar-right">
    	        <li><a href="#">Link</a></li>
    	        <li class="dropdown">
    	          <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Dropdown <span class="caret"></span></a>
    	          <ul class="dropdown-menu">
    	            <li><a href="#">Action</a></li>
    	            <li><a href="#">Another action</a></li>
    	            <li><a href="#">Something else here</a></li>
    	            <li role="separator" class="divider"></li>
    	            <li><a href="#">Separated link</a></li>
    	          </ul>
    	        </li>
    	      </ul>
    	    </div><!-- /.navbar-collapse -->
    	  </div><!-- /.container-fluid -->
    	</nav>
    
    分页条
    	<nav aria-label="Page navigation">
    	  <ul class="pagination">
    	    <li>
    	      <a href="#" aria-label="Previous">
    	        <span aria-hidden="true">&laquo;</span>
    	      </a>
    	    </li>
    	    <li><a href="#">1</a></li>
    	    <li><a href="#">2</a></li>
    	    <li><a href="#">3</a></li>
    	    <li><a href="#">4</a></li>
    	    <li><a href="#">5</a></li>
    	    <li>
    	      <a href="#" aria-label="Next">
    	        <span aria-hidden="true">&raquo;</span>
    	      </a>
    	    </li>
    	  </ul>
    	</nav>
    
  • 插件
    Carousel 轮播图
    	<div id="carousel-example-generic" class="carousel slide" data-ride="carousel">
    	  <!-- 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-target="#carousel-example-generic" data-slide-to="2"></li>
    	  </ol>
    	
    	  <!-- Wrapper for slides -->
    	  <div class="carousel-inner" role="listbox">
    	    <div class="item active">
    	      <img src="..." alt="...">
    	      <div class="carousel-caption">
    	        ...
    	      </div>
    	    </div>
    	    <div class="item">
    	      <img src="..." alt="...">
    	      <div class="carousel-caption">
    	        ...
    	      </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>
    

案例:旅游网首页

  • 代码演示
    <!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">
    		<!-- 上述3个meta标签*必须*放在最前面,任何其他内容都*必须*跟随其后! -->
    		<title>Bootstrap 101 Template</title>
    
    		<!-- Bootstrap -->
    		<link href="./css/bootstrap.min.css" rel="stylesheet">
    
    		<!-- jQuery (Bootstrap 的所有 JavaScript 插件都依赖 jQuery,所以必须放在前边) -->
    		<script src="./js/jquery.min.js"></script>
    		<!-- 加载 Bootstrap 的所有 JavaScript 插件。你也可以根据需要只加载单个插件。 -->
    		<script src="./js/bootstrap.min.js"></script>
    		<style type="text/css">
    			div{
    				border: 1px red;
    				/* height: 50px; */
    			}
    			.padtop{
    				margin-top: 10px;	
    			}
    			.serach-input{
    				float: left;
    				border: 2px solid #FFc900;
    				width: 350px;
    				height: 35px;
    				margin-left: 50px;
    				margin-top: 5px;
    			}
    			.serach-btn{
    				float: left;
    				border: 1px solid #FFC900;
    				width: 100px;
    				height: 35px;
    				background-color: #FFC900;
    				text-align: center;
    				/* 
    					line-height的属性
    					与外框高度一直是,内容会水平居中
    				 */
    				line-height: 35px;
    				text-decoration: none;
    				margin-top: 5px;
    			}
    			
    		</style>
    	</head>
        <body>
    		
    		<!-- 1.页眉部分 -->
    		<header class="container-fluid">
    			
    			<!-- 标题部分 -->
    			<div class="row">
    				<img src="..." class="img-responsive">
    			</div>
    			<div class="row padtop">
    				<div class="col-md-3 inner"><img src="#" ></div>
    				<div class="col-md-5 inner">
    					<form >
    						<input class="serach-input" type="text" name="" id="" placeholder="请输入" />
    						<a class="serach-btn" href="#">搜索</a>
    					</form>
    				</div>
    				<div class="col-md-4 inner"><img src="#" ></div>
    			</div>
    
    			<!-- 导航栏 -->
    			<div class="row">
    				<nav class="navbar navbar-default">
    					<div class="container-fluid">
    						<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>
    						
    						<div class="collapse navbar-collapse" >
    							<ul class="nav navbar-nav">
    								 <li><a href="#">Link</a></li>
    								 <li><a href="#">Link</a></li>
    								 <li><a href="#">Link</a></li>
    								 <li><a href="#">Link</a></li>
    								<li></li>
    							</ul>
    							<ul class="nav navbar-nav navbar-right">
    								<li><a href="#">Link</a></li>
    							</ul>
    						</div>
    					</div>
    				</nav>
    			</div>
    			
    			<!-- 轮播图 -->
    			<div class="row">
    				<div id="carousel-example-generic" class="carousel slide" data-ride="carousel">
    				  <!-- 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-target="#carousel-example-generic" data-slide-to="2"></li>
    				  </ol>
    				
    				  <!-- Wrapper for slides -->
    				  <div class="carousel-inner" role="listbox">
    				    <div class="item active">
    				      <img src="img/0.jpg" alt="..."> 
    				    </div>
    					
    				    <div class="item">
    				      <img src="img/1.jpg" alt="...">
    				    </div>
    				   
    				   <div class="item active">
    				     <img src="img/2.jpg" alt="..."> 
    				   </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>
    		</header>
    		
    		<!-- 2.主体部分 -->
    		<div class="container">
    			
    		</div>
    		
    		<!-- 3.页脚部分 -->
    		<footer class="container">
    			
    		</footer>
    		
        </body>
    </html>
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值