Bootstrap全局樣式 - 表單

知識(shí)點(diǎn)

基本表單
<input><textarea>汇荐、<select>設(shè)置.form-control類掏击,這些元素將會(huì)被設(shè)置為 width:100%;height:34px;携冤;
添加<label>與前面這些控件悼粮,一起包裹在.form-group中。

<form>
  <div class="form-group">
    <label for="exampleInputEmail1">Email</label>
    <input type="email" class="form-control" id="exampleInputEmail1" placeholder="Email">
  </div>
  <div class="checkbox">
    <label>
      <input type="checkbox"> Check me out
    </label>
  </div>
  <button type="submit" class="btn btn-default">Submit</button>
</form>
基本表單

內(nèi)聯(lián)表單
為 <form> 元素添加 .form-inline 類可使其內(nèi)容左對(duì)齊并且表現(xiàn)為 inline-block 級(jí)別的控件曾棕。只適用于視口(viewport)至少在 768px 寬度時(shí)(視口寬度再小的話就會(huì)使表單折疊)扣猫。
內(nèi)聯(lián)表單中的<input><textarea>睁蕾、<select>這些控件的寬度被設(shè)為width:auto;苞笨,這個(gè)我們?cè)趯戫撁鏁r(shí)需要去自定義設(shè)置。

<form class="form-inline">
  <div class="form-group">
    <label for="exampleInputName2">Name</label>
    <input type="text" class="form-control" id="exampleInputName2" placeholder="Jane Doe">
  </div>
  <div class="form-group">
    <label for="exampleInputEmail2">Email</label>
    <input type="email" class="form-control" id="exampleInputEmail2" placeholder="jane.doe@example.com">
  </div>
  <button type="submit" class="btn btn-default">Send invitation</button>
</form>
內(nèi)聯(lián)表單
一定要添加 label 標(biāo)簽

如果你沒有為每個(gè)輸入控件設(shè)置 label 標(biāo)簽子眶,屏幕閱讀器將無法正確識(shí)別。對(duì)于這些內(nèi)聯(lián)表單序芦,你可以通過為 label 設(shè)置 .sr-only 類將其隱藏臭杰。還有一些輔助技術(shù)提供label標(biāo)簽的替代方案,比如 aria-label谚中、aria-labelledby 或 title 屬性渴杆。如果這些都不存在,屏幕閱讀器可能會(huì)采取使用 placeholder 屬性宪塔,如果存在的話磁奖,使用占位符來替代其他的標(biāo)記,但要注意某筐,這種方法是不妥當(dāng)?shù)摹?/p>

.sr-only
<form class="form-inline">
  <div class="form-group">
    <label class="sr-only" for="exampleInputAmount">Amount (in dollars)</label>
    <div class="input-group">
      <div class="input-group-addon">$</div>
      <input type="text" class="form-control" id="exampleInputAmount" placeholder="Amount">
      <div class="input-group-addon">.00</div>
    </div>
  </div>
  <button type="submit" class="btn btn-primary">Transfer cash</button>
</form>
input-group-addon與btn-primary

水平排列的表單
通過為表單添加 .form-horizontal 類比搭,并聯(lián)合使用 Bootstrap 預(yù)置的柵格類,可以將 label 標(biāo)簽和控件組水平并排布局南誊。這樣做將改變 .form-group 的行為身诺,使其表現(xiàn)為柵格系統(tǒng)中的行(row),因此就無需再額外添加 .row 了抄囚。
<label>需要添加.control-label類來調(diào)整行高位置霉赡,與input等控件相對(duì)應(yīng)顯示;

    <form class="form-horizontal">
        <div class="col-xs-6">
            <div class="form-group">
                <label class="col-xs-2 control-label">name</label>
                <div class="col-xs-10"><input type="text" value="" name="" placeholder="" class="form-control"/></div>
            </div>
        </div>
        <div class="col-xs-6">
            <div class="form-group">
                <label class="col-xs-2 control-label">name</label>
                <div class="col-xs-10"><input type="text" value="" name="" placeholder="" class="form-control"/></div>
            </div>
        </div>
        <div class="col-xs-6">
            <div class="form-group">
                <label class="col-xs-2 control-label">name</label>
                <div class="col-xs-10"><input type="text" value="" name="" placeholder="" class="form-control"/></div>
            </div>
        </div>
        <div class="col-xs-6">
            <div class="form-group">
                <label class="col-xs-2 control-label">name</label>
                <div class="col-xs-10"><input type="text" value="" name="" placeholder="" class="form-control"/></div>
            </div>
        </div>
    </form>
