bootstrap學習總結-css樣式設計(二)

来源:http://www.cnblogs.com/jtjds/archive/2016/06/03/5554350.html
-Advertisement-
Play Games

首先,很感謝各位園友對我的支持,關於bootstrap的學習總結,我會持續更新,如果有寫的不對的地方,麻煩各位給我指正出來哈。關於上篇文章,固定佈局和流式佈局很關鍵,如果還不太清楚的可以再看看我寫的http://www.cnblogs.com/jtjds/p/5547261.html 這次我們來看看 ...


   首先,很感謝各位園友對我的支持,關於bootstrap的學習總結,我會持續更新,如果有寫的不對的地方,麻煩各位給我指正出來哈。關於上篇文章,固定佈局和流式佈局很關鍵,如果還不太清楚的可以再看看我寫的http://www.cnblogs.com/jtjds/p/5547261.html

   這次我們來看看bootstrap中關於樣式的一些具體關鍵的類以及如何使用這些類,類與類之間的區別,另外涉及到的一些相關類,舉列子的時候解釋。

一:表單

     1:form-control類:含有此類的<input><select><textarea>標簽寬度都將變為width:100%,且在表單中通常是將控制項配合label標簽一起包含在form-group中使用。 

<form  role="form">
       <!-- 所有設置了form-control類的input,textarea,select,元素都將被預設為width:100%   -->
       <div  class="form-group">  --form-group:一般講標簽和空間包裹在form-group中使用
               <label   for="exampleInputEmail">Email  address</label>
               <input   type="email"   class="form-control"  id="exampleInputEmail"  placeholder="input">
       </div>

<div class="form-group"> <label for="exampleInputEmail">Email name</label> <textarea class="form-control">11111</textarea> </div>

<div class="form-group"> <label for="select">select form</label> <select class="form-control"> <option>111</option> <option>222</option> </select> </div> </form>

 根據上面代碼引申出不同的類,我們一行行的來看。給form添加form-inline類(將控制項放在一行) |  form-horizontal類(標簽在左,控制項在右),後者藉助標簽。

<!-- form-inline類使表單水平呈現-->
<form   class="form-inline">  --其次還有check-inline,radio-inline等
           <div  class="form-group">
                     <label  class="src-only"  for="exampleInputAmount">Amount</label>
                     <div  class="input-group">  --input-group:輸入組
                                <div  class="input-group-addon">@</div>  --addon:指添加的文本或按鈕
                                <input  type="text"  class="form-control "  id="exampleInputAmount"  placeholder="Amount">
                                <div   class="input-group-addon">@</div>
                     </div>
           </div>
           <button  type="submit"  class="btn  btn-primary">search</button>

</form>

效果如下:

如果不加的話,button將被擠到下一行。這裡不再貼圖,可自行貼碼測試。

<!--水平排列的表單   control-label:表示文本採用右對齊 -->
<form   class="form-horizontal" >
       <div  class="form-group">
         <label  for="inputEmail"   class="col-sm-2  control-label">Email:</label>
          <div  class="col-sm-10">
                  <input  type="email"   class="form-control"   id="inputEmail"  placeholder="email">
          </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>

效果如下:

(註意:這裡的input文本框應該是占5/6的,我把它的寬度自定義了下為20%)

這裡關於form-horizontal,要配合bootstrap的柵格系統進行。

在<form>元素上使用類名“form-horizontal”主要有以下幾個作用:
  1:設置表單控制項padding和margin值。上面的代碼可在調試控制台裡面看到,為padding-left:50px。
  2:改變“form-group”的表現形式,類似於網格系統的“row”。

2:label的作用

<label  for="hello1">hello</label><input  type="text"   id="hello"><br>  ---產生藍色光暈
<label  for="1111">hello</label><input  type="text"   id="jiang"><br> ---id不對應,沒反應,只有當滑鼠放在控制項上時,才有藍色光暈

結合上面的代碼看:label中的for屬性,應該對應的是控制項中的id。作用:保證當滑鼠置於label上,相應的控制項會產生藍色光暈。

3:role的作用

   有沒有覺得很奇怪,為什麼在寫表單或者一些控制項的時候,要加上role?

   作用:保證讀屏軟體可以識別。讀屏軟體即一款幫助智障人士上網的軟體,將圖片,文字等以語音的形式傳達給智障人士,因此為確保讀屏軟體可以識別,通常沒有語義化的標簽,或者功能特殊的標簽都要寫上它。比如:

