Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix(forms): fix button utilities specificity issue #43

Merged
merged 1 commit into from
Jul 15, 2024

Conversation

Allyhere
Copy link
Contributor

Bug description

I noticed that buttons with utility color classes turn blue on :hover.

Hovering on buttons with utility colors classes

If the example below is the expected behavior of these buttons, I believe this is a specificity bug:

GravacaodeTela2024-07-14as13 23 06-ezgif com-video-to-gif-converter

Using the .default variant as an example, this is the CSS with the intended behavior:

button.default:not(:disabled):active,button.default:not(:disabled):hover {
    background: var(--default);
    color: var(--contrast)
}

It produces a 0,3,1 specificity and it is being overridden by this selector, which also has a specificity of 0.3.1 because its declared further on the code.

:is(button,input:is([type=submit],[type=reset],[type=button],[type=image])):not(:disabled):active,:is(button,input:is([type=submit],[type=reset],[type=button],[type=image])):not(:disabled):hover {
    border-color: transparent;
    background: var(--accent);
    color: var(--light)
}

Proposal - Using an :where selector

Note

This solution is agnostic and non-obstrusive and have sufficient browser support. Ran deno task fmt on this code.

In styles/forms/mod.css, L226

:where(button, input:is([type="submit"],[type="reset"],[type="button"],[type="image"])):not(:disabled):hover,
:where(button, input:is([type="submit"],[type="reset"],[type="button"],[type="image"])):not(:disabled):active {
  border-color: transparent;
  background: var(--accent);
  color: var(--light);
}

Closes #42

@lowlighter lowlighter merged commit e5666a0 into lowlighter:main Jul 15, 2024
3 checks passed
@lowlighter
Copy link
Owner

Thanks a lot for looking into this !

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[Bug] Button's utility color classes seems to not hover properly due specificity issues
2 participants