水平排列的表單

靜態(tài)控件
如果需要在表單中將一行純文本和 label 元素放置于同一行幔托,為 <p> 元素添加 .form-control-static 類即可穴亏。具體實(shí)例參照下面的實(shí)踐。

焦點(diǎn)狀態(tài)

focus

.form-control 元素的 :focus 狀態(tài)

校驗(yàn)狀態(tài)
Bootstrap 對(duì)表單控件的校驗(yàn)狀態(tài),使用時(shí)嗓化,添加 .has-warning锅劝、.has-error 或 .has-success 類到這些控件的父元素即可。任何包含在此元素之內(nèi)的 .control-label蟆湖、.form-control 和 .help-block 元素都將接受這些校驗(yàn)狀態(tài)的樣式故爵;
還可以針對(duì)校驗(yàn)狀態(tài)為輸入框添加額外的圖標(biāo);只需設(shè)置相應(yīng)的 .has-feedback 類并添加正確的圖標(biāo)隅津;
反饋圖標(biāo)(feedback icon)只能使用在文本輸入框 <input class="form-control"> 元素上诬垂。
實(shí)例:TODO:校驗(yàn)狀態(tài)

控件尺寸
添加 .form-group-lg.form-group-sm 類,為 .form-horizontal 包裹的 label 元素和表單控件快速設(shè)置尺伦仍;
用柵格系統(tǒng)中的列(column)包裹輸入框或其任何父元素结窘,都可很容易的為其設(shè)置寬度。


