一、BootStrap介绍

https://v3.bootcss.com/css/#overview

1、概念

  • 基于三剑客开发的前端开发框架
  • 定义了许多css样式和js插件,从而得到丰富的页面效果
  • 依赖于栅格系统实现响应式布局(设备兼容)

2、快速入门

  • 下载并将样式、字体和插件导入项目根目录
  • 在html中引入资源文件bootstrap.min.css

二、响应式布局

1、栅格系统

  • 一行12个格,可以指定元素占几个格子
  • 步骤:
    • 定义容器:container(留白)、container-fluid(100%宽度)
    • 定义行,使用row
    • 定义元素并指定所占格子数目
      • CSS的class:col-设备代号-格子数目(1~12)
      • 设备代号:xs,sm,md,lg(笑死me了)
 <style>
/*<!-- 定义css类选择器 -->*/
.inner{
border:1px solid red;
}
</style>
</head>
<body>
<!--1.定义容器-->
<div class="container-fluid">
<!--2.定义行-->
<div class="row">
<!--3.定义元素,一行有12个格子
目的:在大的显示器一行12个格子
在pad上,一行6个格子,放不下会自动换行-->
<div class="col-lg-1 col-sm-2 inner">栅格</div>
<div class="col-lg-1 col-sm-2 inner">栅格</div>
<div class="col-lg-1 col-sm-2 inner">栅格</div>
<div class="col-lg-1 col-sm-2 inner">栅格</div>
<div class="col-lg-1 col-sm-2 inner">栅格</div>
<div class="col-lg-1 col-sm-2 inner">栅格</div>
<div class="col-lg-1 col-sm-2 inner">栅格</div>
<div class="col-lg-1 col-sm-2 inner">栅格</div>
<div class="col-lg-1 col-sm-2 inner">栅格</div>
<div class="col-lg-1 col-sm-2 inner">栅格</div>
<div class="col-lg-1 col-sm-2 inner">栅格</div>
<div class="col-lg-1 col-sm-2 inner">栅格</div>
</div>
</div>
  • 超过12自动换行

3、全局CSS样式

  • 按钮:class="btn btn-default"
  • 图片:class="img-responsive",响应式图片
  • 图片形状:方形img-rounded、圆形img-circle、相框img-thumbnail
  • 表格:table-bordered边框,table-hover悬浮
  • 表单:class="form-control"控制,所有表单项位于class="form-group"中
  • 其他组件:导航栏、分页条、轮播图

三、案例:黑马旅游网

