前段时间,公司有个紧急发布会,需要在移动端做一个邀请函的页面。但是在实现下拉框的时候,IOS和安卓展示的效果总是不一样。经过我一番查找,偶然间发现了-webkit-appearance这个样式属性。后来仔细研究了一下,现在和大家分享一下。

先来介绍一下这个属性:

appearance:来改变任何元素的浏览器默认风格,简单的说,你可以使用“appearance”属性将“段落p”渲染成button的风格,也可以渲染成“输入框”、“选择框”等效果。怎么样,光看到这里就感觉到够牛逼了吧。

接下来看看用法:

  1. .test{
  2. -webkit-appearance: value;
  3. -moz-appearance: value;
  4. appearance: value;
  5. }

接下来我们一起来看个简单的实例:

  1. <p class="lookLikeAButton">我是一个段落P元素 </p>
  2. <p class="lookLikeAListbox">我是一个段落P元素 </p>
  3. <p class="lookLikeAListitem">我是一个段落P元素 </p>
  4. <p class="lookLikeASearchfield">我是一个段落P元素 </p>
  5. <p class="lookLikeATextarea">我是一个段落P元素 </p>
  6. <p class="lookLikeAMenulist">我是一个段落P元素</p>

接下来,使用“appearance”属性来改变上面“P”元素的风格:

  1. /*看起来像个按钮,以按钮的风格渲染*/
  2. .lookLikeAButton{
  3. -webkit-appearance:button;
  4. -moz-appearance:button;
  5. }
  6. /*看起来像个清单盒子,以listbox风格渲染*/
  7. .lookLikeAListbox{
  8. -webkit-appearance:listbox;
  9. -moz-appearance:listbox;
  10. }
  11. /*看起来像个清单列表,以listitem风格渲染*/
  12. .lookLikeAListitem{
  13. -webkit-appearance:listitem;
  14. -moz-appearance:listitem;
  15. }
  16. /*看起来像个搜索框,以searchfield风格渲染*/
  17. .lookLikeASearchfield{
  18. -webkit-appearance:searchfield;
  19. -moz-appearance:searchfield;
  20. }
  21. /*看起来像个文本域,以textarea风格渲染*/
  22. .lookLikeATextarea{
  23. -webkit-appearance:textarea;
  24. -moz-appearance:textarea;
  25. }
  26. /*看起来像个下接菜单,以menulist风格渲染*/
  27. .lookLikeAMenulist{
  28. -webkit-appearance:menulist;
  29. -moz-appearance:menulist;
  30. }

经过“appearance”的属性值设置后,段落P的默认风格就被改变了,如图所示:

当然上面的属性只是“appearance”中的一部分,我搜集了一下webkit和Mozilla下的appearance给大家参考:

Webkit下的appearance属性值

  1. heckbox
  2. radio
  3. push-button
  4. square-button
  5. button
  6. button-bevel
  7. listbox
  8. listitem
  9. menulist
  10. menulist-button
  11. menulist-text
  12. menulist-textfield
  13. scrollbarbutton-up
  14. scrollbarbutton-down
  15. scrollbarbutton-left
  16. scrollbarbutton-right
  17. scrollbartrack-horizontal
  18. scrollbartrack-vertical
  19. scrollbarthumb-horizontal
  20. scrollbarthumb-vertical
  21. scrollbargripper-horizontal
  22. scrollbargripper-vertical
  23. slider-horizontal
  24. slider-vertical
  25. sliderthumb-horizontal
  26. sliderthumb-vertical
  27. caret
  28. searchfield
  29. searchfield-decoration
  30. searchfield-results-decoration
  31. searchfield-results-button
  32. searchfield-cancel-button
  33. textfield
  34. textarea

Mozilla下的appearance属性值

  1. none
  2. button
  3. checkbox
  4. checkbox-container
  5. checkbox-small
  6. dialog
  7. listbox
  8. menuitem
  9. menulist
  10. menulist-button
  11. menulist-textfield
  12. menupopup
  13. progressbar
  14. radio
  15. radio-container
  16. radio-small
  17. resizer
  18. scrollbar
  19. scrollbarbutton-down
  20. scrollbarbutton-left
  21. scrollbarbutton-right
  22. scrollbarbutton-up
  23. scrollbartrack-horizontal
  24. scrollbartrack-vertical
  25. separator
  26. statusbar
  27. tab
  28. tab-left-edge Obsolete
  29. tabpanels
  30. textfield
  31. textfield-multiline
  32. toolbar
  33. toolbarbutton
  34. toolbox
  35. -moz-mac-unified-toolbar
  36. -moz-win-borderless-glass
  37. -moz-win-browsertabbar-toolbox
  38. -moz-win-communications-toolbox
  39. -moz-win-glass
  40. -moz-win-media-toolbox
  41. tooltip
  42. treeheadercell
  43. treeheadersortarrow
  44. treeitem
  45. treetwisty
  46. treetwistyopen
  47. treeview
  48. window

声明:本文主要参考 http://www.w3cplus.com/css3/changing-appearance-of-element-with-css3.html

