在上一篇文章教大家如何使用BootStrap,今天主要使用BootStrap在去在页面上完成一些功能,大家去BootStrap官网复制所需要的样式,在进行更改。
代码实操
代码和使用BootStrap制作网页页面该文章代码基本一致,就是index.jsp我们的首页代码有些不同,所以今天只给大家提供首页代码,其他的代码去看上一篇文章。
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- Bootstap css -->
<link rel="stylesheet" href="bootstrap-5.0.0-beta3-dist/css/bootstrap.css">
<!-- Bootstap js -->
<script src="bootstrap-5.0.0-beta3-dist/js/bootstrap.js"></script>
<title>首页</title>
<script src="js/jquery-3.3.1.js"></script>
</head>
<body>
<nav class="navbar navbar-expand-lg navbar-dark bg-primary mb-3">
<div class="container-fluid">
<a class="navbar-brand" href="index.html">
快乐奶茶
</a>
<div class="collapse navbar-collapse" id="navbarNav">
<ul class="navbar-nav">
<li class="nav-item">
<button class="nav-link btn btn-primary" data-bs-toggle="modal" data-bs-target="#exampleModal">
商品添加
</button>
</li>
<li class="nav-item dropdown">
<button class="nav-link dropdown-toggle btn btn-primary" id="navbarDropdown"
data-bs-toggle="dropdown">
我的
</button>
<ul class="dropdown-menu">
<li><a class="dropdown-item" data-bs-toggle="offcanvas" href="#loginCanvas">登录</a></li>
<li><a class="dropdown-item" data-bs-toggle="offcanvas" href="#carCanvas">购物车</a></li>
</ul>
</li>
</ul>
</div>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarNav">
<span class="navbar-toggler-icon"></span>
</button>
</div>
</nav>
<!-- 轮播图 -->
<!-- 容器 container让我们在界面的东西都离边框有距离,不会完全贴着边框,更加美观好看-->
<!-- data-bs-target 操作对象 data-bs-interval 设置移动时间-->
<div class="container">
<div id="myCarousel" class="carousel slide mb-3" data-bs-ride="carousel" data-bs-interval="2000">
<div class="carousel-indicators">
<button type="button" data-bs-target="#myCarousel" data-bs-slide-to="0" class="active"></button>
<button type="button" data-bs-target="#myCarousel" data-bs-slide-to="1"></button>
<button type="button" data-bs-target="#myCarousel" data-bs-slide-to="2"></button>
</div>
<div class="carousel-inner">
<div class="carousel-item active">
<img src="images/t1.jpg" class="d-block w-100" >
<div class="carousel-caption d-none d-md-block">
<h5>520来袭</h5>
<p>带上心爱的人去看日落</p>
</div>
</div>
<div class="carousel-item">
<img src="images/t2.jpg" class="d-block w-100" >
<div class="carousel-caption d-none d-md-block">
<h5>商品大促销</h5>
<p>为庆祝51全场5折起</p>
</div>
</div>
<div class="carousel-item">
<img src="images/t3.jpg" class="d-block w-100">
<div class="carousel-caption d-none d-md-block">
<h5>u先试用</h5>
<p>新品上新等你来试用</p>
</div>
</div>
</div>
<!-- 左右按钮 -->
<button class="carousel-control-prev" type="button" data-bs-target="#myCarousel" data-bs-slide="prev">
<span class="carousel-control-prev-icon"></span>
</button>
<button class="carousel-control-next" type="button" data-bs-target="#myCarousel" data-bs-slide="next">
<span class="carousel-control-next-icon"></span>
</button>
</div>
<!-- 根据相对应的查询商品 -->
<!-- class属性放一个row是让他们在一行,如果没有row那么显示个数在排序规则上面,会分成两行 -->
<!-- 让数据在一行-->
<div class="row">
<!-- 旁边的菜单 -->
<div class="col-md-2">
<div class="list-group">
<a href="#" class="list-group-item list-group-item-action active">
The current link item
</a>
<a href="#" class="list-group-item list-group-item-action">A second link item</a>
<a href="#" class="list-group-item list-group-item-action">A third link item</a>
<a href="#" class="list-group-item list-group-item-action">A fourth link item</a>
</div>
</div>
<!--分页 -->
<div class="row col-md-10">
<ul class="nav nav-tabs mb-3" id="myTab">
<li class="nav-item">
<button class="nav-link active" id="home-tab" data-bs-toggle="tab" data-bs-target="#home"
type="button">秒杀商品
</button>
</li>
<li class="nav-item">
<button class="nav-link" id="profile-tab" data-bs-toggle="tab" data-bs-target="#profile"
type="button">热销商品
</button>
</li>
<li class="nav-item">
<button class="nav-link" id="contact-tab" data-bs-toggle="tab" data-bs-target="#contact"
type="button">月度榜单
</button>
</li>
</ul>
<!-- 在所有商品套上这个 -->
<!-- 这一行非常重要,如果该行数据不存在那么商品数据就会一直往下走,有了这一行,就会紧贴分页往下走 -->
<div class="tab-content" id="myTabContent">
<!-- 秒杀商品 -->
<div class="tab-pane fade show active" id="home">
<div class="row">
<div class="card col-md-3 mb-2">
<img src="images/default.jpeg" class="card-img-top" alt="...">
<div class="card-body">
<h5 class="card-title">果冻奶茶</h5>
<p class="card-text">Some quick example text</p>
<div class="btn-group" role="group" aria-label="Basic example">
<button type="button" class="btn btn-primary" data-bs-toggle="modal"
data-bs-target="#staticBackdrop">🔍
</button>
<button type="button" class="btn btn-danger" data-bs-toggle="tooltip"
data-bs-placement="top" title="添加购物车">🛒
</button>
<button type="button" class="btn btn-warning" data-bs-toggle="tooltip"
data-bs-placement="top" title="不喜欢该商品">🙅
</button>
</div>
</div>
</div>
<div class="card col-md-3 mb-2">
<img src="images/default.jpeg" class="card-img-top" alt="...">
<div class="card-body">
<h5 class="card-title">果冻奶茶</h5>
<p class="card-text">Some quick example text</p>
<div class="btn-group" role="group" aria-label="Basic example">
<button type="button" class="btn btn-primary" data-bs-toggle="modal"
data-bs-target="#staticBackdrop">🔍
</button>
<button type="button" class="btn btn-danger" data-bs-toggle="tooltip"
data-bs-placement="top" title="添加购物车">🛒
</button>
<button type="button" class="btn btn-warning" data-bs-toggle="tooltip"
data-bs-placement="top" title="不喜欢该商品">🙅
</button>
</div>
</div>
</div>
<div class="card col-md-3 mb-2">
<img src="images/default.jpeg" class="card-img-top" alt="...">
<div class="card-body">
<h5 class="card-title">果冻奶茶</h5>
<p class="card-text">Some quick example text</p>
<div class="btn-group" role="group" aria-label="Basic example">
<button type="button" class="btn btn-primary" data-bs-toggle="modal"
data-bs-target="#staticBackdrop">🔍
</button>
<button type="button" class="btn btn-danger" data-bs-toggle="tooltip"
data-bs-placement="top" title="添加购物车">🛒
</button>
<button type="button" class="btn btn-warning" data-bs-toggle="tooltip"
data-bs-placement="top" title="不喜欢该商品">🙅
</button>
</div>
</div>
</div>
<div class="card col-md-3 mb-2">
<img src="images/default.jpeg" class="card-img-top" alt="...">
<div class="card-body">
<h5 class="card-title">果冻奶茶</h5>
<p class="card-text">Some quick example text</p>
<div class="btn-group" role="group" aria-label="Basic example">
<button type="button" class="btn btn-primary" data-bs-toggle="modal"
data-bs-target="#staticBackdrop">🔍
</button>
<button type="button" class="btn btn-danger" data-bs-toggle="tooltip"
data-bs-placement="top" title="添加购物车">🛒
</button>
<button type="button" class="btn btn-warning" data-bs-toggle="tooltip"
data-bs-placement="top" title="不喜欢该商品">🙅
</button>
</div>
</div>
</div>
</div>
</div>
<!-- 热销商品 -->
<div class="tab-pane fade" id="profile">
<div class="row">
<div class="card col-md-3 mb-2">
<img src="images/default.jpeg" class="card-img-top" alt="...">
<div class="card-body">
<h5 class="card-title">果冻奶茶</h5>
<p class="card-text">Some quick example text</p>
<div class="btn-group" role="group" aria-label="Basic example">
<button type="button" class="btn btn-primary">🔍</button>
<button type="button" class="btn btn-danger">🛒</button>
<button type="button" class="btn btn-warning">🙅</button>
</div>
</div>
</div>
<div class="card col-md-3 mb-2">
<img src="images/default.jpeg" class="card-img-top" alt="...">
<div class="card-body">
<h5 class="card-title">果冻奶茶</h5>
<p class="card-text">Some quick example text</p>
<div class="btn-group" role="group" aria-label="Basic example">
<button type="button" class="btn btn-primary">🔍</button>
<button type="button" class="btn btn-danger">🛒</button>
<button type="button" class="btn btn-warning">🙅</button>
</div>
</div>
</div>
<div class="card col-md-3 mb-2">
<img src="images/default.jpeg" class="card-img-top" alt="...">
<div class="card-body">
<h5 class="card-title">果冻奶茶</h5>
<p class="card-text">Some quick example text</p>
<div class="btn-group" role="group" aria-label="Basic example">
<button type="button" class="btn btn-primary">🔍</button>
<button type="button" class="btn btn-danger">🛒</button>
<button type="button" class="btn btn-warning">🙅</button>
</div>
</div>
</div>
<div class="card col-md-3 mb-2">
<img src="images/default.jpeg" class="card-img-top" alt="...">
<div class="card-body">
<h5 class="card-title">果冻奶茶</h5>
<p class="card-text">Some quick example text</p>
<div class="btn-group" role="group" aria-label="Basic example">
<button type="button" class="btn btn-primary">🔍</button>
<button type="button" class="btn btn-danger">🛒</button>
<button type="button" class="btn btn-warning">🙅</button>
</div>
</div>
</div>
</div>
</div>
<!-- 月度榜单 -->
<div class="tab-pane fade" id="contact">
<div class="row">
<div class="card col-md-3 mb-2">
<img src="images/default.jpeg" class="card-img-top" alt="...">
<div class="card-body">
<h5 class="card-title">果冻奶茶</h5>
<p class="card-text">Some quick example text</p>
<div class="btn-group" role="group" aria-label="Basic example">
<button type="button" class="btn btn-primary">🔍</button>
<button type="button" class="btn btn-danger">🛒</button>
<button type="button" class="btn btn-warning">🙅</button>
</div>
</div>
</div>
<div class="card col-md-3 mb-2">
<img src="images/default.jpeg" class="card-img-top" alt="...">
<div class="card-body">
<h5 class="card-title">果冻奶茶</h5>
<p class="card-text">Some quick example text</p>
<div class="btn-group" role="group" aria-label="Basic example">
<button type="button" class="btn btn-primary">🔍</button>
<button type="button" class="btn btn-danger">🛒</button>
<button type="button" class="btn btn-warning">🙅</button>
</div>
</div>
</div>
<div class="card col-md-3 mb-2">
<img src="images/default.jpeg" class="card-img-top" alt="...">
<div class="card-body">
<h5 class="card-title">果冻奶茶</h5>
<p class="card-text">Some quick example text</p>
<div class="btn-group" role="group" aria-label="Basic example">
<button type="button" class="btn btn-primary">🔍</button>
<button type="button" class="btn btn-danger">🛒</button>
<button type="button" class="btn btn-warning">🙅</button>
</div>
</div>
</div>
<div class="card col-md-3 mb-2">
<img src="images/default.jpeg" class="card-img-top" alt="...">
<div class="card-body">
<h5 class="card-title">果冻奶茶</h5>
<p class="card-text">Some quick example text</p>
<div class="btn-group" role="group" aria-label="Basic example">
<button type="button" class="btn btn-primary">🔍</button>
<button type="button" class="btn btn-danger">🛒</button>
<button type="button" class="btn btn-warning">🙅</button>
</div>
</div>
</div>
</div>
</div>
<!-- 套住所有的商品 -->
</div>
</div>
<!-- 商品第二个div -->
</div>
<!--商品的最大容器 -->
</div>
<!-- 登录显示 -->
<div class="offcanvas offcanvas-start" tabindex="-1" id="loginCanvas">
<div class="offcanvas-header">
<h5 class="offcanvas-title">用户登录</h5>
<button type="button" class="btn-close" data-bs-dismiss="offcanvas"></button>
</div>
<div class="offcanvas-body">
<h1>这里是登录表单</h1>
</div>
</div>
<!-- 购物车从左边划出 -->
<div class="offcanvas offcanvas-start" tabindex="-1" id="carCanvas">
<div class="offcanvas-header">
<h5 class="offcanvas-title">我的购物车</h5>
<button type="button" class="btn-close" data-bs-dismiss="offcanvas"></button>
</div>
<div class="offcanvas-body">
<h1>这里是购物车</h1>
</div>
</div>
<!-- 添加进购物车 -->
<div class="modal fade" id="staticBackdrop" data-bs-backdrop="static" data-bs-keyboard="false" tabindex="-1">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="staticBackdropLabel">添加购物车</h5>
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
</div>
<div class="modal-body">
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">取消</button>
<button type="button" class="btn btn-primary" onclick="addCar()">添加</button>
</div>
</div>
</div>
</div>
<!-- 添加成功以后弹出来 -->
<div class="position-fixed bottom-0 end-0 p-3" style="z-index: 11">
<div id="liveToast" class="toast" role="alert" aria-live="assertive" aria-atomic="true">
<div class="toast-header">
<strong class="me-auto">天天商城</strong>
<small>刚刚</small>
<button type="button" class="btn-close" data-bs-dismiss="toast" aria-label="Close"></button>
</div>
<div class="toast-body">
添加购物车成功
</div>
</div>
</div>
<!-- 增加商品 -->
<div id="exampleModal" class="modal fade" data-bs-backdrop="static" data-bs-keyboard="false" tabindex="-1">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title">添加商品</h5>
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
</div>
<div class="modal-body">
<form action="">
<div class="mb-3">
<label for="name" class="form-label">商品名称</label>
<input type="text" class="form-control" id="name" placeholder="请输入商品名称">
</div>
<div class="mb-3">
<label for="topic" class="form-label">商品名称</label>
<select id="topic" class="form-select">
<option value="1">One</option>
<option value="2">Two</option>
<option value="3">Three</option>
</select>
</div>
<div class="mb-3">
<label for="price" class="form-label">商品价格:¥<span id="showPrice">123</span></label>
<input type="range" class="form-range" id="price" max="1000" min="1">
</div>
<div class="mb-3">
<label for="stock" class="form-label">商品库存: <span id="showStock">123</span></label>
<input type="range" class="form-range" id="stock" max="100" min="1">
</div>
<div class="mb-3">
<label for="describe" class="form-label">商品描述</label>
<textarea rows="3" class="form-control" id="describe" placeholder="请输入商品描述"></textarea>
</div>
<div class="mb-3 form-check form-switch">
<input class="form-check-input" type="checkbox" role="switch" id="disabled">
<label class="form-check-label" for="disabled">商品是否可用</label>
</div>
<div class="mb-3">
<button type="submit" class="btn btn-outline-primary">提交</button>
<button type="reset" class="btn btn-outline-danger">重置</button>
</div>
</form>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">取消</button>
<button type="button" class="btn btn-primary">添加</button>
</div>
</div>
</div>
</div>
<div>
<!-- 分页 -->
<ul class="pagination pagination-lg">
<li class="page-item active" aria-current="page">
<span class="page-link">1</span>
</li>
<li class="page-item"><a class="page-link" href="#">2</a></li>
<li class="page-item"><a class="page-link" href="#">3</a></li>
</ul>
</div>
<script>
const myModal = new bootstrap.Modal($("#staticBackdrop")[0])
$(() => {
$(".carousel-item img").each((i, e) => {
$(e).css("background-image", "url(images/t" + (i + 1) + ".jpg)")
})
})
function addCar() {
myModal.toggle()
new bootstrap.Toast($("#liveToast")[0]).show()
}
</script>
</body>
</html>
今天的学习就到这里啦!!!