Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/83.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 可以通过纯css禁用输入字段吗?_Html_Css_Forms_Button - Fatal编程技术网

Html 可以通过纯css禁用输入字段吗?

Html 可以通过纯css禁用输入字段吗?,html,css,forms,button,Html,Css,Forms,Button,与html标记上的属性禁用类似 我对禁用的效果不感兴趣,比如不包含在表单的帖子中,当然可以在css中重做样式,如果它看起来被禁用的话。(我的输入字段是一个提交按钮,因此禁用POST是不相关的。) 我只需要它是不可接近的,看起来残疾 在纯css中,不在html标记上添加属性,这是否可行?您可以将其设置为禁用,但不能阻止仅使用css即可单击它。一个可怕的方法是覆盖一个div或其他元素,然后按钮就不可点击了。不,你不能仅仅通过CSS禁用它的功能(因为它只是为了样式化),尽管你可以使用CSS使它看起来像

html标记上的属性
禁用类似

我对禁用的效果不感兴趣,比如不包含在表单的帖子中,当然可以在css中重做样式,如果它看起来被禁用的话。(我的输入字段是一个提交按钮,因此禁用POST是不相关的。)

我只需要它是不可接近的,看起来残疾


在纯css中,不在html标记上添加属性,这是否可行?

您可以将其设置为禁用,但不能阻止仅使用css即可单击它。一个可怕的方法是覆盖一个div或其他元素,然后按钮就不可点击了。

不,你不能仅仅通过CSS禁用它的功能(因为它只是为了样式化),尽管你可以使用CSS使它看起来像一个禁用的按钮一样变灰。要在功能上禁用它,您必须求助于JavaScript


使用CSS,您所能做的就是通过CSS将您的按钮设置为灰色,然后在其上创建另一个元素,使其
z索引
更高,将
位置
透明度
设置为完全透明。这意味着您的实际元素已启用,但无法单击它,因为它上面的元素是完全透明的


另一个解决方案是只添加
指针事件:无应该适用于大多数浏览器

你可以用下面的方式做

。输入禁用{
指针事件:无;
边框:1px纯灰;
背景颜色:浅灰色;
}
输入[类型=文本]{
高度:30px;
宽度:180px;
填充:10px;
}

您可以添加以下CSS,以禁用任何指针事件。这也将禁用悬停、聚焦等

.style { 
   pointer-events: none; 
}

为什么使用CSS而不禁用
只读属性?我很想知道一个合法的例子,为什么颠覆标准和避免使用html属性是有意义的。我能想到的唯一方法是在按钮顶部放置一个div,然后以0.01的透明度显示或隐藏该div,我认为这会使按钮不可点击。您可以根据按钮的状态将divs display属性更改为block/none可能的副本-如果您不介意用户使用tab hacks访问输入字段,则接受的答案有效,否则我认为答案很糟糕。我同意。我认为这是不可能的,而且解决方法非常糟糕,所以我可以在代码中使用额外的JS行来添加该标记。对巴迪亚来说,好吧,这是不可能的。谢谢你们两位的回答。@ste偶:如果它能满足您的需要,有一种方法,请参阅我的最后一段:)如果它需要编辑HTML(添加另一个元素),那么最好只使用
disabled
属性,而不用麻烦使用不稳定的hack。太糟糕了,
:after/:before
对输入不起作用。