-webkit-appearance改变任何元素的浏览器默认风格的更多相关文章

  1. 改变按钮在iPhone下的默认风格

    -webkit-appearance: none; "来改变按钮在iPhone下的默认风格,其实我们可以反过来思路,使用"appearance"属性,来改变任何元素的浏览 ...

  2. CSS改变浏览器默认滚动条样式

    前言 最近总是看到某网站滚动条不是浏览器默认样式,而是自定义样式   比如我博客的滚动条,自定义滚动条样式和hover前后的效果 顿时来了兴致和有一个疑问,这是怎么实现的呢? 解决   注:经测试,目 ...

  3. 用纯css改变下拉列表select框的默认样式

    http://ourjs.com/detail/551b9b0529c8d81960000007 在这篇文章里,我将介绍如何不依赖JavaScript用纯css来改变下拉列表框的样式. 问题的提出 事 ...

  4. 浏览器默认样式(user agent stylesheet)+cssreset

    每种浏览器都有一套默认的样式表,即user agent stylesheet,在写网页时,没有指定的样式,按浏览器内置的样式表来渲染.这是合理的,像word中也有一些预留样式,可以让我们的排版更美观整 ...

  5. [转载]用纯css改变下拉列表select框的默认样式

    在这篇文章里,我将介绍如何不依赖JavaScript用纯css来改变下拉列表框的样式. 问题的提出 事情是这样的,您的设计师团队向您发送一个新的PSD(Photoshop文档),它是一个新的网站的最终 ...

  6. 用纯css改变下拉列表select框的默认样式(转)

    用纯css改变下拉列表select框的默认样式 分享到 分类 JS学习   关键字 前端   发布 kris  2015-04-01 注意 转载须保留原文链接,译文链接,作者译者等信息.     在这 ...

  7. 浏览器默认标签样式总结及css初始化程序(转)

    浏览器默认标签样式总结及css初始化程序   html中的大部分的标签都有一些糟糕的样式,有的是标签天然自带的,有的是浏览器默认设置的,我们在写网页时,这些默认的样式就会时不时的跳出来捣一下乱,搞得我 ...

  8. 如何改变 select 元素的高度

    mozilla 对于美化 select 元素的样式有这样一段描述(用 CSS 美化 Select 元素): 众所周知,select 元素很难用 CSS 进行高效的设计.你可以影响任何元素的某些方面 - ...

  9. 用纯css改变下拉列表select框的默认样式(不兼容IE10以下)

    在这篇文章里,我将介绍如何不依赖JavaScript用纯css来改变下拉列表框的样式.     事情是这样的,您的设计师团队向您发送一个新的PSD(Photoshop文档),它是一个新的网站的最终设计 ...

随机推荐

  1. Spring+SpringMVC+Mybatis+MAVEN+Eclipse+项目完整环境搭建

    1.新建一个Maven项目,创建父项目. 2.创建子项目模块 3.创建javaWeb项目 4.创建后的项目目录结构 5.Maven文件配置 parent父项目pom.xml文件配置 <?xml ...

  2. Jquery学习笔记1-jquery总体代码框架

    第一次在博客中记录自己的笔记,希望能坚持下去吧,加油! 今天学习的是Jquery的源代码,官网上下载,然后使用DW(dream waver)编辑器打开Js(下载的是未压缩版),版本是2.0.3.第一次 ...

  3. Spring4.0学习笔记(9) —— Spring泛型依赖注入

    1.定义基础仓库 package com.spring.generic.di; public class BaseRepository<T> { } 2.定义基础服务层 package c ...

  4. oracle通过query导出指定条件的数据

    通过下面的方式oracle可以导出指定了条件的数据: exp mixcoaldb/mixcoaldb@server tables=(shengcssjk) query=\"where to_ ...

  5. gchart 插件API

    data: 一个二维数组,参数类型如下:[[, , ], [, , ], [, , ]] size: 图片显示的大小 ( width x height ) 300x200 type: 前面已经说过了 ...

  6. MYSQL 存储过程1、SQL存储过程的基础知识

    在深入理解MySq之前,我们先理下一些简单的问题 Q:什么是存储过程?(stored procedure) A:是一段写好的SQL代码,特别的就是它是存在数据库的目录里.所以外部程序可以直接调用数据库 ...

  7. GFStableList Adapter

    STL中,list的优点是插入.删除性能极佳(时间复杂度只需O(1)即可),而且非常重要的在删除节点后,其迭代器不失效,但list查找却不擅长.map由于其实现的数据结构为rb-tree,因此,其插入 ...

  8. Day2 数据类型

    1.数字:int(整型) 32位机器:-2**31~2**31-1 64位机器:-2**63~2**63-1 float(浮点型) 2.布尔值 真或假 1或0 bool(0) 3.字符串 name = ...

  9. USACO1.5 Checker Challenge(类n皇后问题)

    B - B Time Limit:1000MS     Memory Limit:16000KB     64bit IO Format:%lld & %llu   Description E ...

  10. Matlab 数理统计

    1.离散随机分布 超几何分布:M:产品总数;K:次品数;N:抽样数. hygepdf(X, M,K,N):计算超几何分布的密度. 例:hygepdf(1,10,1,3),执行结果为ans=0.3000 ...