Working with CSS is always a nightmare for back-end developers. Here lets conspire against those front end dev's and lean some CSS tricks that even frontend developers miss.
1. Centering Trick in Flexbox
Let's start with the famous centering divs problem. Here we will make use of a flexbox. No need to set absolute positioning or work with margins, do this:
.flex-center-demo {
display: flex;
justify-content: center;
align-items: center;
}
2. Quick Grid Auto-Placement
You will need this if you are designing navbars or dashboard. If you have some collection of items and you need to place them together then use this.
.auto-grid-demo {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
gap: 1rem;
}
It Automatically fills rows with boxes at a minimum width of 120px.
3. Adjacent Sibling Selector
This is useful when you have adjacent elements, elements that come after a heading for example author's name below the heading.
h2 + p {
font-style: italic;
color: blue;
}
Here is an image:
4. Make Use of Pseudo-Class not()
When you are designing some element and once element you need to design differently for instance then use this. Here is an example of collection of boxes , apply the CSS except for the third one which belong to special
class.
.box:not(.special) {
background-color: #3498db;
color: #fff;
margin: 0.5rem;
padding: 1rem;
border-radius: 4px;
}
5. Nail CSS animation like a pro
Getting CSS animations right around first time is a bit problamaic use these key-frame to simplify complex animations into a single rule that’s easy to adjust or reuse.
@keyframes fadeIn {
0% {
opacity: 0;
}
100% {
opacity: 1;
}
}
.fade-in-demo {
animation: fadeIn 3s forwards;
background-color: #e67e22;
color: #fff;
padding: 1rem;
text-align: center;
border-radius: 4px;
}
Bonus tip!
Here is some extra CSS debugging trick that I always use. If you think you messed up the CSS and have no idea whats wrong, try to get this boxes around every element you have. This was very useful in debugging CSS for me.
/* Debug: Outline every element with a red border */
* {
outline: 1px solid red !important;
}
I hope you find this article useful. My name is Sreedeep and I am working on a tool called LiveAPI - Helping people generate API docs efficiently with AI.
Top comments (0)