DEV Community

Cover image for CSS Structure

CSS Structure

Alex Salgado on July 16, 2021

Write CSS that is easy to read and everyone can understand One of the struggles developers encounters while writing CSS is the fact that...
Collapse
 
madsstoumann profile image
Mads Stoumann

I used to group my CSS in a similar way, but as more and more properties were introduced, I switched to alphabetic sorting, and have never looked back! By the way, the position example can use the new inset property, to set all 4 sides with a single value:

.element {
  inset: 0;
  position: absolute;
}
Enter fullscreen mode Exit fullscreen mode
Collapse
 
alextsalg profile image
Alex Salgado

@madsstoumann yess! inset is an awesome property, I saved that one to another post along with other properties that saves time and are awesome.

Collapse
 
eljayadobe profile image
Eljay-Adobe

Alphabetic sorting for the win!

But, in the few cases where alphabetic sorting can't be done because the order is important... please comment the code!

Collapse
 
virla01 profile image
AspectoX

I know that many write the structure in alphabetical order, in my case it is not like that.
My order is this:
display
width
height
font (family, size, weight, line-height, etc.)
text
Colour
background-color
padding
margin
aling
justify
transittion
transform
position
z-index

Collapse
 
alextsalg profile image
Alex Salgado • Edited

@virla01 The alphabetical order for me is so tough because I have to think what letter comes after and before to search untilI find some property with that letter. My dyslexia kicks in automatically hahaha.

Just out of curiosity.
The align and justify properties been far away from the display give tou some kind of struggle to fix a code? Seen that you read the display and have to go to the end of the structure?

Collapse
 
virla01 profile image
AspectoX

Yes, everything that has to do with flex or grid I usually use it at the end to have it separated from the rest
text-aling goes where it says text

Collapse
 
arnav041 profile image
iamArnav

simple and excellent

Collapse
 
vladi160 profile image
vladi160

z-index: 999 is bad practice in almost all cases

Collapse
 
alextsalg profile image
Alex Salgado • Edited

I completely agreed, to be honest in those examples I put the first number that popped up on my mind. I should put a disclaimer about that, thank you for the feedback @vladi160

Collapse
 
maxiqboy profile image
Thinh Nguyen

Awesome, very clean and clear,

I will try to apply this into my work,

Thanks

Collapse
 
tojacob profile image
Jacob Samuel G.

I wish I had read this years ago when I started writing css πŸ˜‹

Collapse
 
vidhill profile image
David Hill

I have been playing around with a few stylelint rules/plugins for this, but haven't found the 'one',
Suggestions welcome

Collapse
 
ju-tngh profile image
Julien

Maybe github.com/ream88/stylelint-config... ? I didn't test it but it seems to do the job.