<a  class="btn  btn-default"  href="#"  role="button">link</a>
<!-- 如果鏈接a作為按鈕使用,並用於當前頁面觸發某些功能,而不是連接到其它其它頁面或當前頁面的其餘部分,務必設置role="button" -->

原本a標簽是表示鏈接,但這裡卻當做按鈕來使用,讀屏軟體無法識別,因此需要加上role="button",讓讀屏軟體知道這是個button按鈕。

 4:label,aria-label,aria-labelled的區別?

  <div  class="form-group">
              
                <input  type="text"   id="idCard"  aria-label="身份證">
                <p  class="help-block">Example  block-level </p>  --help-block:用來提示解釋說明的文本
  </div>
  <div  class="form-group">
                <label  for="idCard">身份證</label>
                <input  type="text"   id="idCard"  >
                <p  class="help-block">Example  block-level </p>
  </div>

效果如下:

前者沒有出現可視化的“身份證”字樣,兩者均是為了便於讀屏軟體識別出來。只是aria-label被隱藏起來了。

再來看下aria-labelled怎麼用,通常是當標簽文本已經存在於某一個元素時,使用aria-labelled,它的值為所有讀取元素的id,來看下列子:

<div class="dropdown">  
       <button type="button" class="btn dropdown-toggle" id="dropdownMenu1"   data-toggle="dropdown"> 

               選擇下列選項  
              <span class="caret"></span>  
       </button>  
       <ul class="dropdown-menu" role="menu" aria-labelledby="dropdownMenu1">  
                 <li role="presentation">  
                       <a role="menuitem" tabindex="-1" href="#">1111</a>  
                 </li>  
                 <li role="presentation">  
                      <a role="menuitem" tabindex="-1" href="#">22222</a>  
                 </li>  
                 <li role="presentation">  
                     <a role="menuitem" tabindex="-1" href="#">33333</a>  
                 </li>            
       </ul>  
</div>  

 此時ul中包含的有li,且是在button中控制的,所以此時用aria-labelledby比較合適。簡單來說,三者之間,只是使用的範圍不一樣,基本功能是相同的,都是為了便於讀屏軟體的識別。說到隱藏的類,就要提到sr-only類了。我們來看下。

  <label  for="inputEmail"   class="col-sm-2  control-label  sr-only">Email:</label>
  <label  for="inputEmail"   class="col-sm-2  control-label ">Email:</label>

此時效果是:上面的文字被隱藏起來,僅僅這種區別,其它基本功能不變。

5:disabled類

在表單中,這個類要註意,這裡我們對比來看。

<!-- 引入fieldset的表單,作用:將表單包含在一個塊裡面 -->
<form role="form">
    <fieldset disabled>
              <div class="form-group">
                        <label for="disabledTextInput">禁用的輸入框</label>
                        <input type="text" id="disabledTextInput" class="form-control" placeholder="禁止輸入">
             </div>
             <div class="form-group">
                        <label for="disabledSelect">禁用的下拉框</label>
                       <select id="disabledSelect" class="form-control">
                        <option>禁用不可選擇</option>
                       </select>
             </div>
            <div class="checkbox">
                       <label>
                       <input type="checkbox"> 禁用無法選擇
                      </label>
           </div>
           <button type="submit" class="btn btn-primary">提交</button>
  </fieldset>
</form> 

如果給fileset增加disabled類的話,禁用的表單,只對button   select   input等禁用,而對於其它的項legend屬性並不起作用。對比來看,添加legend屬性

<!--  加了lenged屬性 -->
<form role="form">
            <fieldset disabled>
                          <legend><input type="text" class="form-control" placeholder="顏色變灰,但沒被禁用" ></legend>--這裡滑鼠可以放入輸入框中
                           <div class="form-group">
                                    <label for="disabledTextInput">禁用的輸入框</label>
                                    <input type="text" id="disabledTextInput" class="form-control" placeholder="禁止輸入">
                          </div>
                          <div class="form-group">
                                    <label for="disabledSelect">禁用的下拉框</label>
                                    <select id="disabledSelect" class="form-control">
                                    <option>不可選擇</option>
                                    </select>
                          </div>
                          <div class="checkbox">
                                   <label>
                                    <input type="checkbox"> 無法選擇
                                    </label>
                          </div>
                               <button type="submit" class="btn btn-primary">提交</button>
             </fieldset>
