CSS:
button:active {
/* active css */
}
button:disabled {
opacity: 0.5;
}
HTML:
<button disabled="disabled">Ok</button>
当我点击按钮时,浏览器会添加按钮的:active状态,使它看起来像是被点击了(即使它已被禁用)。我发誓我认为只有在按钮启用的情况下才会添加 :active 状态。 我错过了什么?CSS:
button:active {
/* active css */
}
button:disabled {
opacity: 0.5;
}
HTML:
<button disabled="disabled">Ok</button>
当我点击按钮时,浏览器会添加按钮的:active状态,使它看起来像是被点击了(即使它已被禁用)。我发誓我认为只有在按钮启用的情况下才会添加 :active 状态。 我错过了什么?:active
并没有排除 :disabled
元素。如果您愿意的话,可以阅读 规范文档。:enabled
元素来使用您的 :active
选择器以排除 :disabled
元素。button:enabled:active {
/* active css */
}
button:disabled {
opacity: 0.5;
}
:disabled
不属于CSS2.1),没有提到:active
和:disabled
是相互排斥的。可能需要澄清规范的这部分内容,因此UA可以自由地组合应用伪类。建议您修改选择器以更加明确。button:enabled:active {
/* active css */
}
button:disabled {
opacity: 0.5;
}
button:active:not(:disabled) {
/* active css */
}
button:disabled {
opacity: 0.5;
}
:active
会应用于禁用的按钮。 - Shmiddty