使用CSS3的appearance属性改变元素的外观
前段時間在《修復iPhone上submit按鈕bug》中介紹了使用“-webkit-appearance: none; ”來改變按鈕在iPhone下的默認風格,其實我們可以反過來思路,使用“appearance”屬性,來改變任何元素的瀏覽器默認風格,簡單的說,你可以使用“appearance”屬性將“段落p”渲染成button的風格,也可以渲染成“輸入框”、“選擇框”等效果。
大家都知道每個瀏覽器對HTML元素渲染都不一樣,比如說“button”,在chrome和ff中,渲染出來的效果都是不盡相同的。這樣一來就有了今天這個思路,利用瀏覽器的對元素的默認渲染風格,我們可以使用“appearance”屬性對任何元素的渲染風格改變,最簡單的來說,我要把“a”鏈接默認顯示成“按鈕”風格,那么我們可以使用“appearance”設置為“button”。
“appearance”功能聽起來蠻大的,不過可惜的是,目前各個瀏覽器廠商各自為政,還無法達到統一的標準,至今天也只有兩個內核的瀏覽器可以使用,其一是“webkit”,其二是“ff”的,也就是說在使用“appearances”時,需要加上各瀏覽器廠前綴。
appearance使用方法:
.elmClass{-webkit-appearance: value; -moz-appearance: value; appearance: value; }接下來我們一起來看個簡單的實例:
<p class="lookLikeAButton">我是一個段落P元素 </p> <p class="lookLikeAListbox">我是一個段落P元素 </p> <p class="lookLikeAListitem">我是一個段落P元素 </p> <p class="lookLikeASearchfield">我是一個段落P元素 </p> <p class="lookLikeATextarea">我是一個段落P元素 </p> <p class="lookLikeAMenulist">我是一個段落P元素</p>接下來,使用“appearance”屬性來改變上面“P”元素的風格:
/*看起來像個按鈕,以按鈕的風格渲染*/ .lookLikeAButton{-webkit-appearance:button; -moz-appearance:button; } /*看起來像個清單盒子,以listbox風格渲染*/ .lookLikeAListbox{ -webkit-appearance:listbox; -moz-appearance:listbox; } /*看起來像個清單列表,以listitem風格渲染*/ .lookLikeAListitem{ -webkit-appearance:listitem; -moz-appearance:listitem; } /*看起來像個搜索框,以searchfield風格渲染*/ .lookLikeASearchfield{ -webkit-appearance:searchfield; -moz-appearance:searchfield; } /*看起來像個文本域,以textarea風格渲染*/ .lookLikeATextarea{ -webkit-appearance:textarea; -moz-appearance:textarea; } /*看起來像個下接菜單,以menulist風格渲染*/ .lookLikeAMenulist{ -webkit-appearance:menulist; -moz-appearance:menulist; }經過“appearance”的屬性值設置后,段落P的默認風格就被改變了,如圖所示:
當然上面的屬性只是“appearance”中的一部分,我搜集了一下webkit和Mozilla下的appearance給大家參考:
Webkit下的appearance屬性值
checkbox radio push-button square-button button button-bevel listbox listitem menulist menulist-button menulist-text menulist-textfield scrollbarbutton-up scrollbarbutton-down scrollbarbutton-left scrollbarbutton-right scrollbartrack-horizontal scrollbartrack-vertical scrollbarthumb-horizontal scrollbarthumb-vertical scrollbargripper-horizontal scrollbargripper-vertical slider-horizontal slider-vertical sliderthumb-horizontal sliderthumb-vertical caret searchfield searchfield-decoration searchfield-results-decoration searchfield-results-button searchfield-cancel-button textfield textareaMozilla下的appearance屬性值
none button checkbox checkbox-container checkbox-small dialog listbox menuitem menulist menulist-button menulist-textfield menupopup progressbar radio radio-container radio-small resizer scrollbar scrollbarbutton-down scrollbarbutton-left scrollbarbutton-right scrollbarbutton-up scrollbartrack-horizontal scrollbartrack-vertical separator statusbar tab tab-left-edge Obsolete tabpanels textfield textfield-multiline toolbar toolbarbutton toolbox -moz-mac-unified-toolbar -moz-win-borderless-glass -moz-win-browsertabbar-toolbox -moz-win-communications-toolbox -moz-win-glass -moz-win-media-toolbox tooltip treeheadercell treeheadersortarrow treeitem treetwisty treetwistyopen treeview window大家要是感興趣的話可以看看下面的相關介紹:
最后在提醒大家一回,目前在IE系列和Opera瀏覽器上不支持“appearance”,而且Safari也只有3.0版本以上支持,而在Chrome和Firefox以及移動設置瀏覽器上得到較好的支持。如果大家對此感興趣,自己可以私下一個下個嘗試上面的屬性值,給大家帶來何種效果。
如需轉載,煩請注明出處:http://www.w3cplus.com/css3/changing-appearance-of-element-with-css3.html
著作權歸作者所有。
商業轉載請聯系作者獲得授權,非商業轉載請注明出處。
原文:?https://www.w3cplus.com/css3/changing-appearance-of-element-with-css3.html???w3cplus.com
轉載于:https://www.cnblogs.com/xiaocaiyuxiaoniao/p/10070738.html
總結
以上是生活随笔為你收集整理的使用CSS3的appearance属性改变元素的外观的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 爬取网页小实例
- 下一篇: 大话设计模式-备忘录模式