加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 资源网站 > 资源 > 正文

html – 如何在Webkit和Gecko的文本输入上删除额外的,不同的伪填

发布时间:2020-12-14 19:01:15 所属栏目:资源 来源:网络整理
导读:问题只发生在Webkit中的input [type =“text”]上.不管我做什么,相当于一个额外的填充:元素上的1px 0 0 1px(仅上和左). 类似的问题发生在Gecko中,输入[type =“text”]有一个等效的额外填充:1px 0 0 1px,输入[type =“button”]有一个额外的填充:1px 0 0
问题只发生在Webkit中的input [type =“text”]上.不管我做什么,相当于一个额外的填充:元素上的1px 0 0 1px(仅上和左).

类似的问题发生在Gecko中,输入[type =“text”]有一个等效的额外填充:1px 0 0 1px,输入[type =“button”]有一个额外的填充:1px 0 0 0.

这是一个JSFiddle,显示了我尝试过的一切,没有任何作用:http://jsfiddle.net/PncMR/10/

有趣的是,当您将所有元素的线高设置为0(http://jsfiddle.net/PncMR/11/)时,唯一未受影响的元素是有问题的元素,因此我假设浏览器默认为特定的线高,现在正在寻找一种方法来覆盖它.

我没有发现任何这样做的webkit基础样式,但随时检查一下自己:

http://trac.webkit.org/browser/trunk/Source/WebCore/css/html.css

这不是一个moz焦点内部的问题,或外观:没有问题,或者是盒子大小的问题,或大纲问题,我找不到任何其他解决方案.

编辑:请看下面的垂直填充问题的答案,但是我仍然在寻找一个额外的padding-left的解决方案:仅在webkit和gecko中的文本输入上相当于1px. (http://jsfiddle.net/PncMR/14/)

解决方法

在Webkit中

Webkit中输入[type =“text”]上的额外垂直“padding”是因为您不能给文本输入一个小于正常值的线高值,这不是一个特定的值but varies depending on the typeface.

我知道这是原因,但我无法找到输入将获得此样式的位置,因为它不会出现在Webkit UA样式表中.

在壁虎

Gecko中输入[type =“text”]和input [type =“button”]上的额外垂直“padding”是由于user-agent样式表包含:

input {
    line-height: normal !important;
}

和!用户代理样式表cannot be overidden in any way中的重要声明.

结论

你不能在线高度下:在Webkit中是正常的,并且您不能在Gecko中的这些元素上具有除line-height之外的任何东西:正常的,所以最好的解决方案是总是使用line-height来定义这些元素:normal获得最佳的一致性,这不是一个很好的解决方案.理想情况下,我们可以覆盖所有的UA风格.

这两个都不会影响两个渲染引擎中只显示在输入[type =“text”]上的文本缩进的额外1px.

关心这个的人应该就这两个Bugzilla主题发表意见:

> https://bugzilla.mozilla.org/show_bug.cgi?id=697451
> https://bugzilla.mozilla.org/show_bug.cgi?id=349259

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读