背景
上一节,我们讲了3分钟入门Bootstrap,这一节实战Bootstrap制作简单博客,是个简单的,有菜单,轮播图,博客列表,和尾部的博客。
示意图
代码
目录结构
搭建html body框架
<!--菜单栏 -->
<div class="header"></div>
<!--轮播图 -->
<div class="carouselmy"></div>
<!--内容列表 -->
<div class="content"></div>
<!--尾部 -->
<div class="footer"></div>
使用Bootstrap框架填充内容
-
head里面引入bootstrap
<!-- Bootstrap CSS --> <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous"> <link rel="stylesheet" href="css/styles.css"> <title>Pink</title>
-
body里面引入js
<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js" integrity="sha384-UO2eT0CpHqdSJQ6hJty5KVphtPhzWj9WO1clHTMGa3JDZwrnQq4sF86dIHNDz0W1" crossorigin="anonymous"></script> <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js" integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM" crossorigin="anonymous"></script>
-
<div class="header"> <div class="pos-f-t"> <div class="collapse" id="navbarToggleExternalContent"> <div class="bg-dark p-4"> <h5 class="text-white h4">Collapsed content</h5> <span class="text-muted">Toggleable via the navbar brand.</span> </div> </div> <nav class="navbar navbar-dark bg-dark"> <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarToggleExternalContent" aria-controls="navbarToggleExternalContent" aria-expanded="false" aria-label="Toggle navigation"> <span class="navbar-toggler-icon"></span> </button> <form class="form-inline my-2 my-lg-0"> <input class="form-control mr-sm-2" type="search" placeholder="Search" aria-label="Search"> <button class="btn btn-outline-success my-2 my-sm-0" type="submit">Search</button> </form> </nav> </div> </div>
-
<div class="card" style="width: 18rem;"> <img src="..." class="card-img-top" alt="..."> <div class="card-body"> <p class="card-text">Some quick example text to build on the card title and make up the bulk of the card's content.</p> </div> </div>
-
<div class="container content mt-3 "> <div class="row mt-3"> <div class="card m-auto" style="width: 21.5rem;"> <img src="images/1.jpg" class="card-img-top" alt="..."> <div class="card-body"> <p class="card-text">Some quick example text to build on the card title and make up the bulk of the card's content.</p> <button type="button" class="btn btn-outline-dark" style="float:right">View</button> </div>
-
<div class="footer"> <div class="card"> <div class="card-header"> Featured </div> <div class="card-body"> <h5 class="card-title">Special title treatment</h5> <p class="card-text">With supporting text below as a natural lead-in to additional content.</p> <a href="#" class="btn btn-primary">Go somewhere</a> </div> </div> </div> </div> </div> </div>
优化修改
-
菜单加个container,背景色黑色
<div class="header bg-dark"> <nav class=" container navbar navbar-dark bg-dark">
-
轮播图上面套一个container,上边距4
<div class="container mt-4">
-
添加图片
<img src="images/1.jpg" class="d-block w-100" alt="...">
-
内容列表上面套一个container
<div class="container content mt-3 ">
-
修改footer
<div class="footer"> <div class="container mb-5"> <div class="row"> <div class="col-8 pt-5"> <h3 class="card-title">Special title treatment</h3> <p class="card-text">With supporting text below as a natural lead-in to additional content.</p> </div> <div class="col-4 pt-5 text-right"> <a href="#" class="text-primary">Back to top</a> </div> </div> </div> </div>
-
全部代码
<!doctype html> <html lang="en"> <head> <!-- Required meta tags --> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> <!-- Bootstrap CSS --> <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous"> <title>demo3</title> </head> <body> <!--菜单栏 --> <div class="header bg-dark"> <div class="pos-f-t"> <div class="collapse" id="navbarToggleExternalContent"> <div class="bg-dark p-4"> <h5 class="text-white h4">Collapsed content</h5> <span class="text-muted">Toggleable via the navbar brand.</span> </div> </div> <nav class=" container navbar navbar-dark bg-dark"> <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarToggleExternalContent" aria-controls="navbarToggleExternalContent" aria-expanded="false" aria-label="Toggle navigation"> <span class="navbar-toggler-icon"></span> </button> <form class="form-inline my-2 my-lg-0"> <input class="form-control mr-sm-2" type="search" placeholder="Search" aria-label="Search"> <button class="btn btn-outline-success my-2 my-sm-0" type="submit">Search</button> </form> </nav> </div> </div> <div class="container mt-4"> <!--轮播图 --> <div class="carouselmy"> <div id="carouselExampleCaptions" class="carousel slide" data-ride="carousel"> <ol class="carousel-indicators"> <li data-target="#carouselExampleCaptions" data-slide-to="0" class="active"></li> <li data-target="#carouselExampleCaptions" data-slide-to="1"></li> <li data-target="#carouselExampleCaptions" data-slide-to="2"></li> </ol> <div class="carousel-inner"> <div class="carousel-item active"> <img src="images/1.jpg" class="d-block w-100" alt="..." style="height:50vh;"> <div class="carousel-caption d-none d-md-block"> <h5>First slide label</h5> <p>Nulla vitae elit libero, a pharetra augue mollis interdum.</p> </div> </div> <div class="carousel-item"> <img src="images/2.jpg" class="d-block w-100" alt="..." style="height:50vh;"> <div class="carousel-caption d-none d-md-block"> <h5>Second slide label</h5> <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p> </div> </div> <div class="carousel-item"> <img src="images/3.jpg" class="d-block w-100" alt="..." style="height:50vh;"> <div class="carousel-caption d-none d-md-block"> <h5>Third slide label</h5> <p>Praesent commodo cursus magna, vel scelerisque nisl consectetur.</p> </div> </div> </div> <a class="carousel-control-prev" href="#carouselExampleCaptions" role="button" data-slide="prev"> <span class="carousel-control-prev-icon" aria-hidden="true"></span> <span class="sr-only">Previous</span> </a> <a class="carousel-control-next" href="#carouselExampleCaptions" role="button" data-slide="next"> <span class="carousel-control-next-icon" aria-hidden="true"></span> <span class="sr-only">Next</span> </a> </div> </div> </div> <!--内容列表 --> <div class="container content mt-3 "> <div class="row mt-3"> <div class="card m-auto" style="width: 21.5rem;"> <img src="images/1.jpg" class="card-img-top" alt="..."> <div class="card-body"> <p class="card-text">Some quick example text to build on the card title and make up the bulk of the card's content.</p> <button type="button" class="btn btn-outline-dark" style="float:right">View</button> </div> </div> <div class="card m-auto" style="width: 21.5rem;"> <img src="images/1.jpg" class="card-img-top" alt="..."> <div class="card-body"> <p class="card-text">Some quick example text to build on the card title and make up the bulk of the card's content.</p> <button type="button" class="btn btn-outline-dark" style="float:right">View</button> </div> </div> <div class="card m-auto" style="width: 21.5rem;"> <img src="images/1.jpg" class="card-img-top" alt="..."> <div class="card-body"> <p class="card-text">Some quick example text to build on the card title and make up the bulk of the card's content.</p> <button type="button" class="btn btn-outline-dark" style="float:right">View</button> </div> </div> </div> <div class="row mt-3"> <div class="card m-auto" style="width: 21.5rem;"> <img src="images/1.jpg" class="card-img-top" alt="..."> <div class="card-body"> <p class="card-text">Some quick example text to build on the card title and make up the bulk of the card's content.</p> <button type="button" class="btn btn-outline-dark" style="float:right">View</button> </div> </div> <div class="card m-auto" style="width: 21.5rem;"> <img src="images/1.jpg" class="card-img-top" alt="..."> <div class="card-body"> <p class="card-text">Some quick example text to build on the card title and make up the bulk of the card's content.</p> <button type="button" class="btn btn-outline-dark" style="float:right">View</button> </div> </div> <div class="card m-auto" style="width: 21.5rem;"> <img src="images/1.jpg" class="card-img-top" alt="..."> <div class="card-body"> <p class="card-text">Some quick example text to build on the card title and make up the bulk of the card's content.</p> <button type="button" class="btn btn-outline-dark" style="float:right">View</button> </div> </div> </div> <div class="row mt-3"> <div class="card m-auto" style="width: 21.5rem;"> <img src="images/1.jpg" class="card-img-top" alt="..."> <div class="card-body"> <p class="card-text">Some quick example text to build on the card title and make up the bulk of the card's content.</p> <button type="button" class="btn btn-outline-dark" style="float:right">View</button> </div> </div> <div class="card m-auto" style="width: 21.5rem;"> <img src="images/1.jpg" class="card-img-top" alt="..."> <div class="card-body"> <p class="card-text">Some quick example text to build on the card title and make up the bulk of the card's content.</p> <button type="button" class="btn btn-outline-dark" style="float:right">View</button> </div> </div> <div class="card m-auto" style="width: 21.5rem;"> <img src="images/1.jpg" class="card-img-top" alt="..."> <div class="card-body"> <p class="card-text">Some quick example text to build on the card title and make up the bulk of the card's content.</p> <button type="button" class="btn btn-outline-dark" style="float:right">View</button> </div> </div> </div> </div> <hr> </hr> <!--尾部 --> <div class="footer"> <div class="container mb-5"> <div class="row"> <div class="col-8 pt-5"> <h3 class="card-title">Special title treatment</h3> <p class="card-text">With supporting text below as a natural lead-in to additional content.</p> </div> <div class="col-4 pt-5 text-right"> <a href="#" class="text-primary">Back to top</a> </div> </div> </div> </div> <script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js" integrity="sha384-UO2eT0CpHqdSJQ6hJty5KVphtPhzWj9WO1clHTMGa3JDZwrnQq4sF86dIHNDz0W1" crossorigin="anonymous"></script> <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js" integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM" crossorigin="anonymous"></script> </body> </html> ```