各ブラウザーで HTML 要素のレンダリングが異なることは誰もが知っています。たとえば、「ボタン」のレンダリング効果は Chrome と FF で異なります。これにより、ブラウザの要素のデフォルトのレンダリング スタイルを使用して、要素のレンダリング スタイルを変更できます。最も簡単に言うと、「」に表示される「a」リンクをデフォルトにしたいのです。 button" スタイルの場合、"button" に設定された "Appearance" を使用できます。
「外観」機能は非常に優れているように聞こえますが、残念なことに、現在、各ブラウザ メーカーは独自に開発を行っており、統一された標準に達することができません。そのうちの 1 つは「webkit」、もう 1 つは 2 つのコア ブラウザのみです。 1 つは「ff」です。これは、「Appearance」を使用する場合、各ブラウザ ファクトリのプレフィックスを追加する必要があることを意味します。
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 のデフォルトのスタイルが変更されます。
もちろん、上記の属性は、Webkit と Mozilla での外観を収集したものにすぎません。参照:
Webkit の外観属性値
checkboxradiopush-buttonsquare-buttonbuttonbutton-bevellistboxlistitemmenulistmenulist-buttonmenulist-textmenulist-textfieldscrollbarbutton-upscrollbarbutton-downscrollbarbutton-leftscrollbarbutton-rightscrollbartrack-horizontalscrollbartrack-verticalscrollbarthumb-horizontalscrollbarthumb-verticalscrollbargripper-horizontalscrollbargripper-verticalslider-horizontalslider-verticalsliderthumb-horizontalsliderthumb-verticalcaretsearchfieldsearchfield-decorationsearchfield-results-decorationsearchfield-results-buttonsearchfield-cancel-buttontextfieldtextarea
Mozilla の外観属性値
nonebuttoncheckboxcheckbox-containercheckbox-smalldialoglistboxmenuitemmenulistmenulist-buttonmenulist-textfieldmenupopupprogressbarradioradio-containerradio-smallresizerscrollbarscrollbarbutton-downscrollbarbutton-leftscrollbarbutton-rightscrollbarbutton-upscrollbartrack-horizontalscrollbartrack-verticalseparatorstatusbartabtab-left-edge Obsoletetabpanelstextfieldtextfield-multilinetoolbartoolbarbuttontoolbox-moz-mac-unified-toolbar-moz-win-borderless-glass-moz-win-browsertabbar-toolbox-moz-win-communications-toolbox-moz-win-glass-moz-win-media-toolboxtooltiptreeheadercelltreeheadersortarrowtreeitemtreetwistytreetwistyopentreeviewwindow
興味がある場合は、次の関連する紹介文を参照してください:
Mozilla Docs for -moz-外観
トレント・ウォルトンが Webkit の外観について語る
ショーン・インマンが iPad のテキスト入力の内部テキストシャドウの無効化について語る
CSS3 仕様
CSS プロパティ: -webkit-Appearance
最後に、皆さんに、現時点ではそうではないことを思い出していただきたいと思います。 IE シリーズと Opera ブラウザの「外観」でサポートされており、Safari はバージョン 3.0 以降でのみサポートされていますが、Chrome、Firefox、およびモバイル設定ブラウザではより適切にサポートされています。これに興味がある場合は、上記の属性値を 1 つずつ非公開で試して、それらがどのような効果をもたらすかを確認してください。