有没有一种方法可以完全删除Internet Explorer中按钮的样式?我使用css sprite作为按钮,一切看起来都很好。
但是,当我单击该按钮时,它稍微向顶部移动,使它看起来变形。是否有CSS单击状态或mousedown?我不知道是什么触发了这种状态。
我知道这不是什么大不了的事,但是有时候这只是小事。
Answers:
我假设当您说“ 单击按钮时,它会稍微移到顶部 ”,这是在谈论该按钮的鼠标向下单击状态,并且当您释放鼠标单击时,它会返回其正常状态?并使用以下命令禁用按钮的默认呈现:
input, button, submit { border:none; }
如果是这样的话..
就个人而言,我发现您实际上无法停止/覆盖/禁用此IE本机操作,这导致我稍微更改了标记以允许此移动,并且不影响按钮在各种状态下的整体外观。
这是我的最终加价:
<span class="your-button-class">
<span>
<input type="Submit" value="View Person">
</span>
</span>
我认为这提供了一种更彻底的方法:
button, input[type="submit"], input[type="reset"] {
background: none;
color: inherit;
border: none;
padding: 0;
font: inherit;
cursor: pointer;
outline: inherit;
}
<button>Example</button>
!important
。那就是说我已将其删除,因为这是一种情况决定。background: none
是完全有效的:stackoverflow.com/questions/20784292/...
<button/>
……就我而言,font: inherit;
这就是窍门。谢谢!
您的问题是“ Internet Explorer”,但是对于那些对其他浏览器感兴趣的人,您现在可以使用all: unset
按钮取消样式。
它在IE或Edge 18中不起作用,但在其他任何地方都得到很好的支持。
https://caniuse.com/#feat=css-all
Safari颜色警告:由于WebKit中的错误,color
使用后设置按钮的文本all: unset
在Safari 13.1中可能会失败。(该错误将在Safari 14及更高版本中修复。)“ 设置为黑色,并且覆盖了颜色。” 如果您需要在使用后设置文本,请务必将和设置为相同的颜色。all: unset
-webkit-text-fill-color
color
all: unset
color
-webkit-text-fill-color
无障碍警告:对于谁是不使用鼠标的用户着想,一定要重新添加一些:focus
样式,例如button:focus { outline: orange auto 5px }
为键盘辅助功能。
而且不要忘记cursor: pointer
。 all: unset
删除所有样式,包括cursor: pointer
,当您将鼠标悬停在按钮上时,该样式会使鼠标光标看起来像是指针。您几乎肯定会想把它带回来。
button {
all: unset;
color: blue;
-webkit-text-fill-color: blue;
cursor: pointer;
}
button:focus {
outline: orange 5px auto;
}
<button>check it out</button>
outline
样式:focus
。
outline
样式的建议。(但我不认为我们还需要再添加其他任何内容。您知道吗?)