amazeui學習筆記--css(HTML元素3)--表單Form


amazeui學習筆記--css(HTML元素3)--表單Form

一、總結

1、form樣式使用:在容器上添加 .am-form class,容器里的子元素才會應用 Amaze UI 定義的樣式 am-form.     <form class="am-form">

2、單選復選框:可以做成塊級和行內元素

  • 塊級顯示時在容器上添加 .am-checkbox.am-radio class;
  • 行內顯示時在容器上添加 .am-checkbox-inline.am-radio-inline class。

3、form組:記住后面這兩個類就好:form-group:<div class="am-form-group am-form-file"> am是命名空間 form是模塊,file是具體標簽

4、表單每種標簽都有對應樣式用法是在外層div+class給樣式,里層input該怎么寫還是怎么寫

1     <div class="am-radio">
2       <label>
3         <input type="radio" name="doc-radio-1" value="option2">
4         單選框 - 選項2
5       </label>
6     </div>

5、圓角或者橢圓形表單:加am-radius或者am-round即可,<p><input type="text" class="am-form-field am-radius" placeholder="圓角表單域" /></p>

6、禁用區域元素:<fieldset disabled>。。。。。</fieldset>

7、禁用元素支持兩種方式:am-disabled 和 disabled屬性

8、表單水平排列:在 <form> 添加 .am-form-horizontal class 並結合網格系統使用。

1 <form class="am-form am-form-horizontal">
2   <div class="am-form-group">
3     <label for="doc-ipt-3" class="am-u-sm-2 am-form-label">電子郵件</label>
4     <div class="am-u-sm-10">
5       <input type="email" id="doc-ipt-3" placeholder="輸入你的電子郵件">
6     </div>
7   </div>
8 </form>

9、表單域icondiv中加上am-form-icon,里面就可以用i標簽弄icon了

 1 <form action="" class="am-form am-form-inline">
 2   <div class="am-form-group am-form-icon">
 3     <i class="am-icon-calendar"></i>
 4     <input type="text" class="am-form-field" placeholder="日期">
 5   </div>
11 </form>

10、表單標簽上下的文本:<label class="am-form-label" for="doc-ipt-success">驗證成功</label>

11、 其它內容例如:帶圖標的驗證表單域大小后面再看

 

 

二、Form 表單元素

<form> 元素樣式。

基本使用

單選、復選框

checkboxradio 類型的 <input> 與其他元素稍有區別:

  • 塊級顯示時在容器上添加 .am-checkbox.am-radio class;
  • 行內顯示時在容器上添加 .am-checkbox-inline.am-radio-inline class。

下拉選框

<select> 是一個比較奇葩的元素,長得丑還不讓人給它打扮。

單使用 CSS, 很難給 select 定義跨瀏覽器兼容的樣式,保留瀏覽器默認樣式可能是它最好的歸宿(Pure CSS 就是這么干的)。Amaze UI 中針對 Webkit 瀏覽器寫了一點樣式替換了默認的下上三角形。

文件選擇域

<input type="file"> 也是 CSS 啃不動的一塊骨頭,如果實在看不慣原生的樣式,一般的做法是把文件選擇域設為透明那個,覆蓋在其他元素。

 Copy

 選擇要上傳的文件
<div class="am-form-group am-form-file"> <button type="button" class="am-btn am-btn-default am-btn-sm"> <i class="am-icon-cloud-upload"></i> 選擇要上傳的文件</button> <input type="file" multiple> </div> <hr/> <div class="am-form-group am-form-file"> <i class="am-icon-cloud-upload"></i> 選擇要上傳的文件 <input type="file" multiple> </div>

存在的問題是不會顯示已經選擇的文件,對用戶不夠友好,需要配合 JS 使用:

 Copy
 
