Java疫情数据分析系统5

前端页面设计

我的前端页面是使用bootstrap设计的

内容目录(点击可跳转):

一、Bootstrap 简介

二、基本使用

三、页面布局

四、css样式类

五、Bootstrap组件

六、插件

一、Bootstrap 简介

Bootstrap由Twitter在2011年8月发布。

它是一个用于Web应用程序的前端框架,它提供了许多定义好的样式类和组件,方便开发者快速开发web页面。

Bootstrap中文网地址:https://v3.bootcss.com/ 当前版本:3.3.7

解压后目录结构如下:

 其中:bootstrap.css和bootstrap.js是未压缩的CSS和JS文件,bootstrap.min.css和bootstrap.min.js是压缩之后的CSS和JS文件。fonts文件夹下是图标字体文件。

二、基本使用

1、Bootstrap基于html5、css3开发,因此,要使用Bootstrap,HTML页面需使用HTML5文档规范。

2、Bootstrap 是移动设备优先的,为了确保不同大小的手机屏幕都能正确显示页面,需要在<head> 之中添加viewport 元数据标签。

<meta name="viewport" content="width=device-width, initial-scale=1">

说明:viewport是针对手机浏览器提供的一个属性,用来设置视口(viewport)的大小。

移动设备上浏览器默认的视口宽度一般为800px,980px,1024px等,

而实际的手机屏幕宽度通常小于此值,如果没有设置viewport属性,将会导致出现横向滚动条。

viewport属性的各个参数值含义如下: width:指定视口的宽度,可以是一个具体的像素值,

如:600,或者是特殊值,如:device-width。height:指定视口的高度。initial-scale:页面初始缩放比例。

user-scalable:是否允许用户缩放,yes或no。

maximum-scale:允许用户缩放的最大比例,若要禁止放大页面,则设为1.0。

minimum-scale:允许用户缩放的最小比例,若要禁止缩小页面,则设为1.0。

【示例】

<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">

3、基本的页面模板:

<!DOCTYPE html> 
<html>
<head>
<meta charset="UTF-8">
<title>......</title>
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="./bootstrap.css">
<link rel="stylesheet" href="./bootstrap-theme.css">
<script type="text/javascript" src="./jquery.js"></script>
<script type="text/javascript" src="./bootstrap.js"></script>
</head>
<body>
<div class="container">
</div>
</body>
</html>

注:X-UA-Compatible用来设置IE浏览器的兼容模式,其content属性值可为:

<meta http-equiv="X-UA-Compatible" content="IE=9">

<meta http-equiv="X-UA-Compatible" content="IE=8">

<meta http-equiv="X-UA-Compatible" content="IE=7">

<meta http-equiv="X-UA-Compatible" content="IE=edge">等。

其中Edge 模式告诉IE浏览器使用其所支持的最高级渲染模式。

如果要兼容IE6~8浏览器,还需导入两个脚本:
<!--[if lt IE 9]>

<script type="text/javascript" src="js/html5shiv.js"></script>

<script type="text/javascript" src="js/respond.js"></script>

<![endif]-->

三、页面布局

响应式布局:页面能够根据不同的浏览器屏幕自行调整内容的位置和大小,在各种尺寸的屏幕上均良好展现。

Bootstrap提供了两个用于页面布局的css容器类:

.container 类用于固定宽度布局的容器。

.container-fluid 类用于流式布局(宽度充满父容器)的容器。两种类型的容器不要嵌套使用。

3.1 container类
Bootstrap将用户设备分为4个级别: 屏幕宽度小于768px的为手机(xs);

大于等于768px小于992px的为平板(sm);

大于等于992px小于1200px的为中等显示器(md);

大于等于1200px的为大显示器(lg)。在不同等级的设备上,

应用了.container类的div容器将依据当前窗口宽度具有相应的固定宽度值:

如果是手机,其宽度将是设备宽度; 如果是平板,其宽度将是750px;

如果是中等显示器,其宽度将为970px; 如果是大显示器,其宽度将为1170px。

3.2 网格系统
无论是固定宽度布局还是流式布局,都需要借助Bootstrap 提供的网格系统控制页面组件的大小和位置。

网格系统是用来划分容器区域,以便进行组件布局的一套规则。容器被分为12列,

开发者可根据需要通过一系列的行(row)与列(column)的组合来进行页面布局,

设置每个组件所跨越的列数,设置单元格的偏移等。

通过.row类定义容器中的一行;

