DEV Community

Cover image for 5 things in web development I learned this year
Cyd
Cyd

Posted on • Edited on

5 things in web development I learned this year

This year has been weird but good, after suddenly becoming the most experienced frontend developer at the company I work at, Matise, I really had to step it up.

In this article I've listed 5 things I learned this year concerning web development.

1. Mix blend modes

Okay, I had heard about this one, but I never really delved in to it. mix-blend-mode is a css property that determines how an element's content should blend with the content of the element's parent and the element's background [1]. It's a great way to add animated effects on images or implement a dark mode for example.

2. CSS Filters

CSS filter are amazing, I would only recommend using filters on images if you want to animate them. Because although browsers have become better at handling them, it's still a bit of a performance hit [2]. I actually used a SVG filter to create a duotone effect before realising it would be soooo much easier using blend modes and pseudo elements which are actually animatable.

3. Line clamping

A lot of our clients like it when excerpts on blog previews are the same height, I always explained to them that that's not possible because of varying text lengths and not using monotype fonts etc. I found out this year I was wrong! It is possible as an enhancement, this doesn't work in non webkit browsers, to 'line-clamp' text at three lines for example. I still instruct clients to keep their excerpts short and to the point but this is a nice extra for them.

.text-excerpt {
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
}
Enter fullscreen mode Exit fullscreen mode

4. CSS variables are funnnn

I've used CSS variables (or custom properties if you like it old school) to animate elements so much this year and bored people with talking about it so much, I might be it's biggest advocate.
They can be global, they can be scoped, you can change them in a lower scope IT'S GREAT.

I like to use the style.setProperty method in stead of actually using JavaScript to add css properties directly. I always hate when I want to overwrite these JavaScript set properties I have to use !importants. I also love that my logic stays in the SCSS file and the variables are available in all child elements. This can be useful if you want to set a style on multiple elements, no need for JavaScript loops anymore you can just simply set the property on the parent element and use a class selector to add it to all of them.

5. Text strokes

This is more just a really fun thing I've found out about this year, like line clamping it should really be used as an enhancement because of its browser support.

BONUSSS

I learned about clip-paths back in 2018. But I've still used them a lot this year, and learned some new things about animating them. For example you can't animate between two different types of clip-path like a circle and polygon type, which is understandable but really still a shame. You can fake it a little by first creating a square and then replacing the polygon type with a circle type, but it's not ideal.

What did you learn this year?

Sources

  1. https://developer.mozilla.org/en-US/docs/Web/CSS/mix-blend-mode
  2. https://www.smashingmagazine.com/2016/05/web-image-effects-performance-showdown/

Oldest comments (32)

Collapse
 
loccode profile image
Malik Khodjaev

Thank you for your article. I have found lots of tricky and useful things here. This year was very unusual for me. I relised that 4 years in the humanitarian university was a big mistake, because I have lost all my skills as a developer. Anyway, I have improved my English (my mother tongue is Russian) and articles like yours are big reading plesure for me now.

Collapse
 
cydstumpel profile image
Cyd

Cool that you’re getting back to it. I recommend subscribing to some newsletters, like css weekly, it’s how I read about most new things.
Good luck!

Collapse
 
ben profile image
Ben Halpern

I didn't know most of this, thanks!

Collapse
 
_ezell_ profile image
Ezell Frazier

Learned a lot of cool things just now. Thanks!

Collapse
 
kpunith8 profile image
Punith K

Simple and elegant, I like the way the code was written, I learnt lot of tricks from your code. Thanks for the nice article.

Collapse
 
kmwill23 profile image
Kevin

I am stealing everything here. Brilliant. The only one I use regularly are filters.

With our shop finally moving past IE, I am also going dive into variables. Thanks for the reminder!

Collapse
 
cydstumpel profile image
Cyd

I’m so happy for you that you no longer need to support ie! I wrote another article about variables a while back, maybe you’d like to check that out!

Collapse
 
drdougtheman profile image
drdougtheman

I didn't thought it was possible to animate using CSS only. Great examples.

Collapse
 
jlrxt profile image
Jose Luis Ramos T.

Hola saludos desde México. Este año enfocado en PHP/HTML/CSS Y JS. gracias por compartir y felices fiestas.

Collapse
 
dreamchild7 profile image
dreamchild7

Wow! I learnt a lot from these. Your codes are clean and top notch. Thanks for writing this.

Collapse
 
adisreyaj profile image
Adithya Sreyaj

So damn cool🔥

Collapse
 
gdotdesign profile image
Szikszai Gusztáv

I was happy to notice that line-clamp is supported across most browsers (~95%) using the prefixed version ➡️ caniuse.com/#feat=css-line-clamp

This is huge since designers seemingly always want to do this and I had to tell them this is not possible.

Collapse
 
cydstumpel profile image
Cyd

Thanks for doing the research✌️! It’s not bad indeed, but still rather an enhancement than a promise I think