从输入类型日期中删除“X”(清除按钮)并更改 Firefox 中的字体系列

Posted

技术标签:

【中文标题】从输入类型日期中删除“X”(清除按钮)并更改 Firefox 中的字体系列【英文标题】:Remove the 'X' (clear button) from the input type date and change the font family in Firefox 【发布时间】:2018-05-02 05:47:25 【问题描述】:

我的表单中有一个输入类型字段,但在 Firefox 中,当我在输入中设置了日期值时,我无法删除出现的 X 图标(清除按钮)。

此外,我无法更改该输入中的字体系列。好像是 Courier 字体家族,而不是 Arial 字体家族,目前整个网站都设置为默认字体。

【问题讨论】:

您能否更具体地了解字体问题?在元素检查器的“.datetime-reset-button”中写入“font-family : Arial”不起作用? 【参考方案1】:

无法删除 FireFox 中的清除按钮。 ::ms-clear 功能仅适用于 Microsoft 浏览器,如 MDN 文档中所述。

【讨论】:

【参考方案2】:

X 或清除按钮

即使引用清除按钮的类可以通过 Shadow DOM 检查找到(即 datetimebox.css 中的 .datetime-reset-button):

检查器/开发工具工作中的直接更改(例如,将display: none 添加到类中)shadow root access and shadow elements manipulation/attachment is not allowed in <input> tags,如果myInput.attachShadow(mode: 'open') 是,则导致“DOMException:不支持操作”尝试过(例如:host-context MDN example)。

另一种方法/解决方法是通过::after在输入的容器上放置覆盖图像/背景:

@-moz-document url-prefix()  /* apply rules only to Firefox */
  .my-datetime-input-container::after 
    content: "";
    position: absolute;
    top: 42%;
    right: 0.25rem;
    background: url(/images/overlay.svg) white no-repeat;
     /* or simply use background: white; */
    background-size: 1rem;
    width: 1rem;
    height: 1rem;
  

此叠加层可防止点击/点击 Shadow DOM 清除按钮,因为它实际上是在覆盖它(需要不透明背景才能完全隐藏它)。

字体系列问题

更改输入的字体,可能是一个特殊性问题,尝试更具体的选择器可能足以应用规则:

.my-datetime-input-container input[type="date"].my-specific-class 
  font-family: inherit;

地点:

<div class="my-datetime-input-container">
  <input type="date" class="my-specific-class" />
</div>

【讨论】:

【参考方案3】:

我想你可以试试这个:

input[type=text]::-ms-clear 
  display: none;

但是文档警告::-ms-clear CSS 伪元素。

非标准此功能是非标准的,不在标准中 追踪。不要在面向 Web 的生产站点上使用它:它不会 为每个用户工作。之间也可能存在很大的不兼容 未来的实现和行为可能会发生变化。

检查这个:https://developer.mozilla.org/en-US/docs/Web/CSS/%3A%3A-ms-clear

【讨论】:

不幸的是,它不起作用。无论如何,谢谢你的回复。 也许我写错了输入类型,正如你提到的日期值,也试试 [type=date] -ms 是 Microsoft 前缀,支持表也显示了很多。

以上是关于从输入类型日期中删除“X”(清除按钮)并更改 Firefox 中的字体系列的主要内容,如果未能解决你的问题,请参考以下文章

选择日期后如何在 html 5 [input type="date"] 中删除 X 标记(清除按钮)

删除某些输入上 IE10 的“清除字段”X 按钮?

Laravel 输入类型搜索取消按钮提交表单

清除下拉菜单后自动清除单元格+修复本地时间

从 Internet Explorer 中删除清除和显示密码图标

只要按下键盘上的x按钮,如何从一个文本字段中删除值