写点什么

Bootstrap 框架快速上手

作者:Java高工P7
  • 2021 年 11 月 10 日
  • 本文字数:9779 字

    阅读完需:约 32 分钟

</body>



我们让第二个盒子向右浮动 3 个列的距离


<body>


<div class="container">


<div class="row">


<div class="col-md-1 " style="background-color: red;">1</div>


<div class="col-md-1 col-md-push-3" style="background-color: pink;">1</div>


<div class="col-md-1 " style="background-color: greenyellow;">1</div>


<div class="col-md-1 " style="background-color:yellow;">1</div>


</div>


</div>


</body>



3.4、列嵌套




  • 列嵌套:你可以在一个列中添加一个或者多个行(row) 容器,然后在这个行容器中插入列。


<body>


<div class="container">


<div class="row">


<div class="col-md-8" style="background-color: white ;">


<div class="col-md-4" style="background-color: red;">4</div>


<div class="col-md-4" style="background-color: green;">4</div>


<div class="col-md-4" style="background-color: yellow;">4</div>


</div>


<div class="col-md-4" style="background-color: blue ;">4</div>


</div>


</div>


</body>



4、排版


======================================================================


4.1、标题




  • Bootstrap 和普通的 HTML 页面一样,定义标题都是使用标签 <h1> ~ <h6> ,只不过 Bootstrap 覆盖了其默认的样式,使用其在所有浏览器下显示的效果一样,

  • 为了让非标题元素和标题使用相同的样式,还特意定义了 .h1 ~ .h6 六个类名。同时后面可以紧跟着一行小的标题 <small></small> 或使用 .small


<h1>Bootstrap Heading<small>副标题</small></h1>


<div class="h1">


Bootstrap 标题 1


<span class = "small"> 副标题 </span>


</div>



4.2、段落




  • 段落是排版中的另一个重要元素之一。

  • 通过.lead 来突出强调内容(其作用就是增大文本字号,加粗文本,而且对行高和 margin 也做相应的处理)。可以使用以下标签给文本做突出样式处理。

  • <small> :小号字

  • <b><strong>:加粗

  • <i><em>: 斜体


<p>以后的你会感谢现在努力的你</p>


<p class="lead">以后的你会感谢现在努力的你</p>


<p class="lead">


</p>


4.3、强调




定义了一套类名,这里称其为强调类名,这些强调嘞都是通过颜色来表示强调,具体说明如下:


  • .text-muted: 提示,使用浅灰色(#999)

  • .text.primary :主要,使用蓝色(#428bca)

  • .text-success:成功,使用浅绿色(#3c763d)

  • .text-info:通知信息,使用浅蓝色(#31708f)

  • text-warning:警告,使用黄色(#8a6d3n)

  • text-danger:危险,使用褐色(#a94442)


<div class="container">


<div class="text-muted">提示效果</div>


<div class="text-primary">主要效果</div>


<div class="text-success">成功效果</div>


<div class="text-info">信息效果</div>


<div class="text-warning">警告效果</div>


<div class="text-danger">危险效果</div>


</div>


4.4、对齐效果




在 CSS 中常常使用text-align 来实现文本的对齐风格的设置。


其中主要有四种风格


| 值 | 说明 |


| --- | --- |


| left | 左对齐 |


| right | 右对齐 |


| center | 居中对齐 |


| justify | 两端对齐 |


  • Bootstrap 中通过定义四个类名来控制文本的对齐风格


| 类名 | 说明 |


| --- | --- |


| text-left | 左对齐 |


| text-right | 右对齐 |


| text-center | 居中对齐 |


| text-justify | 两端对齐 |


<div class="container">


<p class="text-left">我居左</p>


<p class="text-center">我居中</p>


<p class="text-right">我居右</p>


<p class="text-justify">网格系统的实现原理非常简单,仅仅是通过定义容器大小,平分 12 份(也有平分成 24 份或 32 份,但 12 份是最常见的),再调整内外边距,最后结合媒体查询,就制作出了强大的响应式网格系统。Bootstrap 框架中的网格系统就是将容器平分成 12 份


</p>


</div>


4.8、列表



4.8.1、无序列表

排列顺序无关紧要的一列元素。


<ul>


<li>...</li>


</ul>

4.8.2、有序列表

顺序至关重要的一组元素。


<ol>


<li>...</li>


</ol>

4.8.3、自定义列表

<dl>


<dt>HTML</dt>


<dd>超文本标记语言</dd>


<dt>CSS</dt>


<dd>层叠样式表是一种样式表语言</dd>


</dl>

4.8.3、水平定义列表

在原有的基础加入了一些样式,使用样式class="dl-horizontal" 制作水平定义列表,当标题宽度超过 160px 时,将会显示三个省略号。


<div class="container">


<dl class="dl-horizontal">


<dt>HTML 超文本标记语言</dt>


<dd>HTML 称为超文本标记语言,是一种标识性的语言。</dd>


<dt>测试标题不能超过 160px 的宽度,否则 2 个点</dt>


<dd>我在写一个水平定义列表的效果,我在写一个水平定义列表的效果。</dd>


</dl>


</div>


4.8.4、去点列表

移除了默认的 list-style 样式,也就是去掉了原无序列表前面的点 (去掉项目符号(编号))


<ul class="list-unstyled">


<li>...</li>


</ul>

4.8.5、内联列表

给列表添加class="list-inline",把垂直列表换成水平列表,而且去掉项目符号(编号),将所有元素放置于同一行。也可以说内联列表就是为了制作水平导航而生的。


<ul>


<li>首页</li>


<li>java 学院</li>


<li>在线课堂</li>


</ul>


4.9、代码




一般在个人博客上使用的较为频繁,用于显示代码的风格。在 Bootstrap 主要提供了三种代码风格:


  • 使用<code></code> 来显示单行内联代码

  • 使用<pre></pre> 来显示多行块代码

  • 样式pre-scrollable(height,max-height 高度固定为 340px,超过则存在滚动条)

  • 使用<kbd></kbd> 来显示用户输入代码。如快捷键

4.9.1、单行内联代码

<code>this is a simple code</code>

4.9.2、快捷键

<p>


使用<kbd>ctrl+s</kbd>保存


</p>

4.9.2、多行块代码

<body>


<pre>


public class HelloWorld {


public static void main(String[] args){


System.out.println("helloworld...");


}


}


</pre>


<!--


2.显示 html 标签的代码需要适应字符实体


小于号(<)要使用硬编码“<”来替代,大于号(>)使用“>”来替代


-->


<pre>


<h2>Hello World</h2>


</pre>


<pre>


<h2>Hello World</h2>


</pre>


<pre class="pre-scrollable">


<ol>


<li>...........</li>


<li>...........</li>


<li>...........</li>


<li>...........</li>


<li>...........</li>


<li>...........</li>


<li>...........</li>


<li>...........</li>


<li>...........</li>


<li>...........</li>


<li>...........</li>


<li>...........</li>


</ol>


</pre>


</body>



4.10、表格




Bootstrap 为表格提供了 1 种基础样式和 4 种附加样式以及 1 个支持响应式的表格。在使用 Bootstrap 得到表格过程种,只需要添加对应的类名就可以得到不同的表格风格。


4.10.1、基础样式




  • class = "table" : 基础表格

4.10.2、附加样式

| 类名 | 说明 |


| --- | --- |


| table-striped | 斑马线表格 |


| table-bordered | 带边框的表格 |


| table-hover | 鼠标悬停高亮的表格 |


| table-condensed | 紧凑型表格,单元格没内距或者内距较其他表格的内距小 |


<body>


<table class="table table-bordered table-striped table-hover table-condensed">


<tr>


<th>JavaSE</th>


<th>数据库</th>


<th>JavaScript</th>


</tr>


<tr>


<td>面向对象</td>


<td>oracle</td>


<td>json</td>


</tr>


<tr>


<td>数组</td>


<td>mysql</td>


<td>ajax</td>


</tr>


<tr>


<td>面向对象</td>


<td>oracle</td>


<td>json</td>


</tr>


<tr>


<td>数组</td>


<td>mysql</td>


<td>ajax</td>


</tr>


</table>


</body>

4.10.3、tr、th、td 样式

提供了五种不同的类名,每种类名控制了行的不同背景颜色


| 类名 | 说明 |


| --- | --- |


| active | 将悬停的颜色应用在行或者单元格上 |


| success | 表示成功的操作 |


| info | 表示信息变化的操作 |


| warning | 表示一个警告的操作 |


| danger | 表示一个危险的操作 |


<body>


<table class="table table-bordered table-striped table-hover table-condensed">


<tr class="info">


<th>JavaSE</th>


<th>数据库</th>


<th>JavaScript</th>


</tr>


<tr class="active">


<td>面向对象</td>


<td>oracle</td>


<td>json</td>


</tr>


<tr class="danger">


<td>数组</td>


<td>mysql</td>


<td>ajax</td>


</tr>


<tr class="warning">


<td>面向对象</td>


<td>oracle</td>


<td>json</td>


</tr>


<tr class="success">


<td>数组</td>


<td>mysql</td>


<td>ajax</td>


</tr>


</table>


</body>



5、表单


======================================================================


表单主要功能是用来和用户做交流的一个网页控件,良好的表单设计能够让网页与用户更好的沟通。表单中常见的元素主要包括:


  • 文本输入框

  • 下拉选择框

  • 单选按钮

  • 复选按钮

  • 文本域和按钮等


5.1、表单控件




  • class="form-control" 表单元素的样式

  • class="input-lg" :表单控件较大

  • class="input-sm" : 表单控件较小

5.1.1、输入框 text

  • 添加class = "form-controll"


<div class="container">


<div class="row">


<div class="col-sm-3">


<input type="text" name="" id="" />


<input type="text" name="" id="" class="form-control" />


<input type="text" name="" id="" class="form-control input-lg" />


<input type="text" name="" id="" class="form-control input-sm" />


</div>


</div>


</div>


5.1.2、下拉选择框 select

  • 添加class = "form-controll"

  • 多个选择设置multiple="multuple"


<body>


<div class="container">


<select>


<option>北京</option>


<option>上海</option>


<option>深圳</option>


</select>


<hr>


<hr>


<hr>


<select class="form-control">


<option>北京</option>


<option>上海</option>


<option>深圳</option>


</select>


<hr>


<hr>


<hr>


<select class="form-control" multiple="multuple">


<option >北京</option>


<option>上海</option>


<option>深圳</option>


</select>


</div>


</body>


5.1.3、文本域 textarea

  • 添加class = "form-controll"

  • 一般都是用栅格来控制文本域的大小


<div class="container">


<div class="row">


<div class="col-sm-3">


<textarea rows="3"></textarea>


</div>


<div class="col-sm-6">


<textarea class="form-control" rows="3"></textarea>


</div>


</div>


</div>


5.1.4、复选框 checkbox

  • 垂直显示(给 input 标签加):class="checkbox"

  • 水平显示(给 label 标签加):class="checkbox-inline"


<div class="container">


<div>


<div class="checkbox">


<label><input type="checkbox" >游戏</label>


</div>


<div class="checkbox">


<label><input type="checkbox" >学习</label>


</div>


</div>


<div>


<label class="checkbox-inline">


<input type="checkbox" >游戏


</label>


<label class="checkbox-inline">


<input type="checkbox" >学习


</label>


</div>


</div>


5.1.5、单选框 radio

  • 垂直显示(给 input 标签加):class="radio"

  • 水平显示(给 label 标签加):class="radio-inline"


<div class="container">


<div class="row">


<div>


<div class="radio">


<label><input type="radio" >男</label>


</div>


<div class="radio">


<label><input type="radio" >女</label>


</div>


</div>


<div>


<label class="radio-inline">


<input type="radio" >男


</label>


<label class="radio-inline">


<input type="radio" >女


</label>


</div>


</div>


</div>


5.1.6、按钮

①基础样式

  • 基础样式(给 button 标签加):class="btn"


<button class="btn">按钮</button>

②附加样式

| 类名 | 样式 |


| --- | --- |


| class="btn btn-default" | 默认样式 Default |


| class="btn btn-primary" | 首选项 Primary |


| class="btn btn-success" | 成功 Success |


| class="btn btn-info" | 一般信息 Info |


| class="btn btn-warning" | 警告 Warning |


| class="btn btn-danger" | 危险 Danger |


| class="btn btn-link" | 链接 Link |


<div class="container">


<button type="button" class="btn btn-default">(默认样式)Default</button>


<button type="button" class="btn btn-primary">(首选项)Primary</button>


<button type="button" class="btn btn-success">(成功)Success</button>


<button type="button" class="btn btn-info">(一般信息)Info</button>


<button type="button" class="btn btn-warning">(警告)Warning</button>


<button type="button" class="btn btn-danger">(危险)Danger</button>


<button type="button" class="btn btn-link">(链接)Link</button>


</div>


③多标签支持

  • 多标签支持:使用 a div input 等制作按钮


<div class="container">


<a class="btn btn-default" href="#" role="button">Link</a>


<button class="btn btn-default" type="submit">Button</button>


<input class="btn btn-default" type="button" value="Input">


<input class="btn btn-default" type="submit" value="Submit">


</div>


注意:


  • 虽然按钮类可以应用到 <a><button> 元素上,但是,导航和导航条组件只支持 <button> 元素。

  • 如果 <a> 元素被作为按钮使用 – 并用于在当前页面触发某些功能 – 而不是用于链接其他页面或链接当前页面中的其他部分,那么,务必为其设置 role="button" 属性。

  • 我们总结的最佳实践是:强烈建议尽可能使用 <button> 元素来获得在各个浏览器上获得相匹配的绘制效果。

④设置按钮大小

  • 使用 .btn-lg.btn-sm.btn-xs 就可以获得不同尺寸的按钮

  • class="btn-lg" 大按钮

  • class="btn-sm" 小按钮

  • class="btn-xs" 超小按钮


<div class="container">


<p>


<button type="button" class="btn btn-primary btn-lg">(大按钮)Large button</button>


<button type="button" class="btn btn-default btn-lg">(大按钮)Large button</button>


</p>


<p>


<button type="button" class="btn btn-primary">(默认尺寸)Default button</button>


<button type="button" class="btn btn-default">(默认尺寸)Default button</button>


</p>


<p>


<button type="button" class="btn btn-primary btn-sm">(小按钮)Small button</button>


<button type="button" class="btn btn-default btn-sm">(小按钮)Small button</button>


</p>


<p>


<button type="button" class="btn btn-primary btn-xs">(超小尺寸)Extra small button</button>


<button type="button" class="btn btn-default btn-xs">(超小尺寸)Extra small button</button>


</p>


</div>


⑤按钮禁用

  • <button> 元素添加 disabled="disabled" 属性,使其表现出禁用状态。


<div class="container">


<button type="button" class="btn btn-lg btn-primary" disabled="disabled">Primary button</button>


<button type="button" class="btn btn-default btn-lg" disabled="disabled">Button</button>


</div>


5.2、表单布局



5.2.1、垂直表单

基本的表单结构是 Bootstrap 自带的,个别的表单控件自动接收一些全局样式。下面列出了创建基本表单的步骤:


  • 向父元素<form> 元素 添加 role="form"

  • 把标签和控件放在一个带有 class="form-group"<div> 中。这是获取最佳间距所必需的

  • 向所有的文本元素 <input><textarea>select 添加 class="form-control"


<body>


<form action="#" class="form-horizontal" role="form">


<h2 align="center">用户信息表</h2>


<div class="form-group">


<label for="uname" class="control-label col-md-2">姓名</label>


<div class="col-md-8">


<input type="text" id="uname" class="form-control" placeholder="请输入姓名" />


</div>


</div>


<div class="form-group">


<label for="upwd" class="control-label col-md-2">密码</label>


<div class="col-md-8">


<input type="password" id="upwd" class="form-control" placeholder="请输入密码" />


</div>


</div>


<div class="form-group">


<label class="control-label col-md-2">爱好</label>


<div class="col-md-8">


<label class="checkbox-inline">


<input type="checkbox" />敲代码


</label>


<label class="checkbox-inline">


<input type="checkbox" />跳舞


</label>


</div>


</div>


<div class="form-group">


<label class="control-label col-md-2">城市</label>


<div class="col-md-8">


<select class="form-control">


<option>请选择城市</option>


<option>上海</option>


<option>北京</option>


<option>深圳</option>


</select>


</div>


</div>


<div class="form-group">


<label for="remark" class="control-label col-md-2">简介</label>


<div class="col-md-8">


<textarea id="remark" class="form-control"></textarea>


</div>


</div>


<div class="form-group">


<div class="col-md-2 col-md-offset-5">


<button class="btn btn-primary">提交</button>


</div>


</div>


</form>


</body>


5.2.1、内联表单

  • 如果需要创建一个表单,它的所有元素是内联的,向左对齐的,标签是并排的,请向 <form> 标签添加 class="form-inline"


<body>


<div class="container">


<form action="#" class="form-inline" role="form">


<div class="form-group">


<label for="userName">姓名</label>


<input type="text" id="userName" class="form-control" placeholder="请输入姓名" />


</div>


<div class="form-group">


<label for="userPwd">密码</label>


<input type="text" id="userPwd" class="form-control" placeholder="请输入姓名" />


</div>


<div class="form-group">


<label for="userName">姓名</label>


<input type="text" id="userName" class="form-control" placeholder="请输入密码" />


</div>


<div class="form-group">


<button class="btn btn-warning">提交</button>


</div>


</form>


</div>


</body>



6、缩略图


=======================================================================


6.1、字体图标




  • 在我们下载的 Bootstrap 加压文件中有 fonts 文件夹,里面就是我们的字体图标

  • 只需将 fonts 文件夹复制到我们的项目红,我们就可以使用字体图标了

  • 语法:


<span class="字体图标类名"> 字体图标 </span>



6.2、缩略图使用




  • 大多数站点都需要在网格中布局图像、视频、文本等。Bootstrap 通过缩略图为此提供了一种简便的方式

  • 使用 Bootstrap 创建缩略图的步骤如下:

  • 在图像周围添加带有 class="thumbnail"<a> 标签。

  • 这会添加四个像素的内边距(padding)和一个灰色的边框。

  • 当鼠标悬停在图像上时,会动画显示出图像的轮廓。


<body>


<div class="container">


<div class="col-sm-6 col-md-3">


<a href="#" class="thumbnail">


<img src="img/timg.jpg" alt="通用的占位符缩略图">


</a>


</div>


</div>


</body>



6.3、自定义内容




现在我们有了一个基本的缩略图,我们可以向缩略图添加各种 HTML 内容,比如标题、段落或按钮。具体步骤如下:


  • 把带有 class="thumbnail"<a> 标签改为 <div>

  • 在该 <div>内,您可以添加任何您想要添加的东西。由于这是一个 <div>,我们可以使用默认的基于 span 的命名规则来调整大小。

  • 如果您想要给多个图像进行分组,请把它们放置在一个无序列表中,且每个列表项向左浮动。


<div class="container">


<div class="col-md-3">


<div class="thumbnail">


<img src="img/timg.jpg" alt="...">


<h3>高圆圆</h3>


<p>出生于北京市,中国内地影视女演员、模特。</p>


<button class="btn btn-default">


<span class="glyphicon glyphicon-heart"></span>喜欢


</button>


<button class="btn btn-info">


<span class="glyphicon glyphicon-pencil"></span>评论


</button>


</div>


</div>


<div class="col-md-3">


<div class="thumbnail">


<img src="img/timg.jpg" alt="...">


<h3>高圆圆</h3>


<p>出生于北京市,中国内地影视女演员、模特。</p>


<button class="btn btn-default">


<span class="glyphicon glyphicon-heart"></span>喜欢


</button>


<button class="btn btn-info">


<span class="glyphicon glyphicon-pencil"></span>评论


</button>


</div>


</div>


<div class="col-md-3">


<div class="thumbnail">


<img src="img/timg.jpg" alt="...">


<h3>高圆圆</h3>


<p>出生于北京市,中国内地影视女演员、模特。</p>


<button class="btn btn-default">


<span class="glyphicon glyphicon-heart"></span>喜欢


</button>


<button class="btn btn-info">


<span class="glyphicon glyphicon-pencil"></span>评论


</button>


</div>


</div>


....


....


</div>



6.4、面板




  • 面板组件用于把 DOM 组件插入到一个盒子中

  • 创建一个基本的面板,只需要向 <div> 元素添加 class="panel panel-default" 即可


<div class="panel panel-default">


<div class="panel-body">


这是一个基本的面板


</div>


</div>


默认的 .panel 组件所做的只是设置基本的边框 border 和 內补 padding 来包含内容

6.4.1、面板

  • 给盒子添加 class="panel-heading" 可以很简单地向面板添加标题。

  • 给盒子添加 class="panel-body" 可以向面板添加主题内容


<div class="panel panel-warning">


<div class="panel-heading">


<h2>明星合集</h2>


</div>


<div class="panel-body">


<div class="col-md-3">


<div class="thumbnail">


<img src="img/timg.jpg" alt="...">


<h3>高圆圆</h3>


<p>出生于北京市,中国内地影视女演员、模特。</p>


<button class="btn btn-default">


<span class="glyphicon glyphicon-heart"></span>喜欢</button>


<button class="btn btn-info">


<span class="glyphicon glyphicon-pencil"></span>评论


</button>


</div>


</div>


</div>


</div>



7、导航元素


========================================================================


7.1、标签式的导航菜单




  • 给一个无序列表添加 class="nav nav-tabs"

  • 给任意一个 li 添加 class="active"(表示选中这个导航)


<body>


<div class="container">


<p>标签式的导航菜单</p>


<ul class="nav nav-tabs">


<li> <a href="#">Home</a></li>


<li><a href="#">SVN</a></li>


<li><a href="#">iOS</a></li>


<li><a href="#">VB.Net</a></li>


<li class="active"><a href="#">Java</a></li>


<li><a href="#">PHP</a></li>


</ul>


</div>


</body>



7.2、胶囊式的导航菜单




  • 给一个无序列表添加 class="nav nav-pills"

  • 给任意一个 li 添加 class="active"(表示选中这个导航)


<div class="container">


<p>基本的胶囊式导航菜单</p>


<ul class="nav nav-pills">


<li><a href="#">Home</a></li>


<li><a href="#">SVN</a></li>


<li><a href="#">iOS</a></li>


<li><a href="#">VB.Net</a></li>


<li class="active"><a href="#">Java</a></li>


<li><a href="#">PHP</a></li>


</ul>


</div>


①垂直的胶囊式导航菜单

  • 给一个无序列表添加 class="nav nav-pills" 的同时添加class="nav-stacked"

  • 给任意一个 li 添加 class="active"(表示选中这个导航)


<div class="container">


<p>基本的垂直的胶囊式导航菜单</p>


<ul class="nav nav-pills nav-stacked">


<li><a href="#">Home</a></li>


<li><a href="#">SVN</a></li>


<li><a href="#">iOS</a></li>


<li><a href="#">VB.Net</a></li>


<li class="active"><a href="#">Java</a></li>


<li><a href="#">PHP</a></li>


</ul>


</div>



7.3、两端对齐导航




  • 让标签式导航两端对齐:给一个无序列表添加 class="nav nav-tabs nav-justified"

  • 让胶囊式导航两端对齐:给一个无序列表添加 class="nav nav-pills nav-justified"


<div class="container">


<p>两端对齐的标签导航元素</p>


<ul class="nav nav-pills nav-justified">


<li class="active"><a href="#">Home</a></li>


<li><a href="#">SVN</a></li>


<li><a href="#">iOS</a></li>


<li><a href="#">VB.Net</a></li>


<li><a href="#">Java</a></li>


<li><a href="#">PHP</a></li>


</ul><br><br><br>


<hr>


<p>两端对齐的胶囊导航元素</p>


<ul class="nav nav-tabs nav-justified">


<li class="active"><a href="#">Home</a></li>


<li><a href="#">SVN</a></li>


<li><a href="#">iOS</a></li>


<li><a href="#">VB.Net</a></li>


<li><a href="#">Java</a></li>


<li><a href="#">PHP</a></li>


</ul>


</div>



7.4、总结




| 类 | 描述 |


| --- | --- |


| .nav nav-tabs | 标签页 |


| .nav nav-pills | 胶囊式标签页 |


| .nav nav-pills nav-stacked | 胶囊式标签页以垂直方向堆叠排列的 |


| .nav-justified | 两端对齐的标签页 |


8、分页


======================================================================


8.1、默认的分页




  • 给一个无序列表添加class="pagination"

  • 给任意一个 li 添加 class="active"(表示选中这一页)


<div class="container">


<p>分页导航</p>


<ul class="pagination">


<li><a href="#">«</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="#">5</a></li>


<li><a href="#">»</a></li>


</ul>


</div>

用户头像

Java高工P7

关注

还未添加个人签名 2021.11.08 加入

还未添加个人简介

评论

发布
暂无评论
Bootstrap框架快速上手