在.row容器中可使用如下类来定义该行中的子容器水平跨越的列数:
col-xs-*、col-sm-*、col-md-*、col-lg-*。其中*是1~12之间的数值,代表该容器水平跨越n列。

col-xs-* 用于手机的布局; col-sm-* 用于平板的布局; col-md-* 用于小显示器的布局; col-lg-* 用于大显示器的布局;
一行中的所有子容器所跨越的列数之和最多为12。如果超过12,则超出的子容器将作为一个整体放在下一行显示。
针对低级别设备的设置向上兼容

比如:使用col-xs-*类布局,无论何种设备,列数值始终有效,子容器会按照指定的值水平排列;

使用col-sm-*类布局,只要屏幕宽度超过768px,列数值就有效,子容器会水平排列;如果屏幕宽度小于768px,

则子容器将垂直排列,列数值无效,每个子容器的宽度均为父容器宽度。使用col-md-*类布局,

只要屏幕宽度超过992px,列数值就有效,子容器会水平排列,否则垂直排列。使用col-lg-*类布局,

仅当屏幕宽度超过1200px,子容器才水平排列,否则垂直排列。

【示例】面向PC的界面布局

<div class="container"> 
<div class="row">
<div class="col-md-3">md3</div>
<div class="col-md-3">md3</div>
<div class="col-md-6">md6</div>
</div>
</div>

【示例】面向手机和PC的界面布局

<div class="container"> 
<div class="row">
<div class="col-xs-6 col-md-4">.col-xs-6 .col-md-4</div>
<div class="col-xs-6 col-md-4">.col-xs-6 .col-md-4</div>
<div class="col-xs-6 col-md-4">.col-xs-6 .col-md

想让行内子容器水平向右偏移,可使用.col-*-offset-*类。

【示例】

<div class="row"> 
<div class="col-xs-12 col-md-4">.col-xs-12 .col-md-4</div>
<div class="col-xs-6 col-md-4 col-md-offset-4">.col-xs-6 .col-md-4</div>
</div>

嵌套布局
可在子容器内添加一个新的.row容器,内部使用.col-md-* 进行拆分。列数总和同样不能超过12。

【示例】

<div class="row"> 
<div class="col-xs-12 col-md-4">.col-xs-12 .col-md-4</div>
<div class="col-xs-6 col-md-4 col-md-offset-4">.col-xs-6 .col-md-4 <div class="row">
<div class="col-md-8">inner 8</div> <div class="col-md-4">inner 4</div>
</div>
</div>
</div>

流式布局:<div class="container-fluid">

充满父容器,每个子容器的宽度会自动计算,其左右各有15px的内边距。

【示例】

<div class="container-fluid"> 
<div class="row">
<div class="col-md-12">跨越12 列</div>
</div>
</div>

四、css样式类

对于常用的html标签,Bootstrap已设置了特有的样式。此外,还提供的一些有用的css类

4.1 段落相关的css类
<p class="lead">...</p> 突出显示该段落(字体变大);

<p class="text-right"> text.</p> 文本右对齐;

同理还有text-left,text-center

文字颜色相关类:

<p class="text-muted">颜色变淡</p>

<p class="text-warning">警告色</p>

<p class="text-danger">错误色</p>

<p class="text-info">信息色</p>

<p class="text-success">成功</p>

4.2表格相关的css类

<table class="table"> 增加水平分割线,单元格内有8px内边距

table-bordered 为表格和单元格增加边框

table-striped 隔行变化背景

table-hover 增加鼠标悬停效果

table-condensed 减少单元格内边距,使表格更紧凑

给行设置颜色:

<tr class="active">...</tr> 
<tr class="success">...</tr>
<tr class="warning">...</tr>
<tr class="danger">...</tr>
<tr class="info">...</tr>

单元格(`td` or `th`)

<tr>
<td class="active">...</td>
<td class="success">...</td>
<td class="warning">...</td>
<td class="danger">...</td>
<td class="info">...</td>
</tr>


4.3 表单相关的 css 类

● 表单组(form-group)
将一组 label 和控件包裹在 form-group 中,Bootstrap 会把label 置于控件上方,label 和控件左对齐。

A, <input type="text|password">、<textarea> 和 <select> 等元素可添加 form-control 类。使用了
form-control 类的控件其宽度为 100%,得到焦点后会带有蓝色阴影边框。

B, 单选按钮组,每个 <label><input type="radio"></label>包含一项。多个项目位于一个<div class="radio">
中。如下:

