目录
前端框架的理解
一、3个WWW
1、what?是什么
2、why?为什么使用
3、where?使用领域
二、环境安装
1、下载Bootstrap库
2、页面中引入库
三、案例
以网上书城为例
案例1:查询按钮原生态实现对比Bootstrap方式实现
案例2:演示Bootstrap页面在手机浏览器中展示效果
案例3:首页导航&搜索区域原生态实现(div+css)
案例4:首页导航&搜索区域Bootstrap实现&搭首页框架
前端框架的理解
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/
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>
案例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>
电脑端
手机端(小化窗口)
案例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列
网格系统策略图
实现首页整体大致布局
巨幕&表单&输入框组
<!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>
栅格系统
<!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">
<div class="row">
<div class="col-12" style="background-color: #ED969E;">轮播图</div>
<div class="col-12" style="background-color: lightsalmon;">新书上架</div>
</div>
</div>
</div>
</div>
</body>
</html>
更多推荐
Bootstrap(前端开发框架)
发布评论