Bootstrap 基础(bootstrap 基础教程)
ccwgpt 2024-10-14 08:47 31 浏览 0 评论
### 什么是`Bootstrap`?
`bootstrap`是一个最受欢迎的 HTML、CSS 和 JS 框架,用于开发响应式布局、移动设备优先的 WEB 项目。通俗的讲,`bootstrap`就是预先定义好了一套优美的`CSS`样式和一套`组件`,前端开发者可以直接拿来使用,加速开发效率,并且他是响应式布局的,所以写的一套代码可以在多种设备中进行使用。
### 如何使用`bootstrap`?
要使用`bootstrap`很简单,只要[下载](https://github.com/twbs/bootstrap "")源代码,然后把`bootstrap.min.css`和`bootstrap.min.js`以及`jquery.min.js`导入到`html`文件中即可使用。或者是使用[bootcss](http://www.bootcss.com/ "")网站提供的`CDN`加速服务,把链接导入到`HTML`文件中即可,要注意的事情是,`jquery`必须放在`bootstrap.min.js`之前,因为`bootstrap.min.js`依赖`jquery`,那么以下将使用`CDN`的方式展示样例代码:
```html
<!-- 新 Bootstrap 核心 CSS 文件 -->
<link rel="stylesheet" href="http://cdn.bootcss.com/bootstrap/3.3.0/css/bootstrap.min.css">
<!-- jQuery文件。务必在bootstrap.min.js 之前引入 -->
<script src="http://cdn.bootcss.com/jquery/1.11.1/jquery.min.js"></script>
<!-- 最新的 Bootstrap 核心 JavaScript 文件 -->
<script src="http://cdn.bootcss.com/bootstrap/3.3.0/js/bootstrap.min.js"></script>
```
### `bootstrap`中的栅格系统:
`bootstrap`中最强大也是最核心的一个东西就是响应式,而响应式是通过一个叫做**栅格系统**的东西实现的。栅格系统把一个页面分成12列,bootstrap会根据媒体查询获取当前的浏览器的宽度,然后再把宽度平均分配给12列,html中一个盒子可以占用多列。要使用栅格系统,需要使用到`container/container-fluid`和`row`以及`col-xs-/col-sm-/col-md-/col-lg-`类。`container`相当于一个`table`盒子,装着许许多多的`row`,每个row里面装着许许多多的`col`,通过这样一种结构,构成了一个栅格系统,而`container`和`container-fluid`的唯一区别是,`container-fluid`是全屏的,而`container`不是全屏的,左右两边会有一个间距。
* `col-lg-n`:浏览器大于1200px时候的显示方式.
* `col-md-n`:浏览器大于992px时候的显示方式.
* `col-sm-n`:浏览器>=768px时候的显示方式.
* `col-xs-n`:浏览器小鱼768时候的限时方式.
### `bootstrap`中的表格:
这个用起来相当简单,只要给表格添加一个`table`类就可以了。然后根据需要再添加其他的类。
1. `table-striped`:条纹状表格。
2. `table-bordered`:带边框的表格。
3. `table-hover`:鼠标放上去有悬停效果。
可以通过`css`样式来给表格的具体列指定宽度。
### 30个你必须知道的选择器:
```
http://yanhaijing.com/css/2014/01/04/the-30-css-selectors-you-must-memorize/
```
### `bootstrap`中的表单:
1. `form`类的种类:
* `form`:这个类使表单元素填充100%的宽度。
* `form-inline`:这个类使所有表单元素水平排列,表现出`inline-block`的样式。
* `form-horizontal`:这个类使得他的子`form-group`盒子表现出水平排列的效果。
2. `form`子盒子的类:
* 直接子类通过`form-group`来将`label`和`表单元素`包裹起来可以获得最好的排列。
* `input/textarea/select`等元素需要添加`form-control`类,才能使用`bootstrap`的定义好的样式。
* `checkbox`:这个比较特殊,需要使用label进行包裹来获得最好的展示效果。
* `form`相当于有`container`的功能,`form-group`有`row`的功能,可以直接在`form-group`中加一层`div`,然后添加`class='col-md-10'`这样的代码来设置栅格布局。
### 按钮:
使用按钮很简单,只需要给`button`添加一个`btn`的类就可以了,然后根据需要添加其他的有特殊效果的`class`。
例如:
```html
<button type="button" class="btn btn-default">Default</button>
```
带有特殊效果的预定义的类有:
1. `btn-default`:默认的白色效果。
2. `btn-primary`:蓝色的效果。
3. `btn-success`:绿色的表示成功的效果。
4. `btn-info`:浅蓝色的表示信息的效果。
5. `btn-warning`:黄色的表示警告的效果。
6. `btn-danger`: 红色的表示危险的效果。
另外,如果想让一个按钮表现出和父盒子一样的宽度,添加`btn-block`可以把按钮拉升到100%的宽度。还有一点需要注意的事,为了在所有浏览器中表现一致,官方推荐在`input`为`submit`的时候,应该尽量使用`button`来代替。
### 辅助类:
1. 具有情景颜色意义的文本:
* `text-muted`:颜色比较柔和的文本。
* `text-primary`:蓝色的文本。
* `text-success`: 代表成功的绿色文本。
* `text-info`: 表示信息的浅蓝色文本。
* `text-warning`: 表示警告信息的黄色文本。
* `text-danger`:表示危险的红色文本。
2. 具有情景颜色意义的文本背景:
* `bg-primary`:蓝色的背景,字体是白色的。
* `bg-success`:绿色的背景,字体是黑色的。
* `bg-info`: 浅蓝色的背景,字体是黑色的。
* `bg-warning`:黄色的背景,字体是黑色的。
* `bg-danger`:红色的背景,字体是黑色的。
### `svg`字体图标:
一种矢量字体图标,为什么说是字体,因为它的大小可以随着字体的大小变化而变化,并且放大不会出现锯齿。使用一个`span`标签包裹起来。
使用方式:
```html
<span class="glyphicon glyphicon-search"></span>
```
### 下拉菜单:
下拉菜单的`触发器`和`下拉列表`,需要放在一个`class`为`dropdown`的盒子里面。
1. 触发器:必须有一个`data-toggle='dropdown'`的属性,否则`bootstrap`不能给你收缩。并且为了更好的效果,需要给触发器一个`dropdown-toggle`的`class`。
2. 下拉列表:下拉列表需要添加一个`dropdown-menu`类。
### 输入框组:
通过在文本输入框`<input>`前面、后面或是两边加上文字或按钮,可以实现对表单控件的扩展。使用 `.input-group` 包裹 `.input-group-addon` 类,可以给 `.form-control` 的前面或后面添加额外的元素。
基本使用:
```html
<div class="form-group">
<div class="input-group">
<div class="input-group">
<span class="input-group-addon">@</span>
<input type="text" class="form-control">
</div>
</div>
</div>
```
**注意**:
1. 不支持在输入框的单独一侧添加多个额外元素。
2. 不支持在单个输入框组中添加多个表单控件。
### 导航条:
1. 标签页:使用`nav`类定义一个标签页。然后使用`nav-tabs`定义一个普通的标签页,`nav-pills`来定义一个胶囊式的标签页。示例代码如下:
```html
**普通标签页**
<ul class="nav nav-tabs" role="tablist">
<li role="presentation" class="active"><a href="#">Home</a></li>
<li role="presentation"><a href="#">Profile</a></li>
<li role="presentation"><a href="#">Messages</a></li>
</ul>
```
```html
**胶囊式标签页**
<ul class="nav nav-pills" role="tablist">
<li role="presentation" class="active"><a href="#">Home</a></li>
<li role="presentation"><a href="#">Profile</a></li>
<li role="presentation"><a href="#">Messages</a></li>
</ul>
```
2. 导航条:
* 导航条使用`navbar`类来作为导航条盒子。
* 然后在里面使用`container`或者是`container-fluid`平铺的来作为容器。
* 使用`navbar-header`来装`brand`。
* 使用`collapse`这个盒子包装链接,可以在缩小的时候,有一个弹出按钮。
* 使用`nav navbar-nav`来包裹真正的链接。
* 使用`navbar-fixed-top`可以让导航条固定在顶部。
* 使用`navbar-static-top`来静止在顶部,如果往下面滚动就会消失。
* 使用`navbar-inverse`改变导航条的外观。
3. 分页:
```
<nav>
<ul class="pagination">
<li><a href="#">«</a></li>
<li><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>
</nav>
```
`active`表示当前按钮是选中的,`disabled`表示当前按钮不可用。
4. 标签:
使用`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. 警告框:
使用`alert`类来表示一个警告框。
```
<div class="alert alert-success" role="alert">...</div>
```
* `alert-success`:绿色的成功的。
* `alert-info`:浅蓝色的表示信息。
* `alert-warning`:黄色的表示警告。
* `alert-danger`:红色的表示危险的,一般是失败的。
6. 面板:
* 通过使用`panel`类来添加一个面板。
* 通过使用`panel-heading`来给面板添加一个标题,也可以通过使用`panel-title`类的`h1-h6`标签,添加一个预定义样式的标题。
*
相关推荐
- 用Steam启动Epic游戏会更快吗?(epic怎么用steam启动)
-
Epic商店很香,但也有不少抱怨,其中一条是启动游戏太慢。那么,如果让Steam启动Epic游戏,会不会速度更快?众所周知,Steam可以启动非Steam游戏,方法是在客户端左下方点击“添加游戏”,然...
- Docker看这一篇入门就够了(dockerl)
-
安装DockerLinux:$curl-fsSLhttps://get.docker.com-oget-docker.sh$sudoshget-docker.sh注意:如果安装了旧版...
- AYUI 炫丽PC开发UI框架2016年6月15日对外免费开发使用 [1]
-
2016年6月15日,我AY对外发布AYUI(WPF4.0开发)的UI框架,开发时候,你可以无任何影响的去开发PC电脑上的软件exe程序。AYUI兼容XP操作系统,在Win7/8/8.1/10上都顺利...
- 别再说C#/C++套壳方案多了!Tauri这“借壳生蛋”你可能没看懂!
-
浏览器套壳方案,C#和C++有更多,你说的没错,从数量和历史积淀来看,C#和C++确实有不少方式来套壳浏览器,让Web内容在桌面应用里跑起来。但咱们得把这套壳二字掰扯清楚,因为这里面学问可大了!不同的...
- OneCode 核心概念解析——Page(页面)
-
在接触到OneCode最先接触到的就是,Page页面,在低代码引擎中,页面(Page)设计的灵活性是平衡“快速开发”与“复杂需求适配”的关键。以下从架构设计、组件系统、配置能力等维度,解析确...
- React是最后的前端框架吗,为什么这么说的?
-
油管上有一位叫Theo的博主说,React是终极前端框架,为什么这么说呢?让我们来看看其逻辑:这个标题看起来像假的,对吧?React之后明明有无数新框架诞生,凭什么说它是最后一个?我说的“最后一个”不...
- 面试辅导(二):2025前端面试密码:用3个底层逻辑征服技术官
-
面试官放下简历,手指在桌上敲了三下:"你上次解决的技术难题,现在回头看有什么不足?"眼前的候选人瞬间僵住——这是上周真实发生在蚂蚁金服终面的场景。2025年的前端战场早已不是框架熟练...
- 前端新星崛起!Astro框架能否终结React的霸主地位?
-
引言:当"背着背包的全能选手"遇上"轻装上阵的短跑冠军"如果你是一名前端开发者,2024年的框架之争绝对让你眼花缭乱——一边是React这位"背着全家桶的全能选...
- 基于函数计算的 BFF 架构(基于函数计算的 bff 架构是什么)
-
什么是BFFBFF全称是BackendsForFrontends(服务于前端的后端),起源于2015年SamNewman一篇博客文章《Pattern:BackendsFor...
- 谷歌 Prompt Engineering 白皮书:2025年 AI 提示词工程的 10 个技巧
-
在AI技术飞速发展的当下,如何更高效地与大语言模型(LLM)沟通,以获取更准确、更有价值的输出,成为了一个备受关注的问题。谷歌最新发布的《PromptEngineering》白皮书,为这一问题提供了...
- 光的艺术:灯具创意设计(灯光艺术作品展示)
-
本文转自|艺术与设计微信号|artdesign_org_cn“光”是文明的起源,是思维的开端,同样也是人类睁眼的开始。每个人在出生一刻,便接受了光的照耀和洗礼。远古时候,人们将光奉为神明,用火来...
- MoE模型已成新风口,AI基础设施竞速升级
-
机器之心报道编辑:Panda因为基准测试成绩与实际表现相差较大,近期开源的Llama4系列模型正陷入争议的漩涡之中,但有一点却毫无疑问:MoE(混合专家)定然是未来AI大模型的主流范式之一。...
- Meta Spatial SDK重大改进:重塑Horizon OS应用开发格局
-
由文心大模型生成的文章摘要Meta持续深耕SpatialSDK技术生态,提供开自去年9月正式推出以来,Meta持续深耕其SpatialSDK技术生态,通过一系列重大迭代与功能增强,不断革新H...
- "上云"到底是个啥?用"租房"给你讲明白IaaS/PaaS/SaaS的区别
-
半夜三点被机房报警电话惊醒,顶着黑眼圈排查服务器故障——这是十年前互联网公司运维的日常。而现在,程序员小王正敷着面膜刷剧,因为公司的系统全"搬"到了云上。"部署到云上"...
- php宝塔搭建部署thinkphp机械设备响应式企业网站php源码
-
大家好啊,欢迎来到web测评。本期给大家带来一套php开发的机械设备响应式企业网站php源码,上次是谁要的系统项目啊,帮你找到了,还说不会搭建,让我帮忙录制一期教程,趁着今天有空,简单的录制测试了一下...
你 发表评论:
欢迎- 一周热门
- 最近发表
-
- 用Steam启动Epic游戏会更快吗?(epic怎么用steam启动)
- Docker看这一篇入门就够了(dockerl)
- AYUI 炫丽PC开发UI框架2016年6月15日对外免费开发使用 [1]
- 别再说C#/C++套壳方案多了!Tauri这“借壳生蛋”你可能没看懂!
- OneCode 核心概念解析——Page(页面)
- React是最后的前端框架吗,为什么这么说的?
- 面试辅导(二):2025前端面试密码:用3个底层逻辑征服技术官
- 前端新星崛起!Astro框架能否终结React的霸主地位?
- 基于函数计算的 BFF 架构(基于函数计算的 bff 架构是什么)
- 谷歌 Prompt Engineering 白皮书:2025年 AI 提示词工程的 10 个技巧
- 标签列表
-
- 框架图 (58)
- flask框架 (53)
- quartz框架 (51)
- abp框架 (47)
- jpa框架 (47)
- springmvc框架 (49)
- 分布式事务框架 (65)
- scrapy框架 (56)
- shiro框架 (61)
- 定时任务框架 (56)
- java日志框架 (61)
- JAVA集合框架 (47)
- mfc框架 (52)
- abb框架断路器 (48)
- ui自动化框架 (47)
- beego框架 (52)
- java框架spring (58)
- grpc框架 (55)
- ppt框架 (48)
- 内联框架 (52)
- cad怎么画框架 (58)
- ps怎么画框架 (47)
- ssm框架实现登录注册 (49)
- oracle字符串长度 (48)
- oracle提交事务 (47)