Today I learnt about the :placeholder-shown
pseudo-selector thanks to Daniel’s Tweet.
What are some things about CSS that you've learnt about recently or something you already knew and think others would benefit from knowing?
For further actions, you may consider blocking this person and/or reporting abuse
Ben Halpern -
Felipe Araujo -
EIO • Emmanuel Imolorhe -
SnippFlow -
Top comments (32)
Several tricks that I used very often:
Select all the elements with same class except for the first one
While you complaining there's no
:not(:first-of-class)
selector, you can do this instead:Mimicking
grid-gap
without using grid layout:Clear all the predefined styles
I never knew about
all
! Thank you for this!object-fit
is one I haven't used too much until recently (due to browser support). Once you can finally get off that IE11 train the web world really opens up!developer.mozilla.org/en-US/docs/W...
My favorite thing about object-fit is that you can use it with img srcset for responsive background images! The picture element is cool if you really need to be serving differently cropped images, but whenever I can get away with same aspect ratio and not supporting IE, I always use object-fit + srcset for all background images.
Definitely a good use case! Did this myself in a recent project in fact.
isn't is similar to background cover?
Indeed it is, but can be used on replaced elements, such as image and video
This property comes in handy when using the img selector, it could be responsive very good one tho!.
I didn't learn this recently but I tend to forget it from time to time.
The
nth-child()
selector every now and then throws me off.I don't know why but I always interpret it like "select the nth child of this element", when in reality is "select this element if it is also the nth child of its parent", to put it in code, let's say we have this structure:
If I want to select the first
div
with the class name "child", I always first write.parent:nth-child(1)
, then realize my mistake when the code is not working and rewrite it as.child:nth-child(1)
Wow...today I learned. Thank you ;)
Not that it's hidden in the depths of css or anything,
position: sticky
is not so well known/utilized IMO.Why it's time to embrace position sticky
Matt Studdert ・ Oct 15 '18 ・ 2 min read
Same with CSS variables...
CSS Variables Cheat Sheet
Milos Protic ・ Apr 21 ・ 4 min read
That made me think of this funny Tweet from @chriscoyier today about position sticky.
I think CSS variables are starting to gain steam. It makes a lot of sense for theming. DEV, for those who aren't aware, uses CSS variables quite a bit for theming.
@davidkpiano recently talked about his heavy use of them for animations on a recent episode of Shop Talk.
Shop Talk Show
Him and David Shaw have this awesome Twitch stream where they reverse engineer animations. They're called the Keyframers and you can follow them on Twitch or on the Twitters.
It's really an amazing thing to watch.
As I learned instead of writing six lines of JS to lock a nav bar I place, position:sticky; took care of it.
I tend to have multiple languages on my presentations and use the
:lang()
pseudo-class to tweak the styles for phrases/sentences that are not the main language.developer.mozilla.org/en-US/docs/W...
What, I never heard of it! Awesome!
Using the tilda to target siblings has huge use cases
.oneElement ~.anotherElement
I once used
:placeholder-shown
thing to make a material design like floating input label.I LOVE absolutely positioned ::before and ::after pseudo-elements. I usually use them to either draw lines underneath elements or additional boxes the full size of the element, which you can do wackier things to (like transforms) than using things like borders or background colors.
Example of an underline for a link:
I use them all the time, so I set up a little SASS mixin to save some keystrokes and clean up my code:
Once you start playing around with them you'll find there's all kinds of fun stuff you can do without having to change the HTML at all!
Also this 😀
thepracticaldev.s3.amazonaws.com/i...
😯
I'm very much taken by
display:contents
at the moment. When creating different cases in responsive layouts, the ability it gives to flatten the box tree has a surprising number of uses.