搜索
首页web前端html教程Bootstrap入门笔记之(二)表单_html/css_WEB-ITnose

只要您的的网站可以用户登录,那么不可能不用到表单!表单主要功能是用来与用户做交流的一个网页控件,JavaScript发明之初最大的作用也就是用来进行表单操作。所以表单是每一个前端开发者必须要熟练掌握的东西。

良好的表单设计能够让网页与用户更好的沟通。表单中常见的元素主要包括: 文本输入框、下拉选择框、单选按钮、复选按钮、文本域和按钮等。其中每个控件所起的作用都各不相同,而且不同的浏览器对表单控件渲染的风格都各有不同。传统的HTML表单就不在这样进行讲解了,下面就开始Bootstrap表单的学习吧!

一. 基础表单

在Bootstrap对于基础表单没有做太多的定制效果,仅仅是对于一些元素的 margin、padding和border进行了一些细化设置。

当然,也不会那么简单,在Bootstrap框架中,通过定制了一个类名 form-control,也就是说,使用了类名 form-control,将会实现一些设计上的定制效果。从源码中(2551行,嗯,善用搜索)可以得出结论如下:

  1. 宽度变成了100%
  2. 设置了一个浅灰色( #ccc)的边框
  3. 具有4px的圆角
  4. 设置阴影效果,并且元素得到焦点之时,阴影和边框效果会有所变化
  5. 设置了placeholder(输入框的提示文字)的颜色为 #999

这个类一般用于输入框,对于其他的类型使用,嗯,你可以试试自己尝试一下。

<form role="form">    <div class="form-group"><!-- form-group这个类在在这里用于控制表单之间的间隔,之后会有另外介绍 -->        <label for="exampleInputEmail1">邮箱:</label>        <input type="email" class="form-control" id="exampleInputEmail1" placeholder="请输入您的邮箱地址">    </div>    <div class="form-group">        <label for="exampleInputPassword1">密码</label>        <input type="password" class="form-control" id="exampleInputPassword1" placeholder="请输入您的邮箱密码">    </div></form>

一般来说效果是这样的:

内联表单

还是上面那一段代码:我们只需要给 form加上下面 .form-inline这个类就可以实现表单元素在一行排列:

它的实现原理很简单,其实就是在添加了这个类后,将内部的表单元素设置为了内联块(inline-block)。

我们继续改变屏幕大小会发现小到一定层度之后又变成了原来的样式,那是因为这个类是处于媒体查询中的!这样是为了更好的在移动设备上体验,Bootstrap本来就是一个响应式框架不是吗?

如果你想更简洁一点还可以对于 label添加一个 .sr-only类,把label标签进行隐藏。(注意是隐藏,而不是人为删除,设置label标签有助于屏幕阅读器理解此处的含义)

水平表单

Bootstrap框架默认的表单是 垂直显示风格,除了上面的内联表达之外,很多时候我们需要的是 水平表单风格。在Bootstrap框架中要实现水平表单效果,必须满足以下两个条件:

  1. 元素是使用类名 .form-horizontal,作用如下:
    • 设置表单控件padding和margin值。
    • 改变“form-group”的表现形式,类似于栅格系统的“row”。
  2. 配合Bootstrap框架的栅格系统。(栅格布局会在以后的章节中详细讲解)
    • 例如:使用
      将我们的input进行包裹,具体情况到栅格布局的时候再说

可以实现下面的效果,(同样处于媒体查询中)

二. 表单控件

输入框input

单行文本框在html编写时,我们都需要设置 type属性为 text,在Bootstrap中也必须正确的添加type的类型,因为在这里是使用CSS的属性选择器如: input[type="text"]来进行样式设置的!

为了让控件在各种表单风格中样式不出错,需要添加类名“form-control”,如:

下拉选择框select

Bootstrap框架中的下拉选择框使用和原始的一致,但是Bootstrap框架为这些元素提供统一的样式风格。如:

<form role="form">    <div class="form-group">        <select class="form-control">             <option>踢足球</option>             <option>游泳</option>             <option>慢跑</option>             <option>跳舞</option>        </select>    </div></form>

想要实现多行选择,只需要在 select中设置multiple属性的值为multiple。

需要注意的是,经过测试多行选择是固定高度的(82px),也就是说只有一个选项时,也占据那么高的高度,在选项多时,将出现滚动条

文本域textarea

文本域和原始使用方法一样,设置 rows可定义其高度,设置 cols可以设置其宽度。但如果textarea元素中添加了类名 form-control类名,则无需设置cols属性。因为Bootstrap框架中的 form-control样式的表单控件宽度为100%或auto。

如:

复选框checkbox和单选按钮radio

Bootstrap对于这两个按钮进行了一些优化,要想达到最佳显示效果,有着如下说明:

  1. 不管是 checkbox还是 radio都使用 label包起来了。
  2. checkbox按钮连同 label标签放置在一个名为 .checkbox的容器内, radio连同 label标签放置在一个名为 .radio的容器内。
  3. 在Bootstrap框架中,主要借助 .checkbox和 .radio样式,来处理复选框、单选按钮与标签的对齐方式。
  4. 只需要将 checkbox换成 checkbox-inline就可以了,你可以添加在label上也可以添加在外部的容器上。

表单控件大小

在Bootstrap中除了使用传统的控制大小(height,padding等等)方式外,还特意定制了两个类名用来控制大小,如下:

  1. input-sm:让控件比正常大小更小
  2. input-lg:让控件比正常大小更大

这两个类适用于表单中的 input,textarea和select控件

表单控件状态

焦点状态

焦点状态是通过伪类 :focus来实现。在Bootstrap框架中表单控件的焦点状态删除了 outline的默认样式,重新添加阴影效果。.

禁用状态

Bootstrap实现禁用和普通的表单禁用状态的实现方法一样的,就是在相应的表单控件上添加属性 disabled,只不过Bootstrap做了一些样式风格的处理:

其次,除了单独给相应的表单控件添加disabled外,还可以直接添加到域中

,在这种情况,整个域中的表单全部都将会被禁用,此外还有一个 小bug:如果该域中存在 (域标题),在其内的表单控件,虽然有禁用的样式,但是实际上可以进行输入,点击等操作!

验证状态

在前面我们说过,Bootstrap有着大量的对于特定的情景内容的颜色设置,表单当然也不例外!在制作表单时,不免要做表单验证。同样也需要提供验证状态样式,那么Bootstrap框架中就提供了这几种效果:

  1. .has-warning:警告状态(黄色)
  2. .has-error:错误状态(红色)
  3. .has-success:成功状态(绿色)

除此之外,Bootstrap还实现了在不同的状态提示不同的 icon,如果你想让表单在对应的状态下显示这样的效果,只需要在对应的状态下添加类名 has-feedback。请注意,此类名要与 has-error、 has-warning和 has-success在一起,代码如下:

<form role="form">    <div class="form-group has-success has-feedback"><!-- 最后一个class控制图标显示 -->        <label class="control-label" for="inputSuccess1">成功状态</label>        <input type="text" class="form-control" id="inputSuccess1" placeholder="成功状态" >        <span class="glyphicon glyphicon-ok form-control-feedback"></span><!-- 图标显示!选取显示图标 -->    </div>    <!-- ...... 还有不同的图标显示例如glyphicon-warning-sign glyphicon-remove等等 --></form>

在 Bootstrap 的小图标都是使用 @font-face来制作,只要有一个容器,就可以通过不同的类名来控制显示的图标。具体内容后面再详细介绍。

显示效果如下:

表单提示信息

在表单验证的过程,未免会要提供不同的提示信息。在Bootstrap框架中也提供了这样的效果。提供了一个 help-block类,例如: 您输入的信息是错误的只要将其插入到input之后,提示信息将以块状显示,并且显示在控件底部。

三. 按钮

众所周知,我们创建的按钮通常通过下面这几种形式::

  • input[type="submit"]:提交按钮
  • input[type="button"]:普通按钮
  • input[type="reset"]:重置按钮
  • :按钮元素,(默认行为是提交)

在Bootstrap框架中的按钮都是采用

1. 情景按钮

也正如我们前面所说,Bootstrop对于按钮也做了不同情景下的类,用不同的颜色展示很好的描述了当前的状态。一下图片来自 慕课网

记住一点!Bootstrap中的按钮, 第一前提是必须添加 btn这个类 ,其他的各种类,都只能添加到其后。所以一个按钮应该是这个样子的: ,若还有其他的样式,往 btn-info后添加,充分利用css的层叠特性。

2. 按钮大小

Bootstrap有着很对相似的类(学习完后总结一下吧颜色,大小等等),比如现在要说的,改变按钮的大小,当然你可以自定义,但是Bootstrap默认为我们提供了一些,添加到 btn类后就行!

3. 块状按钮

Bootstrap框架中提供了一个类名 btn-block。使用这个类名就可以让按钮 充满整个容器,并且这个按钮不会有任何的padding和margin值。在实际当中,常把这种按钮称为块状按钮。同样添加到 btn类后即可生效

4. 活动与禁用状态

Bootstrap框架针对按钮的状态做了一些特殊处理。主要分为两种:活动状态和禁用状态。

活动状态

Bootstrap按钮的活动状态主要包括按钮的悬浮状态( :hover),点击状态( :active)和焦点状态( :focus)几种。

通过在源码中我们可以看到,Bootstrap对于每一种风格的按钮都做了单独的定制。需要进行修改的话可以参考源码!

禁用状态

在Bootstrap框架中,要禁用按钮有两种实现方式:

  1. 在标签中添加 disabled属性
  2. 在元素标签中添加类名 .disabled

<a href="http://guowenfh.github.io/" class="btn btn-danger disabled" type="button">添加disabled类</a><a href="http://guowenfh.github.io/" class="btn btn-danger " type="button" disabled>添加disabled属性</a>

这两个方式除了样式上的改变之外,还存在是否阻止默认行为上的区别。(此处有大坑,暂时不能跳,以后在详细了解吧。不同浏览器,对于实现阻止默认行为的方式不同,IE11:两个方式都阻止默认行为,IE10-通过属性可以阻止,FF、Chrome通过类可以阻止默认行为。。我已经醉了)

从这里我们也可以看到,Bootstrap只需要在制作按钮的标签元素比如

,等等,上添加类名 btn就可以为其加上按钮风格,但是, 并不建议这样使用,为了避免浏览器兼容性问题,个人强烈建议使用button或a标签来制作按钮。

四. 图像

在Bootstrap框架中对于图像的样式风格提供以下几种风格:

  1. .img-responsive:响应式图片,主要针对于响应式设计
  2. .img-rounded:圆角图片
  3. .img-circle:圆形图片
  4. .img-thumbnail:缩略图片,相框效果

直接把类名添加到img标签上就行了!

注意:

设置图片大小时,由于样式没有对图片做大小上的样式限制,所以在实际使用的时候,需要通过其他的方式来处理图片大小。比如说控制图片容器大小。(注意不可以通过css样式直接修改img图片的大小,这样操作就不响应了)

图标

这里说的图标就是Web制作中常看到的小icon图标,包括250多个来自 Glyphicon Halflings 的字体图标,Bootstrap框架中图标都是 glyphicons.com这个商业网站提供的,并且 免费授权给Bootstrap框架使用。

可以在 Glyphicons 字体图标,看到全部图标的样式,您可以根据你的需求进行设置

在网页中使用图标也非常的简单,在任何 内联元素上应用所对应的样式即可:

<span class="glyphicon glyphicon-cloud"></span><span class="glyphicon glyphicon-chevron-left"></span>

这里第一个类是 所有字体图标所必需的,第二个类用来自定义显示的图标。

从源码中我们可以看到 glyphicon这个类,最主要的部分有着如下样式设置:

.glyphicon { position: relative; top: 1px; display: inline-block; font-family: 'Glyphicons Halflings'; font-style: normal; font-weight: normal; line-height: 1;}

从这里,也就不难发现为什么是必须的了,它控制了标签的显示方式,和引入了字体图标库;而第二个类,仅仅是调用对应字体的编码而已

表单的部分呢,学到这里也就基本高一段落了,下面就要开始进行,Bootstrap的核心栅格系统的学习了,继续加油!

参考:

  • 慕课网:玩转Bootstrap
  • Bootstrap中文官网:全局 CSS 样式
声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
HTML,CSS和JavaScript的未来:网络开发趋势HTML,CSS和JavaScript的未来:网络开发趋势Apr 19, 2025 am 12:02 AM

HTML的未来趋势是语义化和Web组件,CSS的未来趋势是CSS-in-JS和CSSHoudini,JavaScript的未来趋势是WebAssembly和Serverless。1.HTML的语义化提高可访问性和SEO效果,Web组件提升开发效率但需注意浏览器兼容性。2.CSS-in-JS增强样式管理灵活性但可能增大文件体积,CSSHoudini允许直接操作CSS渲染。3.WebAssembly优化浏览器应用性能但学习曲线陡,Serverless简化开发但需优化冷启动问题。

HTML:结构,CSS:样式,JavaScript:行为HTML:结构,CSS:样式,JavaScript:行为Apr 18, 2025 am 12:09 AM

HTML、CSS和JavaScript在Web开发中的作用分别是:1.HTML定义网页结构,2.CSS控制网页样式,3.JavaScript添加动态行为。它们共同构建了现代网站的框架、美观和交互性。

HTML的未来:网络设计的发展和趋势HTML的未来:网络设计的发展和趋势Apr 17, 2025 am 12:12 AM

HTML的未来充满了无限可能。1)新功能和标准将包括更多的语义化标签和WebComponents的普及。2)网页设计趋势将继续向响应式和无障碍设计发展。3)性能优化将通过响应式图片加载和延迟加载技术提升用户体验。

HTML与CSS vs. JavaScript:比较概述HTML与CSS vs. JavaScript:比较概述Apr 16, 2025 am 12:04 AM

HTML、CSS和JavaScript在网页开发中的角色分别是:HTML负责内容结构,CSS负责样式,JavaScript负责动态行为。1.HTML通过标签定义网页结构和内容,确保语义化。2.CSS通过选择器和属性控制网页样式,使其美观易读。3.JavaScript通过脚本控制网页行为,实现动态和交互功能。

HTML:是编程语言还是其他?HTML:是编程语言还是其他?Apr 15, 2025 am 12:13 AM

HTMLISNOTAPROGRAMMENGUAGE; ITISAMARKUMARKUPLAGUAGE.1)htmlStructures andFormatSwebContentusingtags.2)itworkswithcsssforstylingandjavascript for Interactivity,增强WebevebDevelopment。

HTML:建立网页的结构HTML:建立网页的结构Apr 14, 2025 am 12:14 AM

HTML是构建网页结构的基石。1.HTML定义内容结构和语义,使用、、等标签。2.提供语义化标记,如、、等,提升SEO效果。3.通过标签实现用户交互,需注意表单验证。4.使用、等高级元素结合JavaScript实现动态效果。5.常见错误包括标签未闭合和属性值未加引号,需使用验证工具。6.优化策略包括减少HTTP请求、压缩HTML、使用语义化标签等。

