Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html 在小输入元素中显示IE::ms clear伪元素?_Html_Css_Internet Explorer_Pseudo Element - Fatal编程技术网

Html 在小输入元素中显示IE::ms clear伪元素?

Html 在小输入元素中显示IE::ms clear伪元素?,html,css,internet-explorer,pseudo-element,Html,Css,Internet Explorer,Pseudo Element,我有几个日期和文本的输入元素。 如果其宽度大于94px,则会显示“X”::-ms clear,但我的一些输入较小 有没有办法让IE显示“X”,即使输入元素只有50-60px宽?该解决方案应适用于IE9及更高版本。您最好的选择是禁用自定义清除按钮,并提供您自己的清除按钮。您可以按如下方式禁用Internet Explorer和Microsoft Edge中的“清除”按钮: :-ms清除{显示:无} 但是,这不会禁用其他浏览器(如谷歌浏览器)中的自定义清除按钮。在Chrome中,您需要针对不同的伪

我有几个日期和文本的输入元素。 如果其宽度大于94px,则会显示“X”::-ms clear,但我的一些输入较小


有没有办法让IE显示“X”,即使输入元素只有50-60px宽?该解决方案应适用于IE9及更高版本。

您最好的选择是禁用自定义清除按钮,并提供您自己的清除按钮。您可以按如下方式禁用Internet Explorer和Microsoft Edge中的“清除”按钮:

:-ms清除{显示:无}
但是,这不会禁用其他浏览器(如谷歌浏览器)中的自定义清除按钮。在Chrome中,您需要针对不同的伪元素:

::-webkit搜索取消按钮{
-webkit外观:无;
}
Chrome和Microsoft Edge都理解上述模式。对于Internet Explorer,您还需要继续使用前面的
:-ms clear
元素

隐藏这些元素后,我们现在可以提供自己的:


✕;
然后,我们可以使用事件委派拦截
上的单击事件。在父级
上清除

var form=document.querySelector(“表单”);
form.addEventListener(“单击”),函数(事件){
event.preventDefault();
如果(event.target.className==“清除”){
event.target.previousElementSibling.value=“”;
}
});

您可以在线查看最终结果。

非常感谢,我将尝试这种方法。我认为这意味着使用ms clear元素根本不可能得到相同的结果。@PeterMueller在我最初的尝试中,当输入宽度小于82px时,我无法显示该元素。