有没有一种方法可以在Internet Explorer中完全删除按钮的样式?我使用了一个CSS精灵来制作我的按钮,一切看起来都很好。
但是当我点击按钮时,它会稍微向上移动,这使得它看起来失去了形状。是否有CSS点击状态或鼠标按下状态?我不知道是什么触发了那个状态。
我知道这不是什么大问题,但有时小细节也很重要。
有没有一种方法可以在Internet Explorer中完全删除按钮的样式?我使用了一个CSS精灵来制作我的按钮,一切看起来都很好。
但是当我点击按钮时,它会稍微向上移动,这使得它看起来失去了形状。是否有CSS点击状态或鼠标按下状态?我不知道是什么触发了那个状态。
我知道这不是什么大问题,但有时小细节也很重要。
我认为这提供了一种更全面的方法:
button, input[type="submit"], input[type="reset"] {
background: none;
color: inherit;
border: none;
padding: 0;
font: inherit;
cursor: pointer;
outline: inherit;
}
<button>Example</button>
all: unset
来取消按钮的样式。可访问性警告:为了那些不使用鼠标指针的用户,请确保重新添加一些:focus
样式,例如button:focus { outline: orange auto 5px }
用于键盘可访问性。如果您感到懒散,可以使用button:focus { outline: revert }
来恢复轮廓为浏览器的默认设置。https://caniuse.com/css-revert-value
(而且,我希望这是不言而喻的,但请确保添加回某种样式,以便您的按钮实际上看起来像一个按钮,并最好还有一些:hover
样式。如果您的按钮没有边框,请考虑使用cursor: pointer
。)
button {
all: unset;
}
button:focus {
outline: revert;
}
<button>check it out</button>
:focus
元素状态添加回所有的outline
样式。 - Devin我假设当你说“点击按钮,它会稍微上移一点”时,你是在谈论按钮的鼠标按下状态,并且当你释放鼠标点击时,它将返回到正常状态?而且你正在使用以下方式禁用按钮的默认渲染:
input, button, submit { border:none; }
如果是这样的话...
个人经验表明,你实际上无法停止/覆盖/禁用IE的原生动作,这导致我稍微更改了我的标记以允许此移动并不影响按钮的整体外观。
这是我的最终标记:
<span class="your-button-class">
<span>
<input type="Submit" value="View Person">
</span>
</span>
在Bootstrap 4中,最简单的方法是使用以下类:bg-transparent
和border-0
shadow-none
就够了。谢谢!为您的按钮添加简单样式
.btn {
background: none;
color: inherit;
border: none;
padding: 0;
font: inherit;
cursor: pointer;
outline: inherit;
}
尝试从您的按钮中移除边框:
input, button, submit
{
border:none;
}
我认为这是按钮的“激活”状态。
!important
。尽管如此,我已将其删除,因为这是一种情况决策。background: none
是完全有效的:https://dev59.com/ZmIi5IYBdhLWcg3w9wQU - Kevinleary.nettype
和attribute
,因为类型和属性的声明比类的声明具有优先权。特异性是通过所有特异性因素的总和来排名的。 - Webwoman