从文本到网站:HTML的力量从文本到网站:HTML的力量Apr 13, 2025 am 12:07 AM

HTML是一种用于构建网页的语言,通过标签和属性定义网页结构和内容。1)HTML通过标签组织文档结构,如、。2)浏览器解析HTML构建DOM并渲染网页。3)HTML5的新特性如、、增强了多媒体功能。4)常见错误包括标签未闭合和属性值未加引号。5)优化建议包括使用语义化标签和减少文件大小。

了解HTML,CSS和JavaScript:初学者指南了解HTML,CSS和JavaScript:初学者指南Apr 12, 2025 am 12:02 AM

WebDevelovermentReliesonHtml,CSS和JavaScript:1)HTMLStructuresContent,2)CSSStyleSIT和3)JavaScriptAddSstractivity,形成thebasisofmodernWebemodernWebExexperiences。

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热工具

mPDF

mPDF

mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),

VSCode Windows 64位 下载

VSCode Windows 64位 下载

微软推出的免费、功能强大的一款IDE编辑器

EditPlus 中文破解版

EditPlus 中文破解版

体积小,语法高亮,不支持代码提示功能

螳螂BT

螳螂BT

Mantis是一个易于部署的基于Web的缺陷跟踪工具,用于帮助产品缺陷跟踪。它需要PHP、MySQL和一个Web服务器。请查看我们的演示和托管服务。

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用