章节
问答
课签
笔记
评论
占位
占位

内联表单

有时候我们需要将表单的控件都在一行内显示,类似这样的:

在Bootstrap框架中实现这样的表单效果是轻而易举的,你只需要在<form>元素中添加类名“form-inline”即可。
内联表单实现原理非常简单,欲将表单控件在一行显示,就需要将表单控件设置成内联块元素(display:inline-block)。
/*源码请查阅bootstrap.css文件第1928行~第1962行*/

如果你要在input前面添加一个label标签时,会导致input换行显示。如果你必须添加这样的一个label标签,并且不想让input换行,你需要将label标签也放在容器“form-group”中,如:

<div class="form-group">
    <label class="sr-only" for="exampleInputEmail2">Email address</label>
</div>
<div class="form-group">
    <inputtype="email" class="form-control" id="exampleInputEmail2" placeholder="Enter email">
</div>


接下来,我们还是以实例说话:

<form class="form-inline" role="form">
<div class="form-group">
  <label class="sr-only" for="exampleInputEmail2">邮箱</label>
  <input type="email" class="form-control" id="exampleInputEmail2" placeholder="请输入你的邮箱地址">
</div>
<div class="form-group">
  <label class="sr-only" for="exampleInputPassword2">密码</label>
  <input type="password" class="form-control" id="exampleInputPassword2" placeholder="请输入你的邮箱密码">
</div>
<div class="checkbox">
<label>
   <input type="checkbox">记住密码
</label>
</div>
<button type="submit" class="btnbtn-default">进入邮箱</button>
</form>

运行效果如下或查看右侧结果窗口:(查看效果需要把结果窗口设置为全屏)

回过头来看示例,你或许会问,为什么添加了label标签,而且没有放置在”form-group”这样的容器中,input也不会换行;还有label标签怎么没显示出来。如果你仔细看,在label标签运用了一个类名“sr-only”,标签没显示就是这个样式将标签隐藏了。
/*源码请查阅bootstrap.css文件第342行~第350行*/

.sr-only {
position: absolute;
width: 1px;
height: 1px;
padding: 0;
margin: -1px;
overflow: hidden;
clip: rect(0, 0, 0, 0);
border: 0;
}

注意:那么Bootstrap为什么要这么做呢?这样不是多此一举吗?其实不是的,如果没有为输入控件设置label标签,屏幕阅读器将无法正确识别。这也是Bootstrap框架另一个优点之处,为残障人员进行了一定的考虑。

 

任务

本小节没有代码任务,单击“提交”按钮进行下一个小节学习。

?不会了怎么办
||
1
2
<!doctype html>
<html lang="en"
    >
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
1
2
body {
padding: 50px
      100px;
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
提交
重置代码
||

请验证,完成请求

由于请求次数过多,请先验证,完成再次请求

加群二维码

打开微信扫码自动绑定

您还未绑定服务号

绑定后可得到

  • · 粉丝专属优惠福利
  • · 大咖直播交流干货
  • · 课程更新,问题答复提醒
  • · 账号支付安全提醒

收藏课程后,能更快找到我哦~

使用 Ctrl+D 可将课程添加到书签

邀请您关注公众号
关注后,及时获悉本课程动态

举报

0/150
提交
取消
全部 精华 我要发布

最新回答 / zkzh
没有引入Bootstrap.css文件。所有样式就没有。或者你引入的是CDN链接的Bootstrap.css。引入CDN没有网络或者网络不好也是加载不出来的!

最新回答 / gggggghai
for 属性规定 label 与哪个表单元素绑定

已采纳回答 / lenmer
内联表单是想将表单控件在一行显示,简单点说就是类似水平导航;sr-only是隐藏lable的内容的,直接上图好了<...图片...>有sr-only<...图片...>无sr-only这个就是有无sr-only的区别,也许你会问:为什么还需要这么一个隐藏了的内容呢,直接不打“邮箱”和“密码”不就好了?这是因为如果没有“邮箱”和“密码”四个字,屏幕阅读器将无法正确识别,对残障人士不友好,比如盲人是靠听的,如果不读出“邮箱”和“密码”,那么他们不知道要输入什么。希望对你有帮助。

最新回答 / Baby無齒丶紫電清霜
块元素才会换行,label不是块元素;你先检查你的label是否添加了浮动,如果没有浮动,要换行就要设置display:block;或者display:inline-block;

最新回答 / 慕哥8331387
label标签点击文本,触发控制,比如一个选项,前面是圆圈,后面是文本,点击圆圈可以打对勾,用了label之后,点击文本也可以打对勾的。

已采纳回答 / 黎丽_shirley
其实html5也增加了很多新的属性啊,表单这块多照着例子多敲几遍,记起来也是很快的,其实用的很多的就那几个,多点耐心,我感觉这个bootstrap的教程很好,你按照基础篇好好的看下去,跟着任务走,回发现很多地方都是可以类推,这个对基础的要求其实不高的

已采纳回答 / 卖萝卜的菜头
<...code...>「进入邮箱」是一个 submit 型按钮,点击后会提交表单内容。form 标签没有设置 method 属性和 action 属性,所以,点击按钮后默认行为是发送 GET 请求到 当前页面 。>>扩展阅读:HTML <from> 标签

最新回答 / 夜空中最亮的星光
表单其实也没什么,其实就是你对里面的标签不熟悉,给你推荐一本书看看里面的表单内容,html5权威指南,网上有pdf版,看一个上午就懂了

最赞回答 / 愿一世欢颜
全称是 screen reader only,意为:(仅供)屏幕阅读器,这个 class 主要用于增强 accessbility(可访问性)。有时候 UI 上会出现一些仅供视觉识别的元素,比如说“汉堡包菜单按钮”,只有视力正常的人才能清楚辨识这些元素的作用。而残障人士,比如弱势或盲人是不可能知道这些视觉识别元素是什么的。他们上网使用的是屏幕阅读器,也就是 screen reader(sr),屏幕阅读器需要找到能辨识的文本说明然后“读”出来给用户听。问题是图形元素怎么可能“读出来”呢?因此我们还要写上这些元...

已采纳回答 / hanyb
http://www.zhangxinxu.com/wordpress/2012/03/wai-aria-%E6%97%A0%E9%9A%9C%E7%A2%8D%E9%98%85%E8%AF%BB/ 这里讲得最清楚

最赞回答 / weibo_楠阿枫_0
我也很好奇这个问题,,,   先继续往后学吧,先知道有这么些个东西 然后再查找 应该不难,

已采纳回答 / 简单不好呢
<html> 标签中的 lang 属性对每张页面中的主要语言进行声明."en" 就是 English的缩略词。<link rel="stylesheet" href="//netdna.bootstrapcdn.com/bootstrap/3.1.1/css/bootstrap.min.css">这个是引入一个css文件,你可以浏览器直接输入“netdna.bootstrapcdn.com/bootstrap/3.1.1/css/bootstrap.min.css”就转到那个css...

最赞回答 / 门内的野蛮人
不是这个意思我知道,他为什么要把宽高设为1px,padding为0,margin设为-1px,还加上绝对定位呢

最新回答 / hey自然
clip:rect(0,0,0,0). 是全部剪裁的意思。

最赞回答 / hey自然
感觉就是,你们可能阅读的并不认真。心急吃不了热豆腐,码字之前不如仔细阅读推敲了文章的内容。摘抄原文:回过头来看示例,你或许会问,为什么添加了label标签,而且没有放置在”form-group”这样的容器中,input也不会换行;还有label标签怎么没显示出来。如果你仔细看,在label标签运用了一个类名“sr-only”,标签没显示就是这个样式将标签隐藏了。注意:那么Bootstrap为什么要这么做呢?这样不是多此一举吗?其实不是的,如果没有为输入控件设置label标签,屏幕阅读器将无法正确识别。这也...
全部 我要发布
最热 最新
只看我的

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

账号登录 验证码登录

遇到问题
忘记密码

代码语言