【Bootstrap】006-全局样式:表单

一、基本实例

1、说明

单独的表单控件会被自动赋予一些全局样式。所有设置了 .form-control 类的 <input>、<textarea> 和 <select> 元素都将被默认设置宽度属性为 width: 100%;。 将 label 元素和前面提到的控件包裹在 .form-group 中可以获得最好的排列;

 

2、演示

代码演示:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<meta http-equiv="X-UA-Compatible" content="IE=edge">
		<meta name="viewport" content="width=device-width, initial-scale=1">
		<!-- 上述3个meta标签*必须*放在最前面,任何其他内容都*必须*跟随其后! -->
		<title></title>
		<!-- 引入bootstrap -->
		<link rel="stylesheet" href="../css/bootstrap.min.css" />
	</head>
	<body>
		<form>
		  <div class="form-group">
		    <label for="exampleInputEmail1">Email address</label>
		    <input type="email" class="form-control" id="exampleInputEmail1" placeholder="Email">
		  </div>
		  <div class="form-group">
		    <label for="exampleInputPassword1">Password</label>
		    <input type="password" class="form-control" id="exampleInputPassword1" placeholder="Password">
		  </div>
		  <div class="form-group">
		    <label for="exampleInputFile">File input</label>
		    <input type="file" id="exampleInputFile">
		    <p class="help-block">Example block-level help text here.</p>
		  </div>
		  <div class="checkbox">
		    <label>
		      <input type="checkbox"> Check me out
		    </label>
		  </div>
		  <button type="submit" class="btn btn-default">Submit</button>
		</form>
	</body>
</html>

运行结果:

备注:

不要将表单组直接和输入框组混合使用。建议将输入框组嵌套到表单组中使用;

 

二、内联表单

1、说明

为 <form> 元素添加 .form-inline 类可使其内容左对齐并且表现为 inline-block 级别的控件。只适用于视口(viewport)至少在 768px 宽度时(视口宽度再小的话就会使表单折叠);

 

2、可能需要手动设置宽度

在 Bootstrap 中,输入框和单选/多选框控件默认被设置为 width: 100%; 宽度。在内联表单,我们将这些元素的宽度设置为 width: auto;,因此,多个控件可以排列在同一行。根据你的布局需求,可能需要一些额外的定制化组件;

 

3、一定要添加 label 标签

如果你没有为每个输入控件设置 label 标签,屏幕阅读器将无法正确识别。对于这些内联表单,你可以通过为 label 设置 .sr-only 类将其隐藏。还有一些辅助技术提供label标签的替代方案,比如 aria-label、aria-labelledby 或 title 属性。如果这些都不存在,屏幕阅读器可能会采取使用 placeholder 属性,如果存在的话,使用占位符来替代其他的标记,但要注意,这种方法是不妥当的;

 

4、演示

代码演示:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<meta http-equiv="X-UA-Compatible" content="IE=edge">
		<meta name="viewport" content="width=device-width, initial-scale=1">
		<!-- 上述3个meta标签*必须*放在最前面,任何其他内容都*必须*跟随其后! -->
		<title></title>
		<!-- 引入bootstrap -->
		<link rel="stylesheet" href="../css/bootstrap.min.css" />
	</head>
	<body>
		<form class="form-inline">
		  <div class="form-group">
		    <label class="sr-only" for="exampleInputEmail3">Email address</label>
		    <input type="email" class="form-control" id="exampleInputEmail3" placeholder="Email">
		  </div>
		  <div class="form-group">
		    <label class="sr-only" for="exampleInputPassword3">Password</label>
		    <input type="password" class="form-control" id="exampleInputPassword3" placeholder="Password">
		  </div>
		  <div class="checkbox">
		    <label>
		      <input type="checkbox"> Remember me
		    </label>
		  </div>
		  <button type="submit" class="btn btn-default">Sign in</button>
		</form>
	</body>
</html>

运行结果:

 

三、水平排列的表单

1、说明

通过为表单添加 .form-horizontal 类,并联合使用 Bootstrap 预置的栅格类,可以将 label 标签和控件组水平并排布局。这样做将改变 .form-group 的行为,使其表现为栅格系统中的行(row),因此就无需再额外添加 .row 了;

 