實(shí)踐

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=gbk"/>
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="Resource-type" content="Document"/>
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>表單</title>
    <link href="css/bootstrap.min.css" rel="stylesheet" type="text/css" />
    <script src="js/jquery-2.1.4.min.js" type="text/javascript"></script>
    <script src="js/bootstrap.min.js" type="text/javascript"></script>
    <style>
        <!--
        .line{border-top:1px solid #afd9ee;margin:20px 0;}
        -->
    </style>
</head>
<body>
<div class="container">
    <!--基本表單格式-->
    <p>基本表單</p>
    <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>

    <div class="line"></div>
    <!--內(nèi)聯(lián)表單 width:auto; 一定要有l(wèi)abel元素充蓝,label元素添加sr-only類隧枫,則該元素會(huì)被隱藏-->
    <p>內(nèi)聯(lián)表單</p>
    <form class="form-inline">
        <div class="form-group">
            <label for="exampleInputName2" class="sr-only">Name</label>
            <input type="text" class="form-control" id="exampleInputName2" placeholder="Jane Doe" value="它之前的label元素被隱藏了">
        </div>
        <div class="form-group">
            <label for="exampleInputEmail2">Email</label>
            <input type="email" class="form-control" id="exampleInputEmail2" placeholder="jane.doe@example.com">
        </div>
        <button type="submit" class="btn btn-default">Send invitation</button>
    </form>
    <br/>
    <form class="form-inline">
        <div class="form-group">
            <lable>價(jià)格:</lable>
            <div class="input-group">
                <div class="input-group-addon">input-group-addon</div>
                <input type="text" class="form-control" placeholder="" value=""/>
                <div class="input-group-addon">.00</div>
                <div class="input-group-btn">input-group-btn</div>
            </div>
        </div>
    </form>

    <div class="line"></div>
    <!--水平排列的表單-->
    <p>水平排列的表單</p>
    <form class="form-horizontal">
        <div class="col-xs-6">
            <div class="form-group">
                <label class="col-xs-2 control-label">name</label>
                <div class="col-xs-10"><input type="text" value="" name="" placeholder="" class="form-control"/></div>
            </div>
        </div>
        <div class="col-xs-6">
            <div class="form-group">
                <label class="col-xs-2 control-label">name</label>
                <div class="col-xs-10"><input type="text" value="" name="" placeholder="" class="form-control"/></div>
            </div>
        </div>
        <div class="col-xs-6">
            <div class="form-group">
                <label class="col-xs-2 control-label">name</label>
                <div class="col-xs-10"><input type="text" value="" name="" placeholder="" class="form-control"/></div>
            </div>
        </div>
        <div class="col-xs-6">
            <div class="form-group">
                <label class="col-xs-2 control-label">name</label>
                <div class="col-xs-10"><input type="text" value="" name="" placeholder="" class="form-control"/></div>
            </div>
        </div>
        <div class="clearfix"></div>
    </form>
    <div class="line"></div>
    <!--textarea-->
    <p>textarea</p>
    <textarea class="form-control" rows="5"></textarea>
    <div class="line"></div>
    <!--單選與復(fù)選-->
    <p>單選與復(fù)選</p>
    <div class="checkbox">
        <label>
            <input type="checkbox" value="" name="checkbox"/>
            復(fù)選框按鈕
        </label>
    </div>
    <div class="checkbox disabled">
        <label>
            <input type="checkbox" value="" name="checkbox" disabled/>
            復(fù)選框按鈕,不可選disabled
        </label>
    </div>
    <div class="radio">
        <label>
            <input type="radio" name="radio"/>單選框
        </label>
        <label>
            <input type="radio" name="radio"/>單選框
        </label>
    </div>
    <div class="radio disabled">
        <label>
            <input type="radio" name="radio" disabled/>單選框不可選
        </label>
    </div>
    <div class="line"></div>
    <!--下拉列表(select)-->
    <p>下拉列表(select)</p>
    <select class="form-control">
        <option>1</option>
        <option>2</option>
        <option>3</option>
        <option>4</option>
        <option>5</option>
    </select>

    <div class="line"></div>
    <!--靜態(tài)控件-->
    <p>靜態(tài)控件</p>
    <form class="form-horizontal"><!--單行顯示-->
        <div class="form-group">
            <label class="col-sm-2 control-label">Email</label><!--sr-only-->
            <div class="col-sm-10">
                <p class="form-control-static">email@example.com</p><!--添加 form-control-static 類來設(shè)置p元素與label同行顯示-->
            </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>
    <div class="line"></div>
    <!--校驗(yàn)狀態(tài)-->
    <p>校驗(yàn)狀態(tài)</p>
    <form class="form-horizontal">
        <div class="form-group has-success">
            <label class="col-xs-2 control-label">has-success</label>
            <div class="col-xs-10"><input type="text" value="" name="" class="form-control"/></div>
        </div>
        <div class="form-group has-warning">
            <label class="col-xs-2 control-label">has-warning</label>
            <div class="col-xs-10"><input type="text" value="" name="" class="form-control"/></div>
        </div>
        <div class="form-group has-error">
            <label class="col-xs-2 control-label">has-error</label>
            <div class="col-xs-10"><input type="text" value="" name="" class="form-control"/></div>
        </div>
    </form>
    <div class="line"></div>
    <!--控件尺寸-->
    <p>控件尺寸</p>
    <input class="form-control input-lg" type="text" placeholder=".input-lg">
    <input class="form-control" type="text" placeholder="Default input">
    <input class="form-control input-sm" type="text" placeholder=".input-sm">
</div>

</body>
</html>
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末谓苟,一起剝皮案震驚了整個(gè)濱河市官脓,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌涝焙,老刑警劉巖卑笨,帶你破解...
    沈念sama閱讀 211,884評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異仑撞,居然都是意外死亡赤兴,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,347評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門隧哮,熙熙樓的掌柜王于貴愁眉苦臉地迎上來桶良,“玉大人,你說我怎么就攤上這事沮翔≡煞” “怎么了?”我有些...
    開封第一講書人閱讀 157,435評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵鉴竭,是天一觀的道長(zhǎng)歧譬。 經(jīng)常有香客問我,道長(zhǎng)搏存,這世上最難降的妖魔是什么瑰步? 我笑而不...
    開封第一講書人閱讀 56,509評(píng)論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮璧眠,結(jié)果婚禮上缩焦,老公的妹妹穿的比我還像新娘读虏。我一直安慰自己,他們只是感情好袁滥,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,611評(píng)論 6 386
  • 文/花漫 我一把揭開白布盖桥。 她就那樣靜靜地躺著,像睡著了一般题翻。 火紅的嫁衣襯著肌膚如雪揩徊。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,837評(píng)論 1 290
  • 那天嵌赠,我揣著相機(jī)與錄音塑荒,去河邊找鬼。 笑死姜挺,一個(gè)胖子當(dāng)著我的面吹牛齿税,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播炊豪,決...
    沈念sama閱讀 38,987評(píng)論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼凌箕,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了词渤?” 一聲冷哼從身側(cè)響起牵舱,我...
    開封第一講書人閱讀 37,730評(píng)論 0 267
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎掖肋,沒想到半個(gè)月后仆葡,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,194評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡志笼,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,525評(píng)論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了把篓。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片纫溃。...
    茶點(diǎn)故事閱讀 38,664評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖韧掩,靈堂內(nèi)的尸體忽然破棺而出紊浩,到底是詐尸還是另有隱情,我是刑警寧澤疗锐,帶...
    沈念sama閱讀 34,334評(píng)論 4 330
  • 正文 年R本政府宣布坊谁,位于F島的核電站,受9級(jí)特大地震影響滑臊,放射性物質(zhì)發(fā)生泄漏口芍。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,944評(píng)論 3 313
  • 文/蒙蒙 一雇卷、第九天 我趴在偏房一處隱蔽的房頂上張望鬓椭。 院中可真熱鬧颠猴,春花似錦、人聲如沸小染。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,764評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽裤翩。三九已至资盅,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間踊赠,已是汗流浹背呵扛。 一陣腳步聲響...
    開封第一講書人閱讀 31,997評(píng)論 1 266
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留臼疫,地道東北人择份。 一個(gè)月前我還...
    沈念sama閱讀 46,389評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像烫堤,于是被迫代替她去往敵國(guó)和親荣赶。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,554評(píng)論 2 349

推薦閱讀更多精彩內(nèi)容

  • Bootstrap是什么鸽斟? 一套易用拔创、優(yōu)雅、靈活富蓄、可擴(kuò)展的前端工具集--BootStrap剩燥。GitHub上介紹 的...
    凜0_0閱讀 10,861評(píng)論 3 184
  • 【表格】.table 類指定基本樣式,.table-striped 條紋樣式立倍,.table-bordered 類為...
    gtt21閱讀 359評(píng)論 0 2
  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫灭红、插件、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 12,066評(píng)論 4 62
  • 這是在微博上看到的一篇文章口注,深有感觸变擒,于是轉(zhuǎn)發(fā)過來。 人生最難跨過的一關(guān)寝志,是自己那一關(guān)娇斑。唯一能夠阻...
    小M姑娘閱讀 434評(píng)論 0 1
  • 我有一副過得去的容貌乐导,瘦削的身段苦丁,重點(diǎn)大學(xué)的綠本本,數(shù)年的財(cái)富管理工作經(jīng)驗(yàn)兽叮。在大千世界中芬骄,或是一名普普通通的女子猾愿,...
    MissBright閱讀 337評(píng)論 0 0