<html lang="zh-CN">
<head>
<!--固定的meta写法,浏览器支持、设备宽度设置-->
<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 HelloWorld</title> <!-- Bootstrap -->
<!--验证是否写对,可以按住ctrl,看有没有小手-->
<link href="css/bootstrap.min.css" rel="stylesheet"> <script src="js/jquery-3.2.1.min.js"></script>
<script src="js/bootstrap.min.js"></script>
<style>
.paddtop{
padding-top: 10px;
}
.search_btn{
float: left;
border:2px solid #ffc900;
width:60px;
height: 35px;
background-color: #ffc900;
text-align: center;
line-height: 35px;
margin-top: 15px;
}
.search_input{
float: left;
border:2px solid #ffc900;
width:400px;
height: 35px;
padding-left:5px;
margin-top: 15px;
}
.jx{
border-bottom: 2px solid #ffc900;
padding: 5px;
}
.company{
height:40px;
background-color: #ffc900;
text-align: center;
line-height: 40px;
/*?????*/
font-size: 8px;
}
</style>
</head>
<body>
<!--页眉100%,内容留白,页脚100%-->
<!--1.页眉部分-->
<!--使用h5的语义化标签-->
<header class="container-fluid">
<!--4行-->
<div class="row">
<img src="img/top_banner.jpg" alt="" class="img-responsive">
</div>
<div class="row paddtop" >
<div class="col-md-3">
<img src="img/logo.jpg" alt="" class="img-responsive">
</div>
<div class="col-md-5">
<input type="text" class="search_input" placeholder="请输入线路名称">
<a href="#" class="search_btn">搜索</a>
</div>
<div class="col-md-4"> <img src="img/hotel_tel.png" alt="" class="img-responsive"></div>
</div>
<!--导航栏-->
<div class="row">
<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>
<!-- 发给logo-->
<a class="navbar-brand" href="#">首页</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><a href="#">Link</a></li>
<li><a href="#">Link</a></li>
<li><a href="#">Link</a></li>
<li><a href="#">Link</a></li>
<li><a href="#">Link</a></li> </ul> </div><!-- /.navbar-collapse -->
</div><!-- /.container-fluid -->
</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/banner_1.jpg" alt="...">
<div class="carousel-caption">
...
</div>
</div>
<div class="item">
<img src="img/banner_2.jpg" alt="...">
<div class="carousel-caption">
兵马俑
</div>
</div> <div class="item">
<img src="img/banner_3.jpg" 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>
</div>
</header>
<!--2.主体部分-->
<div class="container">
<div class="row jx">
<img src="img/icon_5.jpg" alt="">
<span>黑马精选</span>
</div>
<div class="row paddtop">
<div class="col-md-3">
<!--相框-->
<div class="thumbnail">
<img src="img/jiangxuan_1.jpg" alt="">
<p>
上海直飞三亚五天四晚自由行(春节销售+亲子/蜜月/休闲游首选+豪华酒店任选+接送机)
</p>
<font color="red">&yen; 899</font>
</div>
</div>
<div class="col-md-3">
<div class="thumbnail">
<img src="img/jiangxuan_1.jpg" alt="">
<p>
上海直飞三亚五天四晚自由行(春节销售+亲子/蜜月/休闲游首选+豪华酒店任选+接送机)
</p>
<font color="red">&yen; 899</font>
</div>
</div>
<div class="col-md-3">
<div class="thumbnail">
<img src="img/jiangxuan_1.jpg" alt="">
<p>
上海直飞三亚五天四晚自由行(春节销售+亲子/蜜月/休闲游首选+豪华酒店任选+接送机)
</p>
<font color="red">&yen; 899</font>
</div>
</div>
<div class="col-md-3">
<div class="thumbnail">
<img src="img/jiangxuan_1.jpg" alt="">
<p>
上海直飞三亚五天四晚自由行(春节销售+亲子/蜜月/休闲游首选+豪华酒店任选+接送机)
</p>
<font color="red">&yen; 899</font>
</div>
</div>
</div>
<div class="row jx">
<img src="img/icon_6.jpg" alt="">
<span>国内游</span>
</div>
<!--一行分两个格子-->
<div class="row paddtop">
<div class="col-md-4">
<img src="img/guonei_1.jpg" alt="">
</div>
<div class="col-md-8">
<div class="row">
<div class="col-md-4">
<div class="thumbnail">
<img src="img/jiangxuan_1.jpg" alt="">
<p>
上海直飞三亚五天四晚自由行(春节销售+亲子/蜜月/休闲游首选+豪华酒店任选+接送机)
</p>
<font color="red">&yen; 899</font>
</div>
</div>
<div class="col-md-4">
<div class="thumbnail">
<img src="img/jiangxuan_1.jpg" alt="">
<p>
上海直飞三亚五天四晚自由行(春节销售+亲子/蜜月/休闲游首选+豪华酒店任选+接送机)
</p>
<font color="red">&yen; 899</font>
</div>
</div>
<div class="col-md-4">
<div class="thumbnail">
<img src="img/jiangxuan_1.jpg" alt="">
<p>
上海直飞三亚五天四晚自由行(春节销售+亲子/蜜月/休闲游首选+豪华酒店任选+接送机)
</p>
<font color="red">&yen; 899</font>
</div>
</div>
</div>
<div class="row">
<div class="col-md-4">
<div class="thumbnail">
<img src="img/jiangxuan_1.jpg" alt="">
<p>
上海直飞三亚五天四晚自由行(春节销售+亲子/蜜月/休闲游首选+豪华酒店任选+接送机)
</p>
<font color="red">&yen; 899</font>
</div>
</div>
<div class="col-md-4">
<div class="thumbnail">
<img src="img/jiangxuan_1.jpg" alt="">
<p>
上海直飞三亚五天四晚自由行(春节销售+亲子/蜜月/休闲游首选+豪华酒店任选+接送机)
</p>
<font color="red">&yen; 899</font>
</div>
</div>
<div class="col-md-4">
<div class="thumbnail">
<img src="img/jiangxuan_1.jpg" alt="">
<p>
上海直飞三亚五天四晚自由行(春节销售+亲子/蜜月/休闲游首选+豪华酒店任选+接送机)
</p>
<font color="red">&yen; 899</font>
</div>
</div>
</div>
</div>
</div>
</div>
<!--3.页脚部分-->
<footer class="container-fluid">
<div class="row">
<img src="img/footer_service.png" alt="" class="img-responsive">
</div>
<div class="row company">
江苏传智播客教育科技股份有限公司 版权所有Copyright 2006-2018, All Rights Reserved 苏ICP备16007882
</div>
</footer>
</body>
</html>

