国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > CSS > 正文

使用CSS3美化HTML表單的技巧演示

2020-03-24 16:01:40
字體:
來源:轉載
供稿:網友
表單是做網頁中很常使用到的元素,但預設的樣式都是丑丑的,筆者今天要教各位快速做出自訂的單/多選框樣式,讓您的表單硬是要跟別人不一樣。
基本 HTML 就是一個單選框元素加上標簽元素:XML/HTML Code復制內容到剪貼板
h3 性別(單選) /h3 div >每一個標簽元素中特過 for 屬性來跟單選框元素一一配對,當點擊到標簽元素時,則同時會觸發點擊到相對應的單選框。而我們不想要丑丑的單選框元素,所以筆者先用 CSS 將它隱藏起來。CSS Code復制內容到剪貼板
.abgne-menu-20140101-1input[type= radio ]{ display:none; }
.abgne-menu-20140101-1input[type= radio ]+label{ display:inline-block; background-color:#ccc; cursor:pointer; padding:5px10px; }
筆者只是做一些很簡單的樣式設計,同時加上自訂鼠標游標為 pointer,讓使用者知道它是可以點擊的。而比較特別的是 + 這個符號,它是相鄰兄弟選擇器(Adjacent Sibling Selector)。范例中要找的標簽元素是得要跟在單選框元素后的才行,若是改成 #male + label 的話:
就真的只有在 #male 后的下一個標簽元素才會有效果,其它更后面的兄弟元素則是不會有反應的唷。好啦~現在若沒問題的話,就會看到基本的樣式出來了:
最后只要再搭配 :checked 擬類別(Pseudo-html' target='_blank'>classes)就能收工下班啦!CSS Code復制內容到剪貼板
.abgne-menu-20140101-1input[type= radio ]:checked+label{ background-color:#f00; color:#fff; }
這邊是針對被點選到的單選框元素后的下一個標簽元素進行設定。整個完成后的樣式就變成了:
而多選框的自訂方式也可以依此類推來設定。XML/HTML Code復制內容到剪貼板
h3 專長(多選) /h3 div >CSS 的部份只要將 input[type= radio ] 改成 input[ checkbox ] 就可以了CSS Code復制內容到剪貼板
.abgne-menu-20140101-2input[type= checkbox ]{ display:none; } .abgne-menu-20140101-2input[type= checkbox ]+label{ display:inline-block; background-color:#ccc; cursor:pointer; padding:5px10px; } .abgne-menu-20140101-2input[type= checkbox ]:checked+label{ background-color:#f3d42e; }
下面則是要教大家如何憑空產生出單/多選框的元素囉。一樣是一個 radio 元素加一個專屬的 label 元素:
XML/HTML Code復制內容到剪貼板
.abgne-menu-20140109-1,.abgne-menu-20140109-1li{ list-style:none; margin:5px0; padding:0; } .abgne-menu-20140109-1label{ cursor:pointer; display:block; width:120px; position:relative; line-height:31px; } .abgne-menu-20140109-1input[type= radio ]{ display:none; }
這些部份在用 CSS3 做表單 - 自訂單/多選框樣式(一)中應該都有學過吧,就只是先把 radio 元素隱藏起來。接著,筆者要使用 ::after 擬元素(Pseudo-elements)在 lable 元素中產生用來代替單選框樣式的元素:CSS Code復制內容到剪貼板
.abgne-menu-20140109-1label::after{ content: No ; display:inline-block; width:25px; height:25px; line-height:25px; border-radius:50%; padding:3px; color:#FFF; background:#f00; text-align:center; margin-left:10px;/*跟文字產生距離*/ }
擬元素的內容是透過 content 屬性來指定的,且一樣能用 CSS 來裝置它。
仔細看一下 DevTools 的畫面:
雖然是叫 after,但其實是將元素產生并放置在 label 元素中,所以點擊到該元素也等同點擊到 label 元素。最后快來補上當 radio:checked 時的變化囉:CSS Code復制內容到剪貼板
.abgne-menu-20140109-1input[type= radio ]:checked+label::after{ content: Yes ; background:green; }
line-height:31px; padding-left:40px;/*加上距離*/ } .abgne-menu-20140109-1label::before{ content: No ; display:inline-block; width:25px; height:25px; line-height:25px; border-radius:50%; padding:3px; color:#FFF; background:#f00; text-align:center; position:absolute; left:0; } .abgne-menu-20140109-1input[type= radio ]:checked+label::before{ content: Yes ; background:green; }
其中 lable 元素的 padding-left 是為了跟擬元素產生距離以免靠的太近太擠~
多選框的做法也是一樣,只是將 radio 改成 checkbox 就可以了:CSS Code復制內容到剪貼板
.abgne-menu-20140109-2,.abgne-menu-20140109-2li{ list-style:none; margin:5px0; padding:0; } .abgne-menu-20140109-2label{ cursor:pointer; display:block; width:120px; position:relative; line-height:31px; } .abgne-menu-20140109-2label::after{ content: No ; display:inline-block; width:25px; height:25px; line-height:25px; border-radius:50%; padding:3px; color:#FFF; background:#f00; text-align:center; position:absolute; rightright:0; } .abgne-menu-20140109-2input[type= checkbox ]{ display:none; } .abgne-menu-20140109-2input[type= checkbox ]:checked+label::after{ content: Yes ; background:green; }更多編程語言

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 安西县| 庆阳市| 婺源县| 海口市| 乐山市| 库尔勒市| 罗江县| 霍林郭勒市| 台中县| 信丰县| 太湖县| 镇巴县| 金沙县| 昆明市| 射洪县| 富锦市| 巴彦县| 曲水县| 桐梓县| 三河市| 日喀则市| 黔南| 桦甸市| 罗平县| 祁连县| 德兴市| 青川县| 靖西县| 博罗县| 潮安县| 嵩明县| 洞口县| 芦山县| 自贡市| 威远县| 昌宁县| 湟源县| 五河县| 福州市| 额济纳旗| 拉孜县|