<div class="radio">
<label><input type="radio" name="sex" value="0">男</label>
<label><input type="radio" name="sex" value="1">女</label>
</div>

C, 复选框组,和radio组类似。如下:

<div class="checkbox">
<label><input type="checkbox" name="favo" value="1">体育</label>
<label><input type="checkbox" name="favo" value="2">音乐</label>
</div>

D, 按钮上可使用btn相关的类。如下:

<div class="form-group">
<button type="button" name="login" class="btn btn-default">Login</button>
</div>

<a>、<input type="button">以及<button type="button">等均可使用.btn btn-default 
类,使其带灰色背景。另外,还提供了一些不同视觉效果的类:btn-primary 、btn-info 、btn-success 、btn-warning 、btn-danger、 
btn-link,要改变按钮的大小,可使用.btn-lg、.btn-sm 或 .btn-xs 类。

若要表单内的label 和控件排列在同一行,首先要给form 元素添加 form-horizontal 类,同时还要使用栅格系统相关类 col-*-*设置 label 列宽和控件列宽,要控 
制<input>控件的宽度,应将其放入<div>容器中。为<label>添加 control-label 类可使得标签右对齐。
【代码】

<form action="" class="form-horizontal">
<div class="form-group">
<label for="name" class="control-label col-md-5">Name:</label>
<div class="col-md-7">
<input type="text" name="un" class="form-control" id="username">
</div>
</div>
<div class="form-group">
<label class="control-label col-md-5">Sex:</label>
<div class="radio col-md-7">
<label><input type="radio" name="sex" value="0">男</label>
<label><input type="radio" name="sex" value="1">女</label>
</div>
</div>
……

4.4 图标


Bootstrap 中提供了大约140 多个图标,图标全部位于 ../fonts/ 目录下的文件内。
使用时,每个图标都需要依附于一个<span>标签,为该元素赋予图标对应的类,如下:
<span class="glyphicon glyphicon-user"></span>

注意:
图标类只能应用在不包含任何文本内容或子元素的<span>元素上。同一个元素上图标类不能与其他类共存。

● 将图标用于按钮上
【示例】

<button type="button" class="btn btn-default">检索<span class="glyphicon glyphicon-search"></span> </button>

4.5 输入框组

使用输入框组(input-group) 可以给文本输入框<input>前面、后面或是两边加上文字或按钮。使用方法:在.input-group 内包含.input-group-addon 
类和.form-control 类。
【示例】

<div class="input-group col-md-4">
<div class="input-group-addon">
<span class="glyphicon glyphicon-user"></span>
</div>
<input type="text" class="form-control" name="userName" placeholder="yourname" />
</div>
<div class="input-group col-md-4">
<div class="input-group-addon">
<span class="glyphicon glyphicon-lock"></span>
</div>
<input type="password" name="pwd" class="form-control" />
</div>

五、Bootstrap组件

5.1 提示框

可使用的类: alert alert-success alert alert-info alert alert-warning
alert alert-danger。
【示例】

<div class="col-md-3">
<div class="alert alert-warning">
<strong>Warning!</strong>
想好了再操作!
</div>
</div>
如果要提供关闭按钮,可使用alert-dismissible类,配合使用data-dismiss="alert"按钮。
<div class="col-md-3">
<div class="alert alert-warning alert-dismissible">
<button type="button" class="close" data-dismiss="alert">
<span>&times;</span>
</button>
<strong>Warning!</strong>  想好了再操作!
</div>
</div>

5.2导航条

<div class="navbar navbar-default">
<div class="container-fluid">
<div class="navbar-header">
<a class="navbar-brand" href="#">企业名或Logo图片</a>
</div>
<ul class="nav navbar-nav">
<li class="active"><a href="home.html">主页</a></li>
<li><a href="#">菜单名</a></li>
<li><a href="#">菜单名</a></li>
<li class="dropdown"><a href="#" class="dropdown-toggle"
data-toggle="dropdown">下拉菜单 <span class="caret"></span></a>
<ul class="dropdown-menu">
<li><a href="#">菜单项</a></li>
<li><a href="#">菜单项</a></li>
</ul></li></ul>
<ul class="nav navbar-nav navbar-right">
<li></li></ul></div>
<form class="navbar-form">
<input type="text" class="form-control" placeholder="Search">
<button type="submit" class="btn btn-default">检索</button>
</form>
</div>

5.3 标签页