<div class="am-form-group am-form-file"> <button type="button" class="am-btn am-btn-danger am-btn-sm"> <i class="am-icon-cloud-upload"></i> 選擇要上傳的文件</button> <input id="doc-form-file" type="file" multiple> </div> <div id="file-list"></div> <script> $(function() { $('#doc-form-file').on('change', function() { var fileNames = ''; $.each(this.files, function() { fileNames += '<span class="am-badge">' + this.name + '</span> '; }); $('#file-list').html(fileNames); }); }); </script>

基本演示

在容器上添加 .am-form class,容器里的子元素才會應用 Amaze UI 定義的樣式。

 Copy
表單標題

請選擇要上傳的文件...


<form class="am-form"> <fieldset> <legend>表單標題</legend> <div class="am-form-group"> <label for="doc-ipt-email-1">郵件</label> <input type="email" class="" id="doc-ipt-email-1" placeholder="輸入電子郵件"> </div> <div class="am-form-group"> <label for="doc-ipt-pwd-1">密碼</label> <input type="password" class="" id="doc-ipt-pwd-1" placeholder="設置個密碼吧"> </div> <div class="am-form-group"> <label for="doc-ipt-file-1">原生文件上傳域</label> <input type="file" id="doc-ipt-file-1"> <p class="am-form-help">請選擇要上傳的文件...</p> </div> <div class="am-form-group am-form-file"> <label for="doc-ipt-file-2">Amaze UI 文件上傳域</label> <div> <button type="button" class="am-btn am-btn-default am-btn-sm"> <i class="am-icon-cloud-upload"></i> 選擇要上傳的文件</button> </div> <input type="file" id="doc-ipt-file-2"> </div> <div class="am-checkbox"> <label> <input type="checkbox"> 復選框,選我選我選我 </label> </div> <div class="am-radio"> <label> <input type="radio" name="doc-radio-1" value="option1" checked> 單選框 - 選項1 </label> </div> <div class="am-radio"> <label> <input type="radio" name="doc-radio-1" value="option2"> 單選框 - 選項2 </label> </div> <div class="am-form-group"> <label class="am-checkbox-inline"> <input type="checkbox" value="option1"> 選我 </label> <label class="am-checkbox-inline"> <input type="checkbox" value="option2"> 同時可以選我 </label> <label class="am-checkbox-inline"> <input type="checkbox" value="option3"> 還可以選我 </label> </div> <div class="am-form-group"> <label class="am-radio-inline"> <input type="radio" value="" name="docInlineRadio"> 每一分 </label> <label class="am-radio-inline"> <input type="radio" name="docInlineRadio"> 每一秒 </label> <label class="am-radio-inline"> <input type="radio" name="docInlineRadio"> 多好 </label> </div> <div class="am-form-group"> <label for="doc-select-1">下拉多選框</label> <select id="doc-select-1"> <option value="option1">選項一...</option> <option value="option2">選項二.....</option> <option value="option3">選項三........</option> </select> <span class="am-form-caret"></span> </div> <div class="am-form-group"> <label for="doc-select-2">多選框</label> <select multiple class="" id="doc-select-2"> <option>1</option> <option>2</option> <option>3</option> <option>4</option> <option>5</option> </select> </div> <div class="am-form-group"> <label for="doc-ta-1">文本域</label> <textarea class="" rows="5" id="doc-ta-1"></textarea> </div> <p><button type="submit" class="am-btn am-btn-default">提交</button></p> </fieldset> </form>

表單形狀

 Copy

<p><input type="text" class="am-form-field am-radius" placeholder="圓角表單域" /></p> <p><input type="text" class="am-form-field am-round" placeholder="橢圓表單域"/></p>

表單域狀態

設置表單元素的不同狀態。

禁用單個元素

給 <input> 添加 disabled 屬性以禁用表單元素。

 Copy
<form class="am-form"> <input class="am-form-field" type="text" placeholder="禁止輸入的表單..." disabled> </form>

給 <fieldset> 元素增加 disabled 屬性,禁用所有的子元素。

禁用域內的元素

 Copy