【Java EE】Day11 BootStrap、响应式布局、栅格系统、CSS样式、案例的更多相关文章

  1. css模拟Bootstrap响应式布局——栅格

    做作业的时候遇见用css模拟Bootstrap的栅格布局,学习了一下.发现这个很有用,用来在不同的平台上得到很好地用户体验,比如Phone.Pad.大屏幕显示器.小屏幕显示器.自己模拟用css写了一下 ...

  2. Bootstrap响应式布局

    Bootstrap响应式布局可以使用栅格化系统,其实就是不同的列组合,配合起来便能组合出强大的功能,系统会自动分为最多12列,超出12列会作为一个整体另起一行,像制作表格table的合并列,功能跟co ...

  3. 2017年最新基于Bootstrap 4 的专业、多用途响应式布局的系统模板

    本文分享一款2017年最新的2017年最新基于Bootstrap 4 的专业.多用途响应式布局的系统模板,该模板是一款强大并且非常灵活的后台管理系统模板:能适应绝大多数的web应用程序开发,比如:AP ...

  4. 前端框架bootstrap(响应式布局)入门

    Bootstrap,是基于HTML,CSS.javascript的前端框架 该框架已经预定义了一套CSS样式和与样式相对应的js代码(对应的样式有对应的特效.) 开发人员只需要编写HTML结构,添加b ...

  5. Bootstrap响应式布局介绍

    一.响应式布局 1.什么是响应式网页 2.响应式网页必须做到的几件事 1.布局,使用流式布局(默认文档流+浮动)+弹性布局+栅格布局 2.文字和图片大小随着容器大小改变 3.媒体查询技术(css3) ...

  6. 响应式布局中的CSS相对量

    一个响应式布局,要能够根据设备屏幕尺寸的改变,动态的调整页面内容,展现不同的设计风格. 在进行响应式的 CSS 代码编写过程中,经常会用到一些相对尺寸,以达到相对定位的目的.例如,常见的响应式布局中需 ...

  7. bootstrap响应式布局原理

    百分比布局+媒体查询 首先通过媒体查询确认container的宽度,每个col-xx-xx都是通过百分比定义的,屏幕尺寸变化了,container就变化了,col自然就变了 Bootstrap的官方解 ...

  8. Bootstrap响应式布局(1)

    <!DOCTYPE html><html><head><meta http-equiv="Content-Type" content=&q ...

  9. bootstrap 响应式布局

    先上点媒体查询css(某个著名的”段子“),跟bootstrap无关: <html> <head> <style> body { background-color: ...

  10. bootstrap响应式布局简单实例

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8&quo ...

随机推荐

  1. Pod 的生命周期

    上图展示了一个 Pod 的完整生命周期过程,其中包含 Init Container.Pod Hook.健康检查 三个主要部分,接下来我们就来分别介绍影响 Pod 生命周期的部分: 首先在介绍 Pod ...

  2. Shell分析日志文件

    文章转载自:https://mp.weixin.qq.com/s/o63aIM2p9rc2OjhxiC6wgA 1.查看有多少个IP访问: awk '{print $1}' log_file|sort ...

  3. 5.Ceph 基础篇 - 认证

    文章转载自:https://mp.weixin.qq.com/s?__biz=MzI1MDgwNzQ1MQ==&mid=2247485272&idx=1&sn=4b27c357 ...

  4. KVM常用命令及配置文件

    1.查看虚拟机配置文件 [root@KVM tmp]# ls /etc/libvirt/qemu/ damowang.xml networks [root@KVM tmp]# ls /etc/libv ...

  5. 线段树学习笔记(基础&进阶)(一) | P3372 【模板】线段树 1 题解

    什么是线段树 线段树是一棵二叉树,每个结点存储需维护的信息,一般用于处理区间最值.区间和等问题. 线段树的用处 对编号连续的一些点进行修改或者统计操作,修改和统计的复杂度都是 O(log n). 基础 ...

  6. 持续集成指南:GitLab 的 CI/CD 工具配置与使用

    前言 写代码这项工作,本质就是将工作自动化,减少手工操作提供效率,因为人的本质都是懒狗,程序员也不能例外,为了各种意义的效率提升(懒),我们需要持续集成工具,将代码测试.编译.发布这些重复性很高的工作 ...

  7. Spring笔记三

    Spring-03 1. AOP 1.1 概念 ​ AOP为Aspect Oriented Programming的缩写,意为:面向切面编程.他是一种可以在不修改原来的核心代码的情况下给程序动态统一进 ...

  8. C++面向对象编程之虚函数与多态和继承和复合下的构造和析构

    1.对于非虚函数,是不希望派生类对该函数重新定义: 对于virtual函数,在父类已经有默认定义后,并希望子类重新定义它: 对于pure virtual函数,父类没有默认定义,派生类必须要重新定义它: ...

  9. 可观测性的常见用例|Techtarget

    [ 文章来源 ]https://www.techtarget.com/searchitoperations/tip/Common-use-cases-for-observability 这些可观测性用 ...

  10. 齐博x1自定义字段关联其它字段的隐藏显示

    如下图,对于单选\多选\下拉框这种表单类型, 选择某一项后, 你还想他关联其它选项的隐藏或显示,你可以加多一个参数设置处理通常情况,用得最普遍的,就是两项参数,用竖线隔开,比如下面的1|洋房2|别墅 ...