1. Aspect Ratio with Padding Hack
-
Hack: Create a responsive element with a fixed aspect ratio using
padding
. -
How it works: Use the
padding-top
orpadding-bottom
set to a percentage value. This percentage is relative to the width of the element, making it perfect for maintaining aspect ratios. -
Example:
.aspect-ratio-box {
width: 100%;
padding-top: 56.25%; /* 16:9 aspect ratio */
position: relative;
}
.content {
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
}
2. Centering Elements with max-content
-
Hack: Center block elements with unknown widths using
max-content
. -
How it works: Set the width to
max-content
and usemargin: auto
to automatically center the element. -
Example:
.centered {
width: max-content;
margin: auto;
}
3. Single Div Loader Animation
-
Hack: Create complex loaders using only one
div
and pseudo-elements. -
How it works: Use
::before
and::after
for multiple parts of the loader, applying animation without needing extra HTML. -
Example:
.loader {
width: 50px;
height: 50px;
border-radius: 50%;
background: linear-gradient(45deg, transparent, #000);
animation: rotate 1s infinite linear;
position: relative;
}
.loader::before {
content: '';
position: absolute;
width: 100%;
height: 100%;
border-radius: 50%;
background: linear-gradient(45deg, transparent, #000);
transform: rotate(90deg);
}
@keyframes rotate {
to { transform: rotate(360deg); }
}
4. Creating Trapezoids with Borders
- Hack: Use borders to create trapezoid shapes without any complex SVG or image.
- How it works: Apply thick borders with transparent sides and different widths to form a trapezoid shape.
-
Example:
.trapezoid {
width: 0;
height: 0;
border-left: 50px solid transparent;
border-right: 50px solid transparent;
border-bottom: 100px solid #3498db;
}
5. CSS-Only Accordion
-
Hack: Build a fully functional accordion without JavaScript using CSS
:checked
and:hover
. -
How it works: Use input checkboxes and labels along with
:checked
and:nth-child
selectors to toggle visibility of content. -
Example:
<input type="checkbox" id="accordion-1">
<label for="accordion-1">Toggle Section</label>
<div class="content">Accordion Content</div>
<style>
input[type="checkbox"] {
display: none;
}
.content {
display: none;
}
input[type="checkbox"]:checked + label + .content {
display: block;
}
</style>
6. Scroll-Snap for Smooth Scrolling Sections
-
Hack: Implement smooth scrolling sections using
scroll-snap
properties. -
How it works:
scroll-snap-type
andscroll-snap-align
can lock elements in place as you scroll. -
Example:
.scroll-container {
scroll-snap-type: y mandatory;
overflow-y: scroll;
height: 100vh;
}
.scroll-item {
scroll-snap-align: start;
height: 100vh;
}
7. Invert Text Color on Dark Backgrounds
-
Hack: Dynamically adjust text color based on background brightness using
mix-blend-mode
. -
How it works: Combine
mix-blend-mode
with CSS variables to dynamically adjust text color. -
Example:
.dynamic-text {
color: white;
mix-blend-mode: difference;
}
.dark-background {
background-color: black;
}
8. Diagonal Layout with Skewed Containers
-
Hack: Use
transform: skew()
to create diagonal sections in your layout without complex math. - How it works: Skew the container and adjust the content inside to align correctly.
-
Example:
.diagonal {
transform: skew(-20deg);
overflow: hidden;
padding: 50px;
background-color: #f0f0f0;
}
.diagonal-content {
transform: skew(20deg);
}
9. Text Stroke with Shadow
-
Hack: Simulate text stroke without using
-webkit-text-stroke
by layeringtext-shadow
effects. - How it works: Apply multiple shadows to mimic a text stroke effect.
-
Example:
.text-stroke {
color: white;
text-shadow:
-1px -1px 0 #000,
1px -1px 0 #000,
-1px 1px 0 #000,
1px 1px 0 #000;
}
10. Element Clipping with clip-path
-
Hack: Create complex shapes and clip areas of elements using
clip-path
. - How it works: Use various clipping functions to hide parts of an element without altering its content.
-
Example:
.clipped {
clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
background-color: #3498db;
height: 200px;
width: 200px;
}