<div class="container">
<ul class="nav nav-tabs">
<li class="active"><a href="#home" data-toggle="tab">Home</a></li>
<li><a href="#products" data-toggle="tab">products</a></li>
<li><a href="#contacts" data-toggle="tab">contacts</a></li>
<li><a href="#others" data-toggle="tab">others</a></li>
</ul>
<div class="tab-content">
<div class="tab-pane active" id="home">Home</div>
<div class="tab-pane" id="products">products</div>
<div class="tab-pane" id="contacts">contacts</div>
<div class="tab-pane" id="others">others</div>
</div>
</div>

5.4 页码

<ul class="pagination">
<li class="disabled"><a href="#">&laquo;</a></li>
<li class="active"><a href="#">1</a></li>
<li><a href="#">2</a></li>
<li><a href="#">3</a></li>
<li><a href="#">4</a></li>
<li><a href="#">&raquo;</a></li>
</ul>

不能点击的链接添加.disabled 类、当前页添加.active 类。
5.5 标签(Label)

使用不同颜色的背景显示。

<span class="label label-default">Default</span>
<span class="label label-primary">Primary</span>
<span class="label label-success">Success</span>
<span class="label label-info">Info</span>
<span class="label label-warning">Warning</span>
<span class="label label-danger">Danger</span>

5.6 徽章(Badges)
展示新的或未读的信息条目。

<a href="#">Inbox <span class="badge">42</span></a>
<button class="btn btn-primary" type="button"> Messages <span class="badge">4</span>
</button>

5.7 缩略图(thumbnail)

<div class="thumbnail">
<img src="img/xxx" alt="dog">
<div class="caption">
<h3>文字标题</h3>
<p>图片的说明</p>
</div>
</div>

六、插件

6.1 日期选择器
bootstrap-datepicker3.css bootstrap-datepicker.js
bootstrap-datepicker.zh-CN.min.js
导入顺序:

<link rel="stylesheet" href="/bs/css/bootstrap.css">
<link rel="stylesheet" href="/bs/css/bootstrap-theme.css">
<link rel="stylesheet" href="/bs/css/bootstrap-datepicker3.css">
<script type="text/javascript" src="/bs/js/html5shiv.js"></script>
<script type="text/javascript" src="/bs/js/respond.js"></script>
<script type="text/javascript" src="/bs/js/jquery-1.11.2.js"></script>
<script type="text/javascript" src="/bs/js/bootstrap.js"></script>
<script type="text/javascript" src="/bs/js/bootstrap-datepicker.js"></script>
<script type="text/javascript"
src="/bs/js/bootstrap-datepicker.zh-CN.min.js"></script>

HTML代码:

<div class="form-group">
<label for="datepicker">出生日期:</label>
<div class="input-group date" id="datepicker" data-date-format="yyyy-mm-dd">
<input class="form-control" size="16" type="text" value="" readonly>
<div class="input-group-addon">
<span class="add-on glyphicon glyphicon-calendar"></span>
</div>
</div>
</div>

日期选择器需要通过js代码进行初始化,Js代码如下:

<script type="text/javascript">
$(function() {
$('#datepicker').datepicker();



});
</script>

若要使用中文界面,在初始化时可传入language参数值:

$('#datepicker').datepicker({language:'zh-CN'});

6.2 手风琴面板

<div class="panel-group" id="menu">
<div class="panel panel-default">
<div class="panel-heading">
<h4 class="panel-title">
<a data-toggle="collapse" data-parent="#menu" href="#div1">
菜单组一 </a>
</h4></div>
<div id="div1" class="panel-collapse   in">
<div class="list-group">
<a href="#" class="list-group-item">菜单项11</a>
<a href="#" class="list-group-item">菜单项12</a>
<a href="#"class="list-group-item">菜单项13</a>
</div></div></div>
<div class="panel panel-default">
<div class="panel-heading">
<h4 class="panel-title">
<a class="collapsed" data-toggle="collapse" data-parent="#menu"
href="#div2">菜单组二</a>
</h4></div>
<div id="div2" class="panel-collapse collapse">
<div class="list-group">
<a href="#" class="list-group-item">菜单项21</a>
<a href="#" class="list-group-item">菜单项22</a>
<a href="#"class="list-group-item">菜单项23</a>
</div></div></div></div>

6.3 轮播图

<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="..." alt="...">
<div class="carousel-caption">
...
</div>
</div>
<div class="item">
<img src="..." 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" ></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" ></span> <span class="sr-only">Next</span>
</a>
</div>
原文地址:https://www.cnblogs.com/zenglintao/p/12889747.html