You may well not believe that shifting an underline ðàáîòàòü ñ wordpressa handful of pixels and shifting its thickness is particularly slicing-edge or interesting.
Nevertheless it depends on two CSS houses, text-decoration-thickness and text-underline-offset, which have only just lately been released to some browsers.
As a consequence, we had to devote some time comprehending precisely how these new properties worked, and whether they had been mature sufficient to use.
A rapid primer on shorthand houses
Before we start off digging in to the textual content-decoration residence, it is useful to recognize a handful of things about shorthand houses in CSS.
Quoting heavily from the exceptional overview of shorthand CSS homes on MDN World wide web Docs:
All through this write-up I’m also likely to use the expression ‘longhand’ to refer to houses that are not shorthand qualities.
With that out the way, allow get a brief trip again in time to see how the textual content-decoration property has altered.
So, you could use it to incorporate decoration to your text, but you experienced no control in excess of its look – you were constrained to a strong line with its color and thickness primarily based on the text.
CSS Textual content Decoration Module Degree three (2019)
CSS Textual content Decoration Module Amount 3 launched new textual content-decoration-line, textual content-decoration-fashion and textual content-decoration-color qualities.
Once again, it adjustments the textual content-decoration shorthand home to incorporate the new text-decoration-thickness.
Nonetheless, the textual content-underline-offset house is deliberately excluded from the shorthand home, and has to be set individually:
As a end result, the thickness, colour and type are all reset to their initial person-agent defaults, and when hovering above our hyperlink we just get a unexciting default underline.
The exception to this is, as soon as again, Safari, where text-decoration is not a shorthand property, and instead functions like a kind of alias for text-decoration-line. Not like other browsers it does not set the other text-decoration-* properties back again to first.