如何在Opera中删除input中的箭头

只是想删除这些箭头,方便在某些情况下。

我想保留浏览器对纯粹数字内容的认识。 所以改变它input[type="text"]是不可接受的解决scheme。


既然Opera是基于webkit的,那么这个问题就成了一个难题: 我可以隐藏HTML5数字input框吗?

我一直在使用一些简单的CSS,它似乎删除它们,并正常工作。

 input[type=number]::-webkit-inner-spin-button, input[type=number]::-webkit-outer-spin-button { -webkit-appearance: none; -moz-appearance: none; appearance: none; margin: 0; } 

本教程从CSS技巧详细解释和也显示如何样式他们

这些箭头是Shadow DOM的一部分,它们基本上是页面上的DOM元素,它们是隐藏的。 如果您对这个想法不熟悉, 可以在这里find一个很好的介绍性阅读。

大部分情况下,Shadow DOM为我们节省了时间,而且效果很好。 但有些情况下,像这个问题,你想修改它。

您可以使用正确的select器在Webkit中进行修改,但这仍然处于开发的早期阶段。 Shadow DOM本身还没有统一的select器,所以webkitselect器是专有的(不像其他情况下,它不仅仅是一个追加-webkit的问题)。

正因为如此,Opera似乎还没有到处添加这个function。 不过,查找有关Opera Shadow DOM修改的资源是非常困难的。 我发现一些不可靠的互联网资源都表示或暗示Opera目前不支持Shadow DOM操作。

我花了一些时间浏览Opera网站,看看是否有任何提及,并试图在蜻蜓find他们…没有search有任何运气。 由于在这个问题上的沉默,以及Shadow DOM + Shadow DOM操作的发展本质,似乎是一个安全的结论,你至less现在不能在Opera中做到这一点。

不可能。

这个问题基本上是重复的有没有办法隐藏谷歌浏览器和Opera中显示的新的HTML5旋转框控件? 但可能不是完整的重复,因为动机是给定的。

如果目的是“浏览器意识到内容是纯粹的数字”,那么你需要考虑那些真正的意思。 箭头或旋钮是在某些情况下使数字input更舒适的一部分。 另一部分是检查内容是否是有效的数字,并且在支持HTML5input增强function的浏览器上,您可以使用pattern属性来完成此操作。 该属性也可能会影响第三个inputfunction,即可能出现的虚拟键盘的types。

例如,如果input的数据应该是五位数字(比如某些国家的邮政编号),那么<input type="text" pattern="[0-9]{5}">就足够了。 如何处理它当然是依赖于实现的。