2、演示

代码演示:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<meta http-equiv="X-UA-Compatible" content="IE=edge">
		<meta name="viewport" content="width=device-width, initial-scale=1">
		<!-- 上述3个meta标签*必须*放在最前面,任何其他内容都*必须*跟随其后! -->
		<title></title>
		<!-- 引入bootstrap -->
		<link rel="stylesheet" href="../css/bootstrap.min.css" />
	</head>
	<body>
		<form class="form-horizontal">
		  <div class="form-group">
		    <label for="inputEmail3" class="col-sm-2 control-label">Email</label>
		    <div class="col-sm-10">
		      <input type="email" class="form-control" id="inputEmail3" placeholder="Email">
		    </div>
		  </div>
		  <div class="form-group">
		    <label for="inputPassword3" class="col-sm-2 control-label">Password</label>
		    <div class="col-sm-10">
		      <input type="password" class="form-control" id="inputPassword3" placeholder="Password">
		    </div>
		  </div>
		  <div class="form-group">
		    <div class="col-sm-offset-2 col-sm-10">
		      <div class="checkbox">
		        <label>
		          <input type="checkbox"> Remember me
		        </label>
		      </div>
		    </div>
		  </div>
		  <div class="form-group">
		    <div class="col-sm-offset-2 col-sm-10">
		      <button type="submit" class="btn btn-default">Sign in</button>
		    </div>
		  </div>
		</form>
	</body>
</html>

运行结果:

 

四、被支持的控件

1、说明

表单布局实例中展示了其所支持的标准表单控件;

 

2、输入框

包括大部分表单控件、文本输入域控件,还支持所有 HTML5 类型的输入控件: text、password、datetime、datetime-local、date、month、time、week、number、email、url、search、tel 和 color;

 

必须添加类型声明:

只有正确设置了 type 属性的输入控件才能被赋予正确的样式;

 

演示:

代码演示:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<meta http-equiv="X-UA-Compatible" content="IE=edge">
		<meta name="viewport" content="width=device-width, initial-scale=1">
		<!-- 上述3个meta标签*必须*放在最前面,任何其他内容都*必须*跟随其后! -->
		<title></title>
		<!-- 引入bootstrap -->
		<link rel="stylesheet" href="../css/bootstrap.min.css" />
	</head>
	<body>
		<input type="text" class="form-control" placeholder="Text input">
	</body>
</html>

运行结果:

输入控件组:

如需在文本输入域 <input> 前面或后面添加文本内容或按钮控件,请参考输入控件组;

 

3、文本域

支持多行文本的表单控件。可根据需要改变 rows 属性;

 

演示:

代码演示:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<meta http-equiv="X-UA-Compatible" content="IE=edge">
		<meta name="viewport" content="width=device-width, initial-scale=1">
		<!-- 上述3个meta标签*必须*放在最前面,任何其他内容都*必须*跟随其后! -->
		<title></title>
		<!-- 引入bootstrap -->
		<link rel="stylesheet" href="../css/bootstrap.min.css" />
	</head>
	<body>
		<textarea class="form-control" rows="3"></textarea>
	</body>
</html>

运行结果:

 

4、多选和单选框

多选框(checkbox)用于选择列表中的一个或多个选项,而单选框(radio)用于从多个选项中只选择一个;

 

默认外观(堆叠在一起):

