DEV Community

Cover image for CSS can do that?
Ananya Neogi
Ananya Neogi

Posted on • Edited on

CSS can do that?

A list of amazing things that CSS can do!

EDIT: Some of these properties won't work in some browsers because of support. We can check for browser support using @supports and add fallback styles accordingly. Please use Chrome to view the examples 🙂

1. box-decoration-break

This CSS property specifies how an element's fragments should be rendered when broken across multiple lines, columns, or pages.


2. attr()

We can retrieve values of the selected element in CSS by using attr(). This method could be really helpful with accessibility purposes.


3. backface-visibility

This CSS property sets whether the back face of an element is visible when turned towards the user. Thinking of a card flip UI?


4. conic-gradient

Gradients are a wonderful thing. You might've used to style backgrounds with linear gradients but do you know we can use pure css to create pie charts with the help of conic-gradient!

To better understand how conic-gradients, reference the MDN docs on it


5. filter

Who needs photoshop filter effects when you have CSS filters. 🙃
Filter functions applies graphical changes to the appearance of an input image. The effects we can achieve are as follows - blur, brightness, contrast, grayscale, hue-rotate, opacity, invert, sepia, saturate, drop-shadow.

drop-shadow filter is pretty amazing. It lets you apply drop shadow to the input image.


6. mix-blend-mode

This CSS property sets how an element's content should blend with the content of the element's background or its parent.


Amazing things can be achieved by mixing blend modes and filters with images and text. Learn more on MDN Docs.


7. first-letter

One of my favourite things in books and magazines are the beautiful drop-caps. We can create drop with first-letter pseudo-element.


8. shape-outside

This CSS property provides a way to customise wrapping adjacent inline content around complex objects rather than simple rectangular boxes.


Open the example in a different tab and try changing the width of the window and notice how the text wraps around the image.


9. writing-mode

This CSS property sets whether the lines of text are laid out horizontally or vertically. We can have these values-

  • horizontal-tb - Content flows horizontally from left to right, vertically from top to bottom.
  • vertical-lr - Content flows horizontally from left to right, vertically from top to bottom.
  • vertical-rl - Content flows horizontally from right to left, vertically from top to bottom.

Checkout this this example to see it in action.


10. Adding gradient to text

This is achieved with the combination of -webkit-background-clip: text and -webkit-text-fill-color: transparent CSS properties.


11. Smooth scroll snap

scroll-snap-type CSS property sets how snap points are applied on the scroll container.

This example shows vertical(y) scroll with value mandatory. MDN docs does a great job on explaining how to use other values such as proximity and horizontal scroll(x).


These are just a few great things CSS can do. Possibilities are endless! 🥳

Oldest comments (120)

Collapse
 
hasantezcan profile image
Hasan TEZCAN

It was a seminal article. Thanks 😄

Collapse
 
gmartigny profile image
Guillaume Martigny

The conic-gradient blew my mind !

Collapse
 
ajmaln profile image
Ajmal Noushad

Wow, that's awesome.

Collapse
 
paulooi profile image
Paul O

very cool, but i wonder though how well supported these are across browsers. thanks for showing the examples.

Collapse
 
fluffy profile image
fluffy

You can use caniuse to see how well-supported things are, and a great thing about CSS is it tends to gracefully degrade anyway.

Collapse
 
freerangepixels profile image
Crystal Schuller

The filters one had me yelling at my screen. Excellent list - definitely one I'll save.

Collapse
 
vijayjangid profile image
Vijay Jangid

Intresting, some of them I haven't heard. Loved the gredient text color and pie chart.
Thanks for digging and sharing with us.

Collapse
 
nyenye profile image
Nyenye

This is really helpfull in so many situations! Thanks for sharing!

Collapse
 
elanandkumar profile image
Anand Kumar

Very nice.
Recently i tried mix-blend-mode but due to some strange reason, it did not work on one of my android phone chrome browser. Worked on others. So, the point is to make sure it works for you on supported platforms.

Collapse
 
ananyaneogi profile image
Ananya Neogi

Yes, of course, we should always to check for browser support. But the good thing about CSS is that we can always add fallback styles in cases where our desired css properties are not supported. If a property is not supported CSS won't throw out errors, it will silently cascade to other styles so adding fallback styles works out of the box.

Collapse
 
elanandkumar profile image
Anand Kumar

Completely agree. Thanks

Collapse
 
kenold profile image
Kenold Beauplan

Great tips! Thanks for sharing.

Collapse
 
vzuburlis profile image
Vasilis Zoumpourlis

First time I see most of these attributes. And they look great. Thank you!

Some comments may only be visible to logged-in visitors. Sign in to view all comments.