</form> 
<!--  禁用的表單,只對button   select   input等禁用,而對於其它的項legend並不起作用--> 

 6: data-toggle data-target  data-spy屬性

  html5允許開發者自由為其標簽添加屬性,這種自定義屬性一般用“data-”開頭。

  data-toggle:表示數據交互 ,上面列子中點擊button,即可切換到下拉菜單。

  data-spy表示:監控

  data-traget:目標。

 這裡涉及到js中的事件,不再詳解,等到進入bootstrap中的js學習中再來看一下這些問題。表單涉及到的東西還是很多的,總結的差不多這麼多,還有補充的,麻煩大家在下麵給我留言。

二:按鈕類

  這個沒啥難點,記住屬性類就行了,很好理解。

 

<a  class="btn  btn-default"  href="#"  role="button">link</a>
<button  class="btn  btn-default  btn-lg"  type="submit"  disabled="disabled">default</button>
<button  class="btn  btn-primary"          type="submit">primary</button>
<button  class="btn  btn-success"          type="submit">success</button>
<button  class="btn  btn-info  btn-block"  type="submit">info</button>    --btn-block:將其拉伸到父元素的100%
<button  class="btn  btn-warning"          type="submit">warning</button>
<input   class="btn  btn-danger  active"   type="button"  value="Input">
<input   class="btn  btn-link"             type="button"  value="submit">

 

效果如下:

三:圖片類

 <!--  使圖片居中center-block:使內容居中顯示 img-rounded :帶有圓角   img-circle:環形    img-thumbnail:給圖片加了個外邊框-->
<img  src="111.png"  class="img-responsive  center-block  img-rounded"  alt="responsive  image">
<img  src="111.png"  class="img-responsive  center-block  img-circle"  alt="responsive  image">
<img  src="111.png"  class="img-responsive  center-block  img-thumbnail"  alt="responsive  image">

效果如下:

總結一句,個人感覺,表單的作用還是很重要的,其它的一些基本類,這裡不再講解,都比較容易。下一篇將轉入css組件的學習。


 作者:向婷風

 出處:http://www.cnblogs.com/jtjds/p/5554350.html

 如果您覺得閱讀本文對您有幫助,請點一下“推薦”按鈕,您的“推薦”將是我最大的寫作動力!歡迎各位轉載,但是未經作者

本人同意 轉載文章之後必須在 文章頁面明顯位置給出作者和原文連接,否則保留追究法律責任的權利。

 

 

 

 

 

  

 

 

 

 

 

    

   


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • PHP中提供了一些對圖像進行編輯處理的函數,其中最為典型的應用為隨機圖形驗證碼、圖片水印以及數據統計中餅狀圖和柱狀圖的生成等 PHP中有的圖形函數可以直接使用,但多數需要在安裝了GD2函數庫後才能使用。在Windows平臺下安裝GD2庫很簡單,就是PHP5自帶的ext目錄中的php_gd2_dll文 ...
  • 抽象工廠模式:提供一個創建一系列相關或相互依賴對象的介面,而無需指定它們具體的類。 最大的好處便是易於交換產品系列,由於具體工廠類,在一個應用中只需在初始化的時候出現一次,這就使得改變一個應用的具體工廠變得非常容易,它只需改變具體工廠即可使用不同的產品配置。 他使具體創建實例的過程與客戶端分離,客戶 ...
  • 閱讀文章時,如果某個段落已經傳達了關鍵信息,我們可能就不會逐字逐句地將文章讀完,因為我們已經知道了這篇文章的核心內容。 與此類似,如果方法中某些條件判斷可以得到結果,我們應該儘快返回該結果。 儘快返回可以帶來三個好處:1. 節省閱讀代碼的時間 2. 避免執行無效的邏輯 3. 增強代碼的可讀性 ...
  • html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, i ...
  • ...
  • 最近一直有人問,移動端的頁面怎麼寫啊?要註意什麼啊?和PC頁面有什麼區別?…… 就會有很多的疑問。其實要我回答這些問題可能也不知道怎麼回答小伙伴。我也沒有專門學習過移動端的製作,大部分都是工作後慢慢捉摸的。 今天給大家分享一些移動端 web 開發的小技巧吧! 一、移動端手機號碼的識別 在 iOS S ...
  • 什麼,你現在還在看knockoutjs?這貨都已經落後主流一千年了!趕緊去學Angular、React啊,再不趕緊的話,他們也要變out了哦。身旁的90後小伙伴,嘴裡還塞著山東的狗不理大蒜包,卻依然振振有詞地喋喋不休,一臉真誠。是啊,前端發展太快,那邊前幾年出的框架已是無人問津的半老徐娘,而這邊各種... ...
  • 為幫您更好的瞭解 Wijmo 產品,我們本次上線了 50個漢化的 Demo。 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...