代码演示:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<meta http-equiv="X-UA-Compatible" content="IE=edge">
		<meta name="viewport" content="width=device-width, initial-scale=1">
		<!-- 上述3个meta标签*必须*放在最前面,任何其他内容都*必须*跟随其后! -->
		<title></title>
		<!-- 引入bootstrap -->
		<link rel="stylesheet" href="../css/bootstrap.min.css" />
	</head>
	<body>
		<div class="checkbox">
		  <label>
		    <input type="checkbox" value="">
		    Option one is this and that&mdash;be sure to include why it's great 多选
		  </label>
		</div>
		<div class="checkbox disabled">
		  <label>
		    <input type="checkbox" value="" disabled>
		    Option two is disabled 被禁用的 多选
		  </label>
		</div>
		
		<div class="radio">
		  <label>
		    <input type="radio" name="optionsRadios" id="optionsRadios1" value="option1" checked>
		    Option one is this and that&mdash;be sure to include why it's great 单选
		  </label>
		</div>
		<div class="radio">
		  <label>
		    <input type="radio" name="optionsRadios" id="optionsRadios2" value="option2">
		    Option two can be something else and selecting it will deselect option one 单选
		  </label>
		</div>
		<div class="radio disabled">
		  <label>
		    <input type="radio" name="optionsRadios" id="optionsRadios3" value="option3" disabled>
		    Option three is disabled 被禁用的 单选
		  </label>
		</div>
	</body>
</html>

运行结果:

 

内联单选和多选框:

通过将 .checkbox-inline 或 .radio-inline 类应用到一系列的多选框(checkbox)或单选框(radio)控件上,可以使这些控件排列在一行;

代码演示:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<meta http-equiv="X-UA-Compatible" content="IE=edge">
		<meta name="viewport" content="width=device-width, initial-scale=1">
		<!-- 上述3个meta标签*必须*放在最前面,任何其他内容都*必须*跟随其后! -->
		<title></title>
		<!-- 引入bootstrap -->
		<link rel="stylesheet" href="../css/bootstrap.min.css" />
	</head>
	<body>
		<label class="checkbox-inline">
		  <input type="checkbox" id="inlineCheckbox1" value="option1"> 1
		</label>
		<label class="checkbox-inline">
		  <input type="checkbox" id="inlineCheckbox2" value="option2"> 2
		</label>
		<label class="checkbox-inline">
		  <input type="checkbox" id="inlineCheckbox3" value="option3"> 3
		</label>
		
		<label class="radio-inline">
		  <input type="radio" name="inlineRadioOptions" id="inlineRadio1" value="option1"> 1
		</label>
		<label class="radio-inline">
		  <input type="radio" name="inlineRadioOptions" id="inlineRadio2" value="option2"> 2
		</label>
		<label class="radio-inline">
		  <input type="radio" name="inlineRadioOptions" id="inlineRadio3" value="option3"> 3
		</label>
	</body>
</html>

运行结果:

 

5、下拉列表(select)

注意,很多原生选择菜单 - 即在 Safari 和 Chrome 中 - 的圆角是无法通过修改 border-radius 属性来改变的;

对于标记了 multiple 属性的 <select> 控件来说,默认显示多选项;

 

演示:

代码演示:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<meta http-equiv="X-UA-Compatible" content="IE=edge">
		<meta name="viewport" content="width=device-width, initial-scale=1">
		<!-- 上述3个meta标签*必须*放在最前面,任何其他内容都*必须*跟随其后! -->
		<title></title>
		<!-- 引入bootstrap -->
		<link rel="stylesheet" href="../css/bootstrap.min.css" />
	</head>
	<body>
		<select class="form-control">
		  <option>1</option>
		  <option>2</option>
		  <option>3</option>
		  <option>4</option>
		  <option>5</option>
		</select>
		<hr/>
		<select multiple class="form-control">
		  <option>1</option>
		  <option>2</option>
		  <option>3</option>
		  <option>4</option>
		  <option>5</option>
		</select>
	</body>
</html>

运行结果:

 

五、静态控件

1、说明

如果需要在表单中将一行纯文本和 label 元素放置于同一行,为 <p> 元素添加 .form-control-static 类即可;

 

2、演示

代码演示:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<meta http-equiv="X-UA-Compatible" content="IE=edge">
		<meta name="viewport" content="width=device-width, initial-scale=1">
		<!-- 上述3个meta标签*必须*放在最前面,任何其他内容都*必须*跟随其后! -->
		<title></title>
		<!-- 引入bootstrap -->
		<link rel="stylesheet" href="../css/bootstrap.min.css" />
	</head>
	<body>
		<form class="form-horizontal">
		  <div class="form-group">
		    <label class="col-sm-2 control-label">Email</label>
		    <div class="col-sm-10">
		      <p class="form-control-static">email@example.com</p>
		    </div>
		  </div>
		  <div class="form-group">
		    <label for="inputPassword" class="col-sm-2 control-label">Password</label>
		    <div class="col-sm-10">
		      <input type="password" class="form-control" id="inputPassword" placeholder="Password">
		    </div>
		  </div>
		</form>
		<form class="form-inline">
		  <div class="form-group">
		    <label class="sr-only">Email</label>
		    <p class="form-control-static">email@example.com</p>
		  </div>
		  <div class="form-group">
		    <label for="inputPassword2" class="sr-only">Password</label>
		    <input type="password" class="form-control" id="inputPassword2" placeholder="Password">
		  </div>
		  <button type="submit" class="btn btn-default">Confirm identity</button>
		</form>
	</body>
</html>

运行结果:

 

六、焦点状态

1、说明

我们将某些表单控件的默认 outline 样式移除,然后对 :focus 状态赋予 box-shadow 属性;

 

演示:focus 状态

在本文档中,我们为上面实例中的输入框赋予了自定义的样式,用于演示 .form-control 元素的 :focus 状态;

 

2、演示

代码演示:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<meta http-equiv="X-UA-Compatible" content="IE=edge">
		<meta name="viewport" content="width=device-width, initial-scale=1">
		<!-- 上述3个meta标签*必须*放在最前面,任何其他内容都*必须*跟随其后! -->
		<title></title>
		<!-- 引入bootstrap -->
		<link rel="stylesheet" href="../css/bootstrap.min.css" />
	</head>
	<body>
		<form>
			<input class="form-control" id="focusedInput" type="text" value="Demonstrative focus state">
		</form>
	</body>
</html>

运行结果:

 

七、禁用状态

1、说明

为输入框设置 disabled 属性可以禁止其与用户有任何交互(焦点、输入等)。被禁用的输入框颜色更浅,并且还添加了 not-allowed鼠标状态;

 

2、演示

代码演示:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<meta http-equiv="X-UA-Compatible" content="IE=edge">
		<meta name="viewport" content="width=device-width, initial-scale=1">
		<!-- 上述3个meta标签*必须*放在最前面,任何其他内容都*必须*跟随其后! -->
		<title></title>
		<!-- 引入bootstrap -->
		<link rel="stylesheet" href="../css/bootstrap.min.css" />
	</head>
	<body>
		<input class="form-control" id="disabledInput" type="text" placeholder="Disabled input here..." disabled>
	</body>
</html>

运行结果:

 

3、被禁用的 fieldset

为<fieldset> 设置 disabled 属性,可以禁用 <fieldset> 中包含的所有控件;

演示:

代码演示:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<meta http-equiv="X-UA-Compatible" content="IE=edge">
		<meta name="viewport" content="width=device-width, initial-scale=1">
		<!-- 上述3个meta标签*必须*放在最前面,任何其他内容都*必须*跟随其后! -->
		<title></title>
		<!-- 引入bootstrap -->
		<link rel="stylesheet" href="../css/bootstrap.min.css" />
	</head>
	<body>
		<form>
		  <fieldset disabled>
		    <div class="form-group">
		      <label for="disabledTextInput">Disabled input</label>
		      <input type="text" id="disabledTextInput" class="form-control" placeholder="Disabled input">
		    </div>
		    <div class="form-group">
		      <label for="disabledSelect">Disabled select menu</label>
		      <select id="disabledSelect" class="form-control">
		        <option>Disabled select</option>
		      </select>
		    </div>
		    <div class="checkbox">
		      <label>
		        <input type="checkbox"> Can't check this
		      </label>
		    </div>
		    <button type="submit" class="btn btn-primary">Submit</button>
		  </fieldset>
		</form>
	</body>
</html>

运行结果:

 

八、只读状态

1、说明

为输入框设置 readonly 属性可以禁止用户修改输入框中的内容。处于只读状态的输入框颜色更浅(就像被禁用的输入框一样),但是仍然保留标准的鼠标状态;

 

2、演示

