![]() Using CSS Pseudo-elements with Duotone Icons Need a more hands-on example of how to do this? Here's a Codepen demo showing how to render icons of all styles (opens new window) via CSS Pseudo-elements with our Web Fonts-based Framework. You may find our cheatsheet handy for finding and copying those font-familyįont Awesome 5 Free or Font Awesome 5 Pro (for pro users) Set the content to the Unicode value of one of our icons.Set the font-weight to the right weight for the style you want to use (see style table).Set the font-family to the right family for the icons you want to use (see family table below).Set the pseudo-element to match either the ::before or ::after you used in the previous common set up step.There are four important parts to include when referencing any individual icon: It's best to get this out of the way first in your CSS so that your icon definitions become simple. I recently launched a comprehensive, interactive online course called CSS for JavaScript Developers.Firstly, there are some common CSS properties that apply to all icons. I love writing CSS these days!įor the past year and a half, I've been focused on helping JS developers change their relationship with CSS. If you take a bit of time to learn how the language really works, though, everything becomes so much more intuitive and predictable. When your mental model is incomplete, you're bound to run into some problems. Unless you pop the hood and learn what's really going on under there, the language will always feel a bit unpredictable and inconsistent. And honestly, there's so much more I want to say! We only scratched the surface in a bunch of places.ĬSS is a deceptively complex language. My CSS reset is quite short (only 11 declarations!), and yet I've managed to spend an entire blog post talking about them. ![]() This rule will prevent that image from growing beyond its container, which feels like much more sensible default behavior to me. If an image has a "native" size of 800×600, the element will also be 800px wide, even if we plop it into a 500px-wide parent. ![]() Most block-level elements will automatically grow/shrink to fit their parent, but media elements like are special: they're known as replaced elements, and they don't follow the same rules. This is done to keep large images from overflowing, if they're placed in a container that isn't wide enough to contain them. If you've ever had a mysterious 4px gap that wasn't margin or padding or border, it was probably the “inline magic space” that browsers add with line-height.īy setting display: block on all images by default, we sidestep a whole category of funky issues. If we try to use an inline element in our layout, though, weird things happen. Typically, I treat images the same way I treat paragraphs or headers or sidebars they're layout elements. This doesn't jive with how I use images most of the time. This implies that they should be used in the middle of paragraphs, like or. So here's a weird thing: images are considered "inline" elements. We need to explicitly turn it off, by setting -webkit-font-smoothing to antialiased. I'm guessing they realized that it was doing more harm than good on modern hardware.Ĭonfusingly, MacOS browsers like Chrome and Safari still use subpixel antialiasing by default. In MacOS Mojave, released in 2018, Apple disabled subpixel antialiasing across the operating system. If you look at a modern monitor under a microscope, you won't see an orderly grid of R/G/B lines anymore. The physical arrangement of pixel LEDs has changed as well. Today's pixels are much smaller, invisible to the naked eye. Here's the problem: that article was written in 2012, before the era of high-DPI “retina” displays. You may have read a popular blog post, Stop “Fixing” Font Smoothing, that advocates against switching to “antialiased”. ![]() In the past, this was seen as an accessibility win, because it improved text contrast. This is a technique that aims to make text easier to read, by leveraging the R/G/B lights within each pixel. On MacOS computers, the browser will use “subpixel antialiasing” by default. Alright, so this one is a bit controversial. ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |