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! 🥳