代码演示:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<meta http-equiv="X-UA-Compatible" content="IE=edge">
		<meta name="viewport" content="width=device-width, initial-scale=1">
		<!-- 上述3个meta标签*必须*放在最前面,任何其他内容都*必须*跟随其后! -->
		<title></title>
		<!-- 引入bootstrap -->
		<link rel="stylesheet" href="../css/bootstrap.min.css" />
	</head>
	<body>
		<input class="form-control" type="text" placeholder="Readonly input here…" readonly>
	</body>
</html>

运行结果:

 

九、Help text

1、说明

窗体控件的块级帮助文本;

将帮助文本与窗体控件关联起来,帮助文本应该显式地与其相关的窗体控件关联起来,该窗体控件使用 aria-describedby 属性。这将确保辅助技术(例如屏幕阅读器)在用户聚焦或输入控件时显示此帮助文本;

 

2、演示

代码演示:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<meta http-equiv="X-UA-Compatible" content="IE=edge">
		<meta name="viewport" content="width=device-width, initial-scale=1">
		<!-- 上述3个meta标签*必须*放在最前面,任何其他内容都*必须*跟随其后! -->
		<title></title>
		<!-- 引入bootstrap -->
		<link rel="stylesheet" href="../css/bootstrap.min.css" />
	</head>
	<body>
		<label class="sr-only" for="inputHelpBlock">Input with help text</label>
		<input type="text" id="inputHelpBlock" class="form-control" aria-describedby="helpBlock">
		这是说明文本!
		<span id="helpBlock" class="help-block">A block of help text that breaks onto a new line and may extend beyond one line.</span>
	</body>
</html>

运行结果:

 

十、校验状态

1、说明

Bootstrap 对表单控件的校验状态,如 error、warning 和 success 状态,都定义了样式。使用时,添加 .has-warning、.has-error 或 .has-success 类到这些控件的父元素即可。任何包含在此元素之内的 .control-label、.form-control 和 .help-block 元素都将接受这些校验状态的样式;

 

2、演示

代码演示:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<meta http-equiv="X-UA-Compatible" content="IE=edge">
		<meta name="viewport" content="width=device-width, initial-scale=1">
		<!-- 上述3个meta标签*必须*放在最前面,任何其他内容都*必须*跟随其后! -->
		<title></title>
		<!-- 引入bootstrap -->
		<link rel="stylesheet" href="../css/bootstrap.min.css" />
	</head>
	<body>
		<div class="form-group has-success">
		  <label class="control-label" for="inputSuccess1">Input with success</label>
		  <input type="text" class="form-control" id="inputSuccess1" aria-describedby="helpBlock2">
		  <span id="helpBlock2" class="help-block">A block of help text that breaks onto a new line and may extend beyond one line.</span>
		</div>
		<div class="form-group has-warning">
		  <label class="control-label" for="inputWarning1">Input with warning</label>
		  <input type="text" class="form-control" id="inputWarning1">
		</div>
		<div class="form-group has-error">
		  <label class="control-label" for="inputError1">Input with error</label>
		  <input type="text" class="form-control" id="inputError1">
		</div>
		<div class="has-success">
		  <div class="checkbox">
		    <label>
		      <input type="checkbox" id="checkboxSuccess" value="option1">
		      Checkbox with success
		    </label>
		  </div>
		</div>
		<div class="has-warning">
		  <div class="checkbox">
		    <label>
		      <input type="checkbox" id="checkboxWarning" value="option1">
		      Checkbox with warning
		    </label>
		  </div>
		</div>
		<div class="has-error">
		  <div class="checkbox">
		    <label>
		      <input type="checkbox" id="checkboxError" value="option1">
		      Checkbox with error
		    </label>
		  </div>
		</div>
	</body>
</html>

运行结果:

 

3、添加额外的图标

你还可以针对校验状态为输入框添加额外的图标。只需设置相应的 .has-feedback 类并添加正确的图标即可;

反馈图标(feedback icon)只能使用在文本输入框 <input class="form-control"> 元素上;

演示:

