许多消息源希望我通过重置大量的单个属性来重置html,例如:https://css-tricks.com/overriding-default-button-styles/
我还能在CSS中做的只是:
button: {all: unset;}
这是某种反模式吗?我知道我需要一个polyfill,但这并不是几乎所有项目都没有使用它们。
编辑:注释告诉我,它太不明确了,我的意图是。我想要一个清晰而坚实的标记。我有一个<span>
标记,其中包含一个充当按钮的图标。我得到了(有效的)反馈,这是一个按钮,因此应该用<button>
标签包装。当我这样做时,button标记显然带给浏览器一些外观,例如背景和边框使图标看起来很奇怪。我必须删除它,并且想知道是否应该删除特定的CSS属性或仅删除所有这些属性。
答案 0 :(得分:1)
我想说,经过20年的努力,使用CSS
时,反模式倾向于上下文。
假设您要为现代浏览器构建一个新的CSS
库。在这种情况下,我想将button
剥离到裸机上,以捕获可能的所有边缘情况。我们告诉人们,嘿,如果您使用我的超棒库,则可以在任何地方使用它,并期望获得类似于机器的渲染均匀性。第一次进行正确处理的压力很大。否则,每当有热情的Opera Mini用户来敲门时,我们就会每隔一周对库进行修补。
对于我们许多人来说,我们正在构建组件或电子商务小部件。我们中的许多人都没有建立自以为是的CSS库。如果您像我一样为其他人或辅助项目投入大量像素,那么使用该规则只会浪费时间。我可能最终会添加回一些将被删除的样式{ all: unset; }
。当我还是一个年轻的开发人员时,我通常会选择约定俗成的方式,而不是上下文和实用性,因为我坚信胜利的方法是通过纪律和痛苦。通常,我最终会浪费时间,把时间花在做其他事情上。
使用button
时最大的一般罪犯:
background-color
font-family
这是我典型的默认button
样式:
.button-reset {
background-color: transparent;
border: none;
font-family: inherit;
-moz-appearance: none;
-webkit-appearance: none;
appearance: none;
}
旁边::我想将cursor: pointer
添加到我所有的button
中。将鼠标悬停在可点击元素上时,更改光标让我感到更加满意。
答案 1 :(得分:0)
unset的使用非常强大,几乎可以完全在网络上得到支持。除非您必须创建IE支持代码,否则6-10和11都不接受它,请继续使用它 您还可以在此处检查更详细的检查:https://caniuse.com/#search=unset