Skip to content

Commit 892ee36

Browse files
author
Claudio Cortese
committed
Add post about CSS tricks
1 parent ee8bd4c commit 892ee36

File tree

2 files changed

+238
-0
lines changed

2 files changed

+238
-0
lines changed
Lines changed: 238 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,238 @@
1+
---
2+
layout: post
3+
title: "10 CSS Tricks to Make Your Site Stand Out 🌟"
4+
tags: tutorial webdev css
5+
image: /img/posts/css-tricks.jpg
6+
typewriter-delay: 20
7+
---
8+
**CSS** has come a long way! Today, it’s not just about adding colors or arranging elements on a page; it’s about creating visually engaging, interactive, and user-friendly experiences. Here are 10 **CSS** tricks you can use to enhance your site’s design. Whether you're building a portfolio, a business site, or a blog, these **CSS** techniques can help give your website a polished, professional look.
9+
10+
---
11+
12+
## 1. Smooth Hover Animations 🚀
13+
14+
Hover animations can bring a page to life, providing a satisfying interaction when a user points to a button, image, or link. These animations can range from simple color transitions to intricate effects.
15+
16+
### Example: Button Hover Effect
17+
18+
```css
19+
button {
20+
background-color: #3498db;
21+
color: white;
22+
padding: 12px 24px;
23+
border: none;
24+
transition: transform 0.3s ease;
25+
}
26+
27+
button:hover {
28+
transform: scale(1.1);
29+
background-color: #2980b9;
30+
}
31+
```
32+
33+
When the user hovers over the button, it grows slightly and changes color, creating a dynamic effect that encourages them to click.
34+
35+
---
36+
37+
## 2. Glassmorphism for a Modern Look 💎
38+
39+
Glassmorphism is the trend that gives elements a frosted glass effect, ideal for modern, sleek designs. This can be great for cards, headers, or other UI components.
40+
41+
### Example: Frosted Glass Card
42+
43+
```css
44+
.card {
45+
background: rgba(255, 255, 255, 0.1);
46+
border-radius: 10px;
47+
backdrop-filter: blur(10px);
48+
padding: 20px;
49+
box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
50+
}
51+
```
52+
53+
This frosted effect looks fantastic over images or colorful backgrounds and makes the text inside the card stand out while maintaining a sophisticated, modern look.
54+
55+
> **Note**: The \`backdrop-filter\` property may not be supported on all browsers. Check compatibility on [Can I use](https://caniuse.com/?search=backdrop-filter).
56+
57+
---
58+
59+
## 3. Responsive Typography with \`clamp()\` 📐
60+
61+
One **CSS** function that often goes under the radar is \`clamp()\`, which helps you set responsive font sizes that adjust across different screen sizes. This means no more jumping between media queries for every breakpoint!
62+
63+
### Example: Responsive Headline
64+
65+
```css
66+
h1 {
67+
font-size: clamp(1.5rem, 2vw + 1rem, 3rem);
68+
}
69+
```
70+
71+
This **CSS** will adjust the headline size between 1.5rem and 3rem, depending on the viewport width. It's especially handy for making sure text scales nicely on mobile and desktop screens.
72+
73+
> **Note**: The \`clamp\` function is well-supported on most modern browsers, but it’s still worth checking on [Can I use](https://caniuse.com/?search=clamp).
74+
75+
---
76+
77+
## 4. Scroll Snap for Smooth Page Scrolling 🧲
78+
79+
\`scroll-snap\` allows you to create smooth, full-page scrolling effects, perfect for portfolio sites or presentations. It makes scrolling feel natural and controlled by “snapping” to certain elements as you scroll.
80+
81+
### Example: Snap Sections
82+
83+
```css
84+
.container {
85+
scroll-snap-type: y mandatory;
86+
overflow-y: scroll;
87+
height: 100vh;
88+
}
89+
90+
.section {
91+
scroll-snap-align: start;
92+
height: 100vh;
93+
}
94+
```
95+
96+
Each section in this layout will “snap” into place as the user scrolls. It’s a sleek, visually engaging effect that’s surprisingly easy to achieve with **CSS**!
97+
98+
> **Note**: The \`scroll-snap\` property is well-supported on modern browsers but might need a fallback for older ones. See [Can I use](https://caniuse.com/?search=scroll-snap).
99+
100+
---
101+
102+
## 5. Custom Cursors for Fun Interactions 🖱️
103+
104+
Custom cursors can add a unique and playful touch to your website. They can be as subtle or as bold as you like, and they can give users a tactile experience as they navigate.
105+
106+
### Example: Custom Circle Cursor
107+
108+
```css
109+
body {
110+
cursor: none;
111+
}
112+
113+
.custom-cursor {
114+
width: 20px;
115+
height: 20px;
116+
border: 2px solid black;
117+
border-radius: 50%;
118+
position: absolute;
119+
pointer-events: none;
120+
transition: transform 0.1s;
121+
}
122+
```
123+
124+
To use this, you’ll need some JavaScript to track the cursor position. But the result can be an ultra-cool custom cursor that reacts to user movement.
125+
126+
---
127+
128+
## 6. **CSS** Grid for Perfectly Aligned Layouts 🏗️
129+
130+
**CSS** Grid is one of the most powerful tools available to web designers today. It lets you create complex layouts with minimal code. If you need an organized gallery or a detailed layout, **CSS** Grid is your best friend.
131+
132+
### Example: Basic Grid Gallery
133+
134+
```css
135+
.gallery {
136+
display: grid;
137+
grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
138+
gap: 16px;
139+
}
140+
```
141+
142+
With just a few lines of code, you have a fully responsive grid that adjusts automatically based on screen size.
143+
144+
---
145+
146+
## 7. Variable Fonts for Dynamic Typefaces 🖋️
147+
148+
Variable fonts are a fantastic innovation in typography. Instead of loading multiple font weights, a single variable font can adjust its weight, width, and even slant dynamically. This can improve performance and add dynamic elements to your text.
149+
150+
### Example: Using a Variable Font
151+
152+
```css
153+
@font-face {
154+
font-family: 'Roboto';
155+
src: url('Roboto.woff2') format('woff2');
156+
}
157+
158+
.text {
159+
font-variation-settings: 'wght' 300; /*Light weight */
160+
}
161+
162+
.text:hover {
163+
font-variation-settings: 'wght' 700; /* Bold weight on hover*/
164+
}
165+
```
166+
167+
This lets you adjust font weight without loading multiple versions of the same font, making your site faster while keeping text dynamic.
168+
169+
> **Note**: Variable fonts are supported by most modern browsers. Check compatibility on [Can I use](https://caniuse.com/?search=variable-fonts).
170+
171+
---
172+
173+
## 8. **CSS** Counters for Auto Numbering 🎲
174+
175+
**CSS** Counters let you number items automatically, which is great for lists, sections, or steps in a tutorial. It’s a clean and efficient way to keep everything in order.
176+
177+
### Example: Numbered List of Sections
178+
179+
```css
180+
.counter {
181+
counter-reset: section;
182+
}
183+
184+
.section::before {
185+
counter-increment: section;
186+
content: "Section " counter(section) ": ";
187+
}
188+
```
189+
190+
With this setup, each section will automatically number itself, making it easy to add or rearrange sections without updating numbers.
191+
192+
---
193+
194+
## 9. Animations with \`@keyframes\` for Engaging Effects 🎞️
195+
196+
**CSS** animations can transform your site into a lively, engaging experience. With \`@keyframes\`, you can create anything from subtle fades to elaborate animations that draw attention to specific elements.
197+
198+
### Example: Fade-In Animation
199+
200+
```css
201+
@keyframes fadeIn {
202+
0% { opacity: 0; }
203+
100% { opacity: 1; }
204+
}
205+
206+
.element {
207+
animation: fadeIn 1s ease-in-out;
208+
}
209+
```
210+
211+
This simple fade-in effect can be applied to text, images, or other elements. It’s a clean way to draw attention to specific parts of a page as they load.
212+
213+
---
214+
215+
## 10. \`:is()\` and \`:where()\` Selectors for Simpler Code 📜
216+
217+
These new **CSS** selectors help you target multiple elements in a concise way, reducing redundancy in your code. This is particularly useful for simplifying complex selectors, making your **CSS** both shorter and easier to read.
218+
219+
### Example: Targeting Multiple Elements
220+
221+
```css
222+
:is(h1, h2, h3) {
223+
color: #333;
224+
font-family: 'Arial', sans-serif;
225+
}
226+
```
227+
228+
This line of **CSS** applies the same styles to all three heading levels without writing them separately. \`:where()\` is similar, but it doesn’t add to specificity, making it perfect for resets and global styles.
229+
230+
> **Note**: Check \`:is\` and \`:where\` support on [Can I use](https://caniuse.com/?search=is) as they may not be available on some older browsers.
231+
232+
---
233+
234+
## Wrapping Up ✨
235+
236+
**CSS** is more powerful than ever! With these tricks, you can enhance your site’s visuals and improve user interaction without needing a lot of extra code. Try experimenting with these techniques, and watch as your site goes from ordinary to extraordinary.
237+
238+
Let these ideas inspire you to dive deeper into **CSS**, and remember—creativity and attention to detail are what make a site truly memorable. Happy coding!

img/posts/css-tricks.jpg

17.2 KB
Loading

0 commit comments

Comments
 (0)