代码演示:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<meta http-equiv="X-UA-Compatible" content="IE=edge">
		<meta name="viewport" content="width=device-width, initial-scale=1">
		<!-- 上述3个meta标签*必须*放在最前面,任何其他内容都*必须*跟随其后! -->
		<title></title>
		<!-- 引入bootstrap -->
		<link rel="stylesheet" href="../css/bootstrap.min.css" />
	</head>
	<body>
		<div class="form-group has-success has-feedback">
			<label class="control-label" for="inputSuccess2">Input with success</label>
			<input type="text" class="form-control" id="inputSuccess2" aria-describedby="inputSuccess2Status">
			<span class="glyphicon glyphicon-ok form-control-feedback" aria-hidden="true"></span>
			<span id="inputSuccess2Status" class="sr-only">(success)</span>
		</div>
		<div class="form-group has-warning has-feedback">
			<label class="control-label" for="inputWarning2">Input with warning</label>
			<input type="text" class="form-control" id="inputWarning2" aria-describedby="inputWarning2Status">
			<span class="glyphicon glyphicon-warning-sign form-control-feedback" aria-hidden="true"></span>
			<span id="inputWarning2Status" class="sr-only">(warning)</span>
		</div>
		<div class="form-group has-error has-feedback">
			<label class="control-label" for="inputError2">Input with error</label>
			<input type="text" class="form-control" id="inputError2" aria-describedby="inputError2Status">
			<span class="glyphicon glyphicon-remove form-control-feedback" aria-hidden="true"></span>
			<span id="inputError2Status" class="sr-only">(error)</span>
		</div>
		<div class="form-group has-success has-feedback">
			<label class="control-label" for="inputGroupSuccess1">Input group with success</label>
			<div class="input-group">
				<span class="input-group-addon">@</span>
				<input type="text" class="form-control" id="inputGroupSuccess1" aria-describedby="inputGroupSuccess1Status">
			</div>
			<span class="glyphicon glyphicon-ok form-control-feedback" aria-hidden="true"></span>
			<span id="inputGroupSuccess1Status" class="sr-only">(success)</span>
		</div>
		<form class="form-inline">
		  <div class="form-group has-success has-feedback">
		    <label class="control-label" for="inputSuccess4">Input with success</label>
		    <input type="text" class="form-control" id="inputSuccess4" aria-describedby="inputSuccess4Status">
		    <span class="glyphicon glyphicon-ok form-control-feedback" aria-hidden="true"></span>
		    <span id="inputSuccess4Status" class="sr-only">(success)</span>
		  </div>
		</form>
		<form class="form-inline">
		  <div class="form-group has-success has-feedback">
		    <label class="control-label" for="inputGroupSuccess3">Input group with success</label>
		    <div class="input-group">
		      <span class="input-group-addon">@</span>
		      <input type="text" class="form-control" id="inputGroupSuccess3" aria-describedby="inputGroupSuccess3Status">
		    </div>
		    <span class="glyphicon glyphicon-ok form-control-feedback" aria-hidden="true"></span>
		    <span id="inputGroupSuccess3Status" class="sr-only">(success)</span>
		  </div>
		</form>
	</body>
</html>

运行结果:

 

4、可选的图标与设置 .sr-only 类的 label

如果你使用 .sr-only 类来隐藏表单控件的 <label> (而不是使用其它标签选项,如 aria-label 属性), 一旦它被添加,Bootstrap 会自动调整图标的位置;

代码演示:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<meta http-equiv="X-UA-Compatible" content="IE=edge">
		<meta name="viewport" content="width=device-width, initial-scale=1">
		<!-- 上述3个meta标签*必须*放在最前面,任何其他内容都*必须*跟随其后! -->
		<title></title>
		<!-- 引入bootstrap -->
		<link rel="stylesheet" href="../css/bootstrap.min.css" />
	</head>
	<body>
		<div class="form-group has-success has-feedback">
		  <label class="control-label sr-only" for="inputSuccess5">Hidden label</label>
		  <input type="text" class="form-control" id="inputSuccess5" aria-describedby="inputSuccess5Status">
		  <span class="glyphicon glyphicon-ok form-control-feedback" aria-hidden="true"></span>
		  <span id="inputSuccess5Status" class="sr-only">(success)</span>
		</div>
		<div class="form-group has-success has-feedback">
		  <label class="control-label sr-only" for="inputGroupSuccess4">Input group with success</label>
		  <div class="input-group">
		    <span class="input-group-addon">@</span>
		    <input type="text" class="form-control" id="inputGroupSuccess4" aria-describedby="inputGroupSuccess4Status">
		  </div>
		  <span class="glyphicon glyphicon-ok form-control-feedback" aria-hidden="true"></span>
		  <span id="inputGroupSuccess4Status" class="sr-only">(success)</span>
		</div>
	</body>
