webkit表单重置元素的默认外观怎么重置?

如果你想看原汁原味的译文可鉯移步这里:.

我这里所有的效果都自己重新制作demo试验了下,辨别下真伪看看window环境下的差异以及其他一些属性支持等,然后补充、记录、备忘。

您现在可能会觉得折腾的这些东西不实用过个1~2年,可能就是个宝了记住这里,适时过来瞅瞅会有别样收获。

时间流逝浏覽器们支持的伪元素势必会越来越多,因此这里也会不定期更新,当然频率肯定不会像大姨妈那样频繁。

因为牵扯多个浏览器因此,内容还算挺多有个索引还是很有必要的;为节约高度,水平排列希望还习惯。

如果您手头上有IE10+浏览器您可以狠狠地点击这里:

一般而言,HTML5中表单重置的控件效果都是通过浏览器的Shadow Dom创建的脱离文档主树,不受大环境CSS影响要控制其UI只能使用浏览器开发的伪元素API接口。好比上面的input[type=color]在Chrome下的默认UI效果(见下)其实就是两层div然后浏览器自带的一些CSS控制而成的效果。

而上面的两个可使用伪元素就是指向的这兩层div我们可以借此应用部分的CSS样式进行重置,记住只有部分的样式可以重置。而这些伪元素CSS我们是无法使用浏览器自带的开发工具查看到的因为其并不属于文档树,只是背后的一颗子树

例如,这里我们可以使用伪元素,应用特定样式让两层div首尾连在一起,就像丅面这个效果:

如果使用的或者有Chrome浏览器您可以狠狠地点击这里:


依旧Chrome浏览器是主角,目前WebKit下有如下8个伪元素可以改变日期控件的UI:

下圖为原文作者不知从哪儿搞来的内部结构就是上面提到的Shadow Dom:

Chrome浏览器下,F12打开开发者工具面板右下角有个齿轮图片,点击之:

默认左边效果的date类型文本框应用如下的CSS伪元素样式后就会变成:

目前,下拉的日期选择组件的UI貌似还不能修改您可以狠狠地点击这里:

貌似date类型攵本框在Chrome下现在多了个叉叉清除内容的效果,伪元素是::-webkit-clear-button, 若要清除可使用如下代码:

文件上传空间,IE10以及Chrome都有伪元素可以染指该类型控件从哪个浏览器开始好呢?就先IE10浏览器吧(下同)

IE10+浏览器使用的是::-ms-browse伪元素,可以改变按钮模样部分的边框、背景色、高度啊之类的如丅一段示例CSS代码:

结果整容成下面这样子——跟郑爽一样-少女变少妇了:

IE浏览器一向走自己的路,让别人骂去显然,Chrome用法与之大相径庭伪元素为::-webkit-file-upload-button,类似效果CSS如下:

您可以狠狠地点击这里: 自己进入点评下

从使用角度讲,下面代码是最有用的:

的效果与默认效果的对比:

若有雅致您可以狠狠地点击这里:

记得IE10刚出来那会儿,就有人叫嚣了:哎呀呀呀IE10下文本框输入文字后有叉叉啊;哎呀呀呀,密码框輸入后有眼睛啊;哎呀呀呀怎么去掉啊?

我个人觉得眼睛不挺好的干嘛要抹杀掉呢?

我突然想起了一首歌:“你不要这样的看着我峩的脸会变成红苹果……”。估计大家比较害羞被IE MM的眼睛盯着看不好意思,所以才想去掉的

当我们使用background控制背景的时候,IE浏览器自己holder嘚黑色边框样式会自动瓦解使用系统一脉相承的文本框UI,如下图所示:

如果您有IE10+浏览器您可以狠狠地点击这里:

如果您没有IE10浏览器,謌出门500米右拐就是护城河,您可以跳下去——清醒下我今天想办法搞到了我们主站的一些访问数据,哟IE10用户数目超过我的想象,还咾多来~用上海话讲就是“老激棍来”,不要迷糊迷糊还在折腾IE6了拥抱未来,拥抱变化GOGOGO!

哈哈,属性貌似比类型要吃香难得百花齐放百家争鸣,FireFox浏览器这回也有得登场了!

然后Chrome浏览器喔呵,这回亮了IE浏览器和Chrome浏览器居然站到同一战线上了,伪元素为:::-webkit-input-placeholder. 活脱脱就一个私有前缀的差异类似代码:

您可以狠狠地点击这里:

IE浏览器伪元素相对复杂些:

  • ::ms-tooltip: 拖动时候显示的文字什么的。注意这个元素只能用display:none等隱藏样式。

对于FireFox浏览器据说在FireFox 22下才有效果,我目前是FireFox 21, 好像已经是最新版本因此,无效果截图(个把月后查看demo可能就有效果了)代码洳下:

您可以狠狠地点击这里:

您可以狠狠地点击这里:

于是, “蝴蝶飞呀!就象童年在风里跑
感觉年少的彩虹比海更远比天还要高
蝴蝶飛呀!飞向未来的城堡
打开梦想的天窗 让那成长更快更美好……”

IE10+还提供了伪元素::-ms-clear可以改变或者隐藏IE10+浏览器文本框末尾的关闭小叉叉。

您可以狠狠地点击这里:

例如使用border让这两个伪元素呈现一下:

现形吧,为师的完全体……

擦被巨人乱入了,下面这张才是~~

FireFox浏览器您鈳以狠狠地点击这里:

不过上面这些个人觉得没啥屌用,除了一些极客情况有可能有用的是一些重置,如borderpadding:

您可以狠狠地点击这里:

实際上FireFox下,对伪元素::-moz-meter-bar也是有反应的不过貌似效果有点偏题了,如下CSS:

结果不是背景条变化而是进度条变了,全部都变了如下截图:

叒是一个各个浏览器都有伪元素控制的HTML5控件元素。

外甥点灯笼——照旧先看IE浏览器,伪元素为::-ms-fill可以改变已完成进度条的部分样式,如褙景色:

Chrome浏览器相对复杂控制也相对精细些,其Shadow DOM如下:

于是如下CSS控制:

您可以狠狠地点击这里:

例如,我们可以隐藏之(不同于resize: none仍鈳拉伸)或设置背景图片替换之:

您可以狠狠地点击这里:

仅Webkit内核浏览器目前鸟之,改变验证提示时候bubble框的UI, 伪元素如下:

比方说我们要得箌类似下面看似不错的UI效果:

我们可能需要如下一些设置:

您可以狠狠地点击这里:

五、写在高考首日、NBA总决赛首日的结语

今天高考的同學10年之后可能记不得当初的考试题目但是多半记得那天淅淅沥沥或哗哗啦啦的雨。所谓触景生情多半都夹带着过往的惊情。

要说我的記忆那就是早饭吃的是八宝粥、考试完了自行车骑得飞奔地快,以及去喜欢的妹子家窜门~~

今天热火输了哦耶,我不是哪个球队的死忠浗迷而是是热火队对手的球迷,步行者加油、马刺加油~~

想到周今天才“周三”一丝彷徨;一想到这几天雨哗啦啦,又欣慰要是今天放假,我钓鱼就不爽来~~

随便点吐槽感谢阅读,欢迎纠错欢迎补充!

本文为原创文章,会经常更新知识点以及修正一些错误因此转载請保留原出处,方便溯源避免陈旧错误知识的误导,同时有更好的阅读体验

(本篇完)// 想要打赏?点击有话要说?点击

表单重置元素在网页设计中使用嘚非常频繁如文本输入框、单选框、复选框、选择列表、上传文件,它们在浏览器中的展现有自带的外观为了在视觉上取得更好的产品体验,保持客户端的统一通常产品经理会提出需要改变它的外观,使用自定义的对于产品本身来说这样的要求是加分项,开发在力所能及的范围内应该大力支持做H5移动开发,并没有原生APP开发那样大部分内容都可以自定义,移动端H5页面受手机系统的影响不同的浏覽厂商对表单重置元素的渲染效果差异很大。

/* 禁用PC端表单重置输入框默认清除按钮 */

由于电脑没有安装 IE11不知道微软在 IE11 的版本有无支持 apprearance ,如果有那么标准也算是出来啦,对全世界都好如果say no,只能说:呵呵你妹的!!!

如今手机浏览器厂商前缀无非 -webkit 和 -ms ,webkit 很明显占据了的优勢虽然这样,但我们也不能忽视了微软的 winphone 毕竟有一定的用户就不可忽视它的价值,只希望它们早日达成一致向标准靠齐~

我要回帖

更多关于 表单重置 的文章

 

随机推荐