<form class="am-form"> <fieldset disabled> <div class="am-form-group"> <label for="doc-ds-ipt-1">禁用的文本框</label> <input type="text" id="doc-ds-ipt-1" class="am-form-field" placeholder="禁止輸入"> </div> <div class="am-form-group"> <label for="oc-ds-select-1">禁用的下拉選框</label> <select id="oc-ds-select-1" class="am-form-field"> <option>禁止選擇我</option> </select> </div> <div class="am-checkbox"> <label> <input type="checkbox"> 無法選中的復選框 </label> </div> <button type="submit" class="am-btn am-btn-primary">Submit</button> </fieldset> </form>

禁用鏈接

<a> 元素設置禁用狀態需要加上 .am-disabled class。

 Copy
<a class="am-btn am-btn-primary am-disabled">禁止提交</a>

表單排列

水平排列

在 <form> 添加 .am-form-horizontal class 並結合網格系統使用。

 Copy
<form class="am-form am-form-horizontal"> <div class="am-form-group"> <label for="doc-ipt-3" class="am-u-sm-2 am-form-label">電子郵件</label> <div class="am-u-sm-10"> <input type="email" id="doc-ipt-3" placeholder="輸入你的電子郵件"> </div> </div> <div class="am-form-group"> <label for="doc-ipt-pwd-2" class="am-u-sm-2 am-form-label">密碼</label> <div class="am-u-sm-10"> <input type="password" id="doc-ipt-pwd-2" placeholder="設置一個密碼吧"> </div> </div> <div class="am-form-group"> <div class="am-u-sm-offset-2 am-u-sm-10"> <div class="checkbox"> <label> <input type="checkbox"> 記住十萬年 </label> </div> </div> </div> <div class="am-form-group"> <div class="am-u-sm-10 am-u-sm-offset-2"> <button type="submit" class="am-btn am-btn-default">提交登入</button> </div> </div> </form>

行內排列

在外圍容器上添加 .am-form-inline。 注意: 行內排列的元素並沒有設置右邊距,默認使用 inline-block 元素的間距,壓縮 HTML 后行內表單元素的右邊距會消失,需要自行處理。

 Copy
 
 
  
<form class="am-form-inline" role="form"> <div class="am-form-group"> <input type="email" class="am-form-field" placeholder="電子郵件"> </div> <div class="am-form-group"> <input type="password" class="am-form-field" placeholder="密碼"> </div> <div class="am-checkbox"> <label> <input type="checkbox"> 記住我 </label> </div> <button type="submit" class="am-btn am-btn-default">登錄</button> </form>

表單域 Icon

表單 group 元素上添加 .am-form-icon,依賴 icon 組件。

 Copy
 
<form action="" class="am-form am-form-inline"> <div class="am-form-group am-form-icon"> <i class="am-icon-calendar"></i> <input type="text" class="am-form-field" placeholder="日期"> </div> <div class="am-form-group am-form-icon"> <i class="am-icon-clock-o"></i> <input type="text" class="am-form-field" placeholder="時間"> </div> </form>

驗證狀態

演示

 Copy
<form action="" class="am-form"> <div class="am-form-group am-form-success am-form-icon am-form-feedback"> <label class="am-form-label" for="doc-ipt-success">驗證成功</label> <input type="text" id="doc-ipt-success" class="am-form-field"> <span class="am-icon-check"></span> </div> <div class="am-form-group am-form-warning"> <label class="am-form-label" for="doc-ipt-warning">驗證警告</label> <input type="text" id="doc-ipt-warning" class="am-form-field"> </div> <div class="am-form-group am-form-error"> <label class="am-form-label" for="doc-ipt-error">驗證失敗</label> <input type="text" id="doc-ipt-error" class="am-form-field"> </div> </form>

帶圖標的驗證

添加 .am-form-icon 和 .am-form-feedback

注意:Icon 的樣式針對 .am-form-group 單行排列編寫,多行的時候會出現位置不對的情況。

v2.3.1 中調整樣式,支持帶有 label 的情形。

 Copy
<form class="am-form"> <div class="am-form-group am-form-success am-form-icon am-form-feedback"> <input type="text" class="am-form-field" placeholder="驗證成功"> <span class="am-icon-check"></span> </div> <div class="am-form-group am-form-warning am-form-icon am-form-feedback"> <input type="text" class="am-form-field" placeholder="驗證警告"> <span class="am-icon-warning"></span> </div> <div class="am-form-group am-form-error am-form-icon am-form-feedback"> <input type="text" class="am-form-field" placeholder="驗證失敗"> <span class="am-icon-times"></span> </div> </form>

水平排列:

 Copy
<form class="am-form am-form-horizontal"> <div class="am-form-group am-form-success am-form-icon am-form-feedback"> <label for="doc-ipt-3-a" class="am-u-sm-2 am-form-label">電子郵件</label> <div class="am-u-sm-10"> <input type="email" id="doc-ipt-3-a" class="am-form-field" placeholder="輸入你的電子郵件"> <span class="am-icon-warning"></span> </div> </div> </form>

表單域大小

單個域的大小

在表單元素上添加以下類名:

  • am-input-lg
  • am-input-sm

適用於沒有 <label> 的表單,如果表單包含 <label> 且需要調整大小的,請往后看。

 Copy



<form class="am-form"> <input class="am-form-field am-input-lg" type="text" placeholder="添加了 .am-input-lg"> <br/> <input class="am-form-field" type="text" placeholder="默認的 input"> <br/> <input class="am-form-field am-input-sm" type="text" placeholder="添加了 .am-input-sm"> <br/> <div class="am-form-group am-form-select"> <select class=" am-input-lg"> <option value="">添加了 .am-input-lg</option> </select> </div> <div class="am-form-group am-form-select"> <select class=""> <option value="">select 默認大小</option> </select> </div> <div class="am-form-group am-form-select"> <select class=" am-input-sm"> <option value="">添加了 .am-input-sm</option> </select> </div> </form>

組大小

在 .am-form-group 的基礎上添加以下 class,也可以實現對表單大小的設置:

  • .am-form-group-sm
  • .am-form-group-lg

注意可輸入類型的 input 元素上需要添加 .am-form-field,不需要再添加 .am-input-sm 此類的 class。

 Copy
<form class="am-form am-form-horizontal"> <!-- am-form-group 的基礎上添加了 am-form-group-sm --> <div class="am-form-group am-form-group-sm"> <label for="doc-ipt-3-1" class="am-u-sm-2 am-form-label">電郵</label> <div class="am-u-sm-10"> <input type="email" id="doc-ipt-3-1" class="am-form-field" placeholder="輸入你的電子郵件"> </div> </div> <!-- am-form-group 的基礎上添加了 am-form-group-lg --> <div class="am-form-group am-form-group-lg"> <label for="doc-ipt-pwd-21" class="am-u-sm-2 am-form-label">密碼</label> <div class="am-u-sm-10"> <input type="password" id="doc-ipt-pwd-21" class="am-form-field" placeholder="設置一個密碼吧"> </div> </div> <div class="am-form-group am-form-group-sm"> <div class="am-u-sm-offset-2 am-u-sm-10"> <div class="am-checkbox"> <label> <input type="checkbox"> 記住十萬年 </label> </div> </div> </div> <div class="am-form-group"> <div class="am-u-sm-10 am-u-sm-offset-2"> <button type="submit" class="am-btn am-btn-default">提交登入</button> </div> </div> </form>

輸入框組

使用 .am-form-set 嵌套一系列 <input> 元素。

 Copy
<div class="am-g"> <div class="am-u-md-8 am-u-sm-centered"> <form class="am-form"> <fieldset class="am-form-set"> <input type="text" placeholder="取個名字"> <input type="text" placeholder="設個密碼"> <input type="email" placeholder="填下郵箱"> </fieldset> <button type="submit" class="am-btn am-btn-primary am-btn-block">注冊個賬號</button> </form> </div> </div>

參考鏈接

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM