Bootstrap学习笔记—关于表单

Bootstrap学习笔记—关于表单

1、水平表单效果

Bootstrap框架默认的表单是垂直显示风格,如果想要实现水平表单风格,需要满足两个条件:
(1)在元素是使用类名“form-horizontal”;
(2)配合Bootstrap框架的网格系统。

在元素上使用类名“form-horizontal”主要有以下几个作用:
(1)设置表单控件padding和margin值;
(2)改变“form-group”的表现形式,类似于网格系统的“row”。

举例:

 <form class="form-horizontal" role="form">
     <div class="form-group">
       <label for="inputEmail3" class="col-sm-2 control-label">用户名</label>
       <div class="col-sm-10">
         <input type="email" class="form-control" id="inputEmail3" placeholder="请输入您的邮箱地址">
       </div>
     </div>
   </form>

2、内联表单

将表单的控件都在一行内显示,需要将表单控件设置成内联块元素(display:inline-block),在元素中添加类名”form-inline”。

举例:

<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标签中运用了一个类名”sr-only”(关于该样式的修饰在bootstrap.css中)将标签隐藏起来了,所以label标签没有显示出来。

3、表单控件

(1)输入框input(在Bootstrap中使用input时必须添加type类型)

单行输入框,常见的文本输入框,input的type属性值为text

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

举例:

 <form role="form">
  <div class="form-group">
   <input type="text" class="form-control" placeholder="Please input the name">
  </div>
 </form>

(2)下拉选择框select(Bootstrap框架的下拉选择框使用与原始一致)

多行选择设置multiple属性值为multiple

举例:

<form role="form">
  <div class="form-group">
    <select class="form-control"> <!-- 单选 -->
      <option>1</option> 
      <option>2</option> 
      <option>3</option> 
      <option>4</option> 
      <option>5</option> 
    </select>
  </div>
  <div class="form-group">
    <select multiple class="form-control"> <!-- 多选 -->
      <option>football</option>
      <option>swimming</option>
      <option>running</option>
      <option>dance</option>
    </select>
  </div>
 </form> 

(3)文本域textarea(Bootstrap框架的文本域使用与原始一致)

设置rows定义高度

设置cols设置宽度

如果textarea元素中添加类名”form-control”类名,则无需设置cols属性(Bootstrap框架中的”form-control”样式表单控件宽度为100%或auto)

举例:

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

(4)复选框checkbox与单选择按钮radio

<1>checkbox与radio使用label包起来

<2>checkbox连同label标签放置在一个名为“.checkbox”的容器内

<3>radio连同label标签放置在一个名为“.radio”的容器内

在Bootstrap框架中,主要借助“.checkbox”和“.radio”样式,来处理复选框、单选按钮与标签的对齐方式。

举例:

 <form role="form">
  <div class="checkbox">
   <label>
    <input type="checkbox" value=""> 记住密码
   </label>
  </div>
  <div class="radio">
   <label>
    <input type="radio" name="optionsRadios" id="optionsRadios1" value="love" checked> 喜欢
   </label>
  </div>
  <div class="radio">
   <label>
    <input type="radio" name="optionsRadios" id="optionsRadios2" value="hate"> 不喜欢
   </label>
  </div>
 </form>

(5)复选框和单选按钮水平排列

<1>如果checkbox需要水平排列,只需要在label标签上添加类名“checkbox-inline”

<2>如果radio需要水平排列,只需要在label标签上添加类名“radio-inline”

举例:

<form role="form">
 <div class="form-group">
    <label class="radio-inline">
        <input type="radio" value="option1" name="sex"> 男性
    </label>
    <label class="radio-inline">
        <input type="radio" value="optio21" name="sex"> 女性
    </label>
    <label class="radio-inline">
        <input type="radio" value="option3" name="sex"> 中性
    </label>
 </div>
</form>

(6)按钮(在Bootstrap框架中按钮都采用实现)

通常使用以下代码:

input[type=“submit”]
input[type=“button”]
input[type=“reset”]
<button>

(7)控件的大小

可以通过设置控件的height,line-height,padding和font-size等属性来实现控件的高度设置。

Bootstrap框架还提供了两个不同的类名,用来控制表单控件的高度。这两个类名是:

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

这两个类适用于表单中的input,textarea和select控件,具体使用如下:

<form role="form">
  <div class="form-group">
    <label class="control-label">控件变大</label>
    <input class="form-control input-lg" type="text" placeholder="添加.input-lg,控件变大">
  </div>
  <div class="form-group">
    <label class="control-label">正常大小</label>
    <input class="form-control" type="text" placeholder="正常大小">
  </div>  
  <div class="form-group">
    <label class="control-label">控件变小</label>
    <input class="form-control input-sm" type="text" placeholder="添加.input-sm,控件变小">
  </div> 
 </form> 

不管是“input-sm”还是“input-lg”仅对控件高度做了处理。如果想要对控件宽度做一定的变化处理,要借住Bootstrap框架的网格系统。

要控制表单宽度,可以像下面这样使用:

<form role="form" class="form-horizontal">
  <div class="form-group">
    <div class="col-xs-4">
      <input class="form-control input-lg" type="text" placeholder=".col-xs-4">
    </div>
    <div class="col-xs-4">
      <input class="form-control input-lg" type="text" placeholder=".col-xs-4">
    </div>
    <div class="col-xs-4">
      <input class="form-control input-lg" type="text" placeholder=".col-xs-4">
    </div>
  </div>
  <div class="form-group">
    <div class="col-xs-6"><input class="form-control" type="text" placeholder=".col-xs-6"></div>
    <div class="col-xs-6"><input class="form-control" type="text" placeholder=".col-xs-6"></div>

  </div>  
  <div class="form-group">
    <div class="col-xs-5">
      <input class="form-control input-sm" type="text" placeholder=".col-xs-5">
    </div>
    <div class="col-xs-7">
      <input class="form-control input-sm" type="text" placeholder=".col-xs-7">
    </div>
  </div> 
</form>

(8)控件的状态(焦点状态)

表单状态的作用(每一种状态都能给用户传递不同的信息):

<1>禁用状态可以告诉用户不可以输入或选择东西(在相应的表单控件上添加属性”disabled”)。如果控件中不使用类名“form-control”,禁用的控件只会有一个不准输入的手型出来。

在Bootstrap框架中,如果fieldset设置了disabled属性,整个域都将处于被禁用状态(对于整个禁用的域中,如果legend中有输入框的话,这个输入框虽然颜色变灰了,但是没被禁用)。

 <label for="disabledTextInput">禁用的输入框</label>
<fieldset disabled>

<2>表单控件验证状态,可以告诉用户的操作是否正确等。

在Bootstrap框架中提供以下几种验证状态效果:

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

使用的时候只需要在form-group容器上对应添加状态类名。

举例:

<div class="form-group has-success">
      <label class="control-label" for="inputSuccess1"> 成功状态         </label>
       <input type="text" class="form-control" id="inputSuccess1" placeholder="成功状态" >
    </div>

在表单验证时,不同的状态会提供不同的 icon,比如成功是一个对号(√),错误是一个叉号(×)等。在Bootstrap框中也提供了这样的效果。如果你想让表单在对应的状态下显示 icon 出来,只需要在对应的状态下添加类名“has-feedback”。请注意,此类名要与“has-error”、“has-warning”和“has-success”在一起。

举例:

<div class="form-group has-success has-feedback">
      <label class="control-label" for="inputSuccess1"> 成功状态      </label>
       <input type="text" class="form-control" id="inputSuccess1" placeholder="成功状态" >
         <span class="glyphiconglyphicon-ok form-control-feedback"></span>
    </div>    

<3>焦点状态,通过伪类“:focus”来实现。

Bootstrap框架中表单控件的焦点状态删除了outline的默认样式,重新添加阴影效果。要让控件在焦点状态下有样式效果,需要给控件添加类名“form-control”。

<4>提示信息

使用了一个”help-block”样式,将提示信息以块状显示,并且显示在控件底部。

在Bootstrap V2.x版本中提供了一个行内提示信息,其使用了类名“help-inline”。一般让提示信息显示在控件的后面,也就是同一水平显示。

如果觉得表单效果并非所需,可以通过forms.less或者_forms.scss文件进行定制,然后重新编译即可得到需要的表单效果。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值