百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

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="#">&laquo;</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="#">&raquo;</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...

&quot;上云&quot;到底是个啥?用&quot;租房&quot;给你讲明白IaaS/PaaS/SaaS的区别

半夜三点被机房报警电话惊醒,顶着黑眼圈排查服务器故障——这是十年前互联网公司运维的日常。而现在,程序员小王正敷着面膜刷剧,因为公司的系统全"搬"到了云上。"部署到云上"...

php宝塔搭建部署thinkphp机械设备响应式企业网站php源码

大家好啊,欢迎来到web测评。本期给大家带来一套php开发的机械设备响应式企业网站php源码,上次是谁要的系统项目啊,帮你找到了,还说不会搭建,让我帮忙录制一期教程,趁着今天有空,简单的录制测试了一下...

取消回复欢迎 发表评论: