Misc.
- Use
transform: translate
instead of top, left, right, bottom positioning, especially when animating box-sizing: border-box;
object-fit: contain; /* maintains aspect ratio */
place-items: center;
user-select: none;
pointer-events: none;
height: 20vw;
-
box-shadow: 0 4px 60px rgba(0, 0, 0, 0.5);
body::-webkit-scrollbar {
/* NICE TRICK : it hides the scrollbar, but the scrolling behavior is maintained*/
display: none;
}
Media Queries
Targeting Touch devices
/* For touch devices */
@media (hover: none) {
.mainLayout__sidebar {
padding-bottom: var(--main-layout-footer-height);
}
.mainLayout__body {
height: calc(100vh - var(--main-layout-footer-height));
}
}
Grid & Flex layouts
For those landing here looking for a way to have a sort of dynamic table, with items wrapping to new rows, and still being aligned across rows, a pretty good solution is to use flex with flex-wrap:
.container {
width: 100%;
display: flex;
flex-wrap: wrap;
align-items: center;
}
CSS custom variables
:root {
--main-font-color: white;
--main-theme-color: 0, 0, 0;
--main-background-color: 4, 4, 4;
--main-interactive-text-color: #b3b3b3;
}
CSS animation
.someClass{
animation: name duration timing-function delay iteration-count direction fill-mode;
}
@keyframes wheel {
from {
transform: rotateZ(0deg);
}
to {
transform: rotateZ(360deg);
}
}
REM units
10px = 0.625rem
12px = 0.75rem
14px = 0.875rem
16px = 1rem (base)
18px = 1.125rem
20px = 1.25rem
24px = 1.5rem
30px = 1.875rem
32px = 2rem
Examples :
html {
font-size: 16px;
}
h1 {
font-size: 2rem; /* 32px */
}
p {
font-size: 1rem; /* 16px */
}
li {
font-size: 1.5em; /* 24px */
}
html {
font-size: 62.5%; /* This makes a better base for REM units AND for accessibilty font adaptation*/
}
Top comments (0)