菜单 学习猿地 - LMONKEY

VIP

开通学习猿地VIP

尊享10项VIP特权 持续新增

知识通关挑战

打卡带练!告别无效练习

接私单赚外块

VIP优先接,累计金额超百万

学习猿地私房课免费学

大厂实战课仅对VIP开放

你的一对一导师

每月可免费咨询大牛30次

领取更多软件工程师实用特权

入驻
0
0

Bootstrap(前端开发框架)

原创
05/13 14:22
阅读数 191

前端框架的理解

1.前端框架是什么意思?

前端框架一般指用于简化网页设计的框架,使用广泛的前端开发套件,比如,jquery,extjs,bootstrap等等,这些框架封装了一些功能,比如html文档操作,漂亮的各种控件(按钮,表单等等),使用前端框架可以帮助快速的网站。

框架是提供一套完整的解决方案,按照规定好的代码结构来做编排,同时前端功能越来越强大而产生的前端框架,所以开发web产品就很必要用前端框架(前端架构)。

2.Web前端开发技术三要素

Web前端开发技术框架包括三个要素:HTML、CSS和JavaScript,当然还有很多高级的前端框架,比如bootstrap、Jquery等。主要是用来帮助高效的开发出前端页面。

3.使用前端框架的好处

使用前段框架可以降低界面开发周期和提高界面的美观性。

有些框架比较轻量,比如jquery,有些框架比较重量,比如extjs。一般来说重量的框架会封装更多的功能,比如extjs,封装的grid控件有很强的数据展示和操作功能。

一、3个WWW

1、what?是什么

①.诞生于2011年,来自Twitter公司,是目前最受欢迎的前端框架
②.是一个用于快速开发Web应用程序和网站的前端框架
③.Bootstrap是基于HTML、CSS、JS的,简洁灵活,使得Web开发更加快捷
概述:Bootstrap是一个建立一个页面,就可以在三个终端(PC端、平板、手机)上完美展示的响应式前端框架

2、why?为什么使用

①.响应式设计(Bootstrap的响应式CSS能够自适应台式机、平板电脑和手机)
②.移动设备优先
③.浏览器支持
④.容易上手

3、where?使用领域

企业网站、博客、网站后台之类的网站
电商(电商网站分类太多)

二、环境安装

1、下载Bootstrap库

https://v4.bootcss.com/

2、页面中引入库

bootstrap.css: Bootstrap核心样式【添加到head标签中】
jquery-3.3.1.js: jQuery库【注意:必须在Bootstrap核心库引入之前引入jQuery库】
bootstrap.js: Bootstrap核心库

三、案例

以网上书城为例

案例1:查询按钮原生态实现对比Bootstrap方式实现

    <!DOCTYPE html>
    <html>
    	<head>
    		<meta charset="utf-8" />
    		<title></title>
    		<link rel="stylesheet" type="text/css" href="css/bootstrap.css" />
    		<script src="js/jquery-3.6.0.js" type="text/javascript"></script>
    		<script src="js/bootstrap.js" type="text/javascript"></script>
     
    		<style type="text/css">
    			#btn {
    				/* 宽度 */
    				width: 90px;
    				/* 高度 */
    				height: 35px;
    				/* 去边框 */
    				border: 0px;
    				/* 背景 */
    				background-color: #FFDF7E;
    				/* 字体颜色 */
    				color: darkgreen;
    				/* 圆弧 */
    				border-radius: 5px;
    			}
    		</style>
     
    	</head>
    	<body>
    		<!-- 原生态按钮 -->
    		<input type="button" value="查询" />
    		<a href="javascript:void(0)">查询</a>
    		<button>查询</button>
    		<p>设置样式后的按钮</p>
    		<button id="btn">查询</button>
    		<hr>
     
    		<!-- bootstrap按钮 -->
    		<button class="btn">查询</button>
    		<!-- 快速得到原生态按钮 就不用再写style-->
    		<!-- <button class="btn btn-primary">查询</button> -->
    	</body>
     
    </html>

图片.png

案例2:演示Bootstrap页面在手机浏览器中展示效果

    <!-- 移动端显示 -->
    <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
width=device-width:呈现在不同设备上
initial-scale=1.0:以1:1比例呈现,不会有任何缩放
user-scalable=no:禁用网页缩放功能
maximum-scale=1.0:页面放大程序,1.0将禁止用户放大实际尺寸

案例3:首页导航&搜索区域原生态实现(div+css)

    <!DOCTYPE html>
    <html>
    	<head>
    		<meta charset="utf-8" />
    		<!-- 手机端 -->
    		<meta name="viewport"
    			content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
    		<title>导航条</title>
    		<link rel="stylesheet" type="text/css" href="css/bootstrap.css" />
    		<script src="js/jquery-3.6.0.js" type="text/javascript"></script>
    		<script src="js/bootstrap.js" type="text/javascript"></script>
    		<style type="text/css">
    			.navbar-collapse {
    				/* 弹性布局中的一个属性 */
    				/* 前提套用container固定容器*/
    				flex-grow: 0;
    			}
    		</style>
    	</head>
    	<body>
    		<!-- 导航条 -->
    		<nav class="navbar navbar-expand-lg navbar-light bg-light">
    			<div class="container">
    				<!-- 标题-->
    				<a class="navbar-brand" href="#">阿巴阿巴阿巴。。。。。</a>
    				<!-- data-toggle="collapse"控制折叠切换效果 
    					data-target="#navbarNav"根据id找到指定的折叠容器-->
    				<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarNav"
    					aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation">
    					<span class="navbar-toggler-icon"></span>
    				</button>
    				<!-- active选中  disabled禁用-->
    				<div class="collapse navbar-collapse" id="navbarNav">
    					<ul class="navbar-nav">
    						<li class="nav-item active">
    							<a class="nav-link" href="#">首页 <span class="sr-only">(current)</span></a>
    						</li>
    						<li class="nav-item">
    							<a class="nav-link" href="#">登录</a>
    						</li>
    						<li class="nav-item">
    							<a class="nav-link" href="#">注册</a>
    						</li>
    						<li class="nav-item">
    							<a class="nav-link disabled">购物车</a>
    						</li>
    					</ul>
    				</div>
    			</div>
    		</nav>
    	</body>
    </html>

电脑端
图片.png
手机端(小化窗口)
图片.png
图片.png

案例4:首页导航&搜索区域Bootstrap实现&搭首页框架

①.导航条组件的使用-Navbar
②.布局容器
固定容器【class=“container”】
大屏幕(大桌面显示器,大于等于 1200px)

lg( large)

中等屏幕(桌面显示器,大于等于 992px)

md(middle)

小屏幕(平板,大于等于 768px)

sm(small)

超小屏幕(手机,小于 768px)

xs(extra small)

③.表单-Forms+输入框组组件-Input group
④.栅格系统-Grid system
概念: Bootstrap提供了一套响应式、移动设备优先的流式网格系统
特点: 会随着屏幕或视口(viewport)尺寸的增加,系统会自动分为最多12列
网格系统策略图
实现首页整体大致布局
巨幕&表单&输入框组
图片.png

    <!DOCTYPE html>
    <html>
    	<head>
    		<meta charset="utf-8" />
    		<!-- 手机端 -->
    		<meta name="viewport"
    			content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
    		<title>巨幕&表单&输入框组</title>
    		<link rel="stylesheet" type="text/css" href="css/bootstrap.css" />
    		<script src="js/jquery-3.6.0.js" type="text/javascript"></script>
    		<script src="js/bootstrap.js" type="text/javascript"></script>
     
    	</head>
    	<body>
    		<!-- 巨幕实现搜索区域 -->
    		<div class="jumbotron jumbotron-fluid">
    			<div class="container">
    				<h1 class="display-4">Fluid jumbotron</h1>
    				<p class="lead">This is a modified jumbotron that occupies the entire horizontal space of its parent.
    				</p>
    			</div>
    		</div>
    		<!-- 间距 -->
    		<div class="container">
    			<div class="jumbotron bg-info">
    				<div class="container">
    					<!-- 表单 -->
    					<form>
    						<div class="form-group" style="width: 300px;margin: 0 auto;">
    							<!-- 输入框组件 -->
    							<div class="input-group mb-3">
    								<input type="text" class="form-control" placeholder="Recipient's username"
    									aria-label="Recipient's username" aria-describedby="button-addon2">
    								<div class="input-group-append">
    									<button class="btn btn-outline-secondary" type="button"
    										id="button-addon2">搜索</button>
    								</div>
    							</div>
    						</div>
     
    					</form>
    				</div>
    			</div>
    		</div>
    	</body>
    </html>

栅格系统
图片.png

    <!DOCTYPE html>
    <html>
    	<head>
    		<meta charset="utf-8">
    		<meta name="viewport"
    			content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
    		<title>栅格系统</title>
    		<link rel="stylesheet" type="text/css" href="css/bootstrap.css" />
    		<script src="js/jquery-3.6.0.js" type="text/javascript"></script>
    		<script src="js/bootstrap.js" type="text/javascript"></script>
    		<style type="text/css">
    			.container {
    				background-color: #007BFF;
    			}
     
    			.aa {
    				border: 1px solid red;
    			}
    		</style>
    	</head>
    	<body>
    		<div class="container">
    			<!-- 一行中显示三个区域 -->
    			<div class="row">
    				<!-- <div class="col-md-4 aa">123</div>
    				<div class="col-md-4 aa">456</div>
    				<div class="col-md-4 aa">789</div> -->
    				<!-- 平板端 -->
    				<div class="col-md-4 col-sm-6 aa">123</div>
    				<div class="col-md-4 col-sm-6 aa">456</div>
    				<div class="col-md-4 col-sm-6 aa">789</div>
    				<!-- 行内加 -->
    				<div class="row">
    					<div class="col aa">1</div>
    					<div class="col aa">2</div>
    					<div class="col aa">3</div>
    				</div>
    			</div>
    		</div>
    	</body>
    </html>

整合后:

    <!DOCTYPE html>
    <html>
    	<head>
    		<meta charset="utf-8">
    		<title></title>
    		<link rel="stylesheet" type="text/css" href="css/bootstrap.css" />
    		<script src="js/jquery-3.6.0.js" type="text/javascript"></script>
    		<script src="js/bootstrap.js" type="text/javascript"></script>
    		<style type="text/css">
    			.navbar-collapse {
    				flex-grow: 0;
    			}
     
    			.aa {
    				border: 1px solid royalblue;
    			}
    		</style>
    	</head>
    	<body>
    		<!-- 导航条start -->
    		<nav class="navbar navbar-expand-lg navbar-light bg-light">
    			<div class="container">
    				<!-- 标题-->
    				<a class="navbar-brand" href="#">阿巴阿巴阿巴。。。。。</a>
    				<!-- data-toggle="collapse"控制折叠切换效果 
    					data-target="#navbarNav"根据id找到指定的折叠容器-->
    				<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarNav"
    					aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation">
    					<span class="navbar-toggler-icon"></span>
    				</button>
    				<!-- active选中  disabled禁用-->
    				<div class="collapse navbar-collapse" id="navbarNav">
    					<ul class="navbar-nav">
    						<li class="nav-item active">
    							<a class="nav-link" href="#">首页 <span class="sr-only">(current)</span></a>
    						</li>
    						<li class="nav-item">
    							<a class="nav-link" href="#">登录</a>
    						</li>
    						<li class="nav-item">
    							<a class="nav-link" href="#">注册</a>
    						</li>
    						<li class="nav-item">
    							<a class="nav-link disabled">购物车</a>
    						</li>
    					</ul>
    				</div>
    			</div>
    		</nav>
    		<!-- 导航条end -->
    		<!-- 利用栅格系统实现搜索区域 -->
    		<div class="container">
    			<!-- 第一行 搜索区域-->
    			<div class="row">
    				<div class="col-12">
    					<div class="jumbotron bg-info" style="margin-top: 20px;">
    						<div class="container">
    							<!-- 表单 -->
    							<form>
    								<div class="form-group" style="width: 300px;margin: 0 auto;">
    									<!-- 输入框组件 -->
    									<div class="input-group mb-3">
    										<input type="text" class="form-control" placeholder="Recipient's username"
    											aria-label="Recipient's username" aria-describedby="button-addon2">
    										<div class="input-group-append">
    											<button class="btn btn-outline-secondary" type="button"
    												id="button-addon2">搜索</button>
    										</div>
    									</div>
    								</div>
     
    							</form>
    						</div>
    					</div>
    				</div>
     
    			</div>
    			<!-- 第二行 书籍、轮播图、新书上架-->
    			<div class="row">
    				<div class="col-md-3 aa" style="background-color: #8FD19E;">书籍列表</div>
    				<div class="col-md-

9 aa">


轮播图

新书上架





</body>
</html>
图片.png

发表评论

0/200
0 点赞
0 评论
收藏