feat(Icon): Add invisble text content to simplify baseline alignment #1905
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Describe the pull request
Thank you for contributing to the project!
Please use this template to help us handle your PR smoothly.
What
This lets the browser use baseline alignment to align an icon with text. We make the icon adhere to that feature by adding a zero-width space to its
::after
pseudo-element.Why
It seems more idiomatic to use the browser’s baseline alignment feature to align an icon to accompanying text. We still need to apply typography to the icon, but that’s logical: we treat an icon as a typographic element. Stretching the icon and the pseudo-element and using a width of
1em
are more examples of using what CSS offers us. We don’t need to multiply font size with line height anymore, and we don’t need to manually size the SVG while we were already sizing its container.How
See above.
Checklist
Before submitting your pull request, please ensure you have done the following. Check each checkmark if you have done so or if it wasn't necessary:
Additional notes