</html>

运行结果:

 

十一、控件尺寸

1、说明

通过 .input-lg 类似的类可以为控件设置高度,通过 .col-lg-* 类似的类可以为控件设置宽度;

 

2、高度尺寸

创建大一些或小一些的表单控件以匹配按钮尺寸;

代码演示:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<meta http-equiv="X-UA-Compatible" content="IE=edge">
		<meta name="viewport" content="width=device-width, initial-scale=1">
		<!-- 上述3个meta标签*必须*放在最前面,任何其他内容都*必须*跟随其后! -->
		<title></title>
		<!-- 引入bootstrap -->
		<link rel="stylesheet" href="../css/bootstrap.min.css" />
	</head>
	<body>
		<form>
			<div class="controls">
				<input class="form-control input-lg" type="text" placeholder=".input-lg">
				<input type="text" class="form-control" placeholder="Default input">
				<input class="form-control input-sm" type="text" placeholder=".input-sm">

				<select class="form-control input-lg">
					<option value="">.input-lg</option>
				</select>
				<select class="form-control">
					<option value="">Default select</option>
				</select>
				<select class="form-control input-sm">
					<option value="">.input-sm</option>
				</select>
			</div>
		</form>
	</body>
</html>

运行结果:

 

3、水平排列的表单组的尺寸

通过添加 .form-group-lg 或 .form-group-sm 类,为 .form-horizontal 包裹的 label 元素和表单控件快速设置尺寸;

代码演示:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<meta http-equiv="X-UA-Compatible" content="IE=edge">
		<meta name="viewport" content="width=device-width, initial-scale=1">
		<!-- 上述3个meta标签*必须*放在最前面,任何其他内容都*必须*跟随其后! -->
		<title></title>
		<!-- 引入bootstrap -->
		<link rel="stylesheet" href="../css/bootstrap.min.css" />
	</head>
	<body>
		<form class="form-horizontal">
		  <div class="form-group form-group-lg">
		    <label class="col-sm-2 control-label" for="formGroupInputLarge">Large label</label>
		    <div class="col-sm-10">
		      <input class="form-control" type="text" id="formGroupInputLarge" placeholder="Large input">
		    </div>
		  </div>
		  <div class="form-group form-group-sm">
		    <label class="col-sm-2 control-label" for="formGroupInputSmall">Small label</label>
		    <div class="col-sm-10">
		      <input class="form-control" type="text" id="formGroupInputSmall" placeholder="Small input">
		    </div>
		  </div>
		</form>
	</body>
</html>

运行结果:

 

4、调整列(column)尺寸

用栅格系统中的列(column)包裹输入框或其任何父元素,都可很容易的为其设置宽度;

代码演示:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<meta http-equiv="X-UA-Compatible" content="IE=edge">
		<meta name="viewport" content="width=device-width, initial-scale=1">
		<!-- 上述3个meta标签*必须*放在最前面,任何其他内容都*必须*跟随其后! -->
		<title></title>
		<!-- 引入bootstrap -->
		<link rel="stylesheet" href="../css/bootstrap.min.css" />
	</head>
	<body>
		<div class="row">
		  <div class="col-xs-2">
		    <input type="text" class="form-control" placeholder=".col-xs-2">
		  </div>
		  <div class="col-xs-3">
		    <input type="text" class="form-control" placeholder=".col-xs-3">
		  </div>
		  <div class="col-xs-4">
		    <input type="text" class="form-control" placeholder=".col-xs-4">
		  </div>
		</div>
	</body>
</html>

运行结果:

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值