Theo Soti

341 posts

Theo Soti banner
Theo Soti

Theo Soti

@theoleff

Author of the book "You don't need JavaScript". If you want all my tips and tricks about CSS, check my blog https://t.co/bm4SG4Q2mK

Paris, Île-de-France Katılım Ocak 2012
337 Takip Edilen142 Takipçiler
Theo Soti
Theo Soti@theoleff·
@cardoso_dmg Haha I know right? Just be careful about browser support. It's better to add a classic border as a fallback.
English
1
0
0
13
Theo Soti
Theo Soti@theoleff·
ch matches the width of the “0” character. lh equals the element’s line-height. cap matches the height of capital letters. ex follows the height of the lowercase “x”. cqi scales with a container’s inline size. vmin and vmax follow the smallest or largest viewport side.
GIF
English
0
0
0
64
𝐑.𝐎.𝐊 👑
𝐑.𝐎.𝐊 👑@r0ktech·
where do you store your code? 1. Github ? 2. Gitlab ? 3. Bitbucket ?
English
560
9
370
47.6K
Csaba Kissi
Csaba Kissi@csaba_kissi·
💥 Pitch your startup/side project: - Max 6 words - Add your link 22K views last week.
English
247
1
147
10.4K
Theo Soti
Theo Soti@theoleff·
@AmanSharma_554 I strongly advise to learn *modern* HTML and CSS. You will have a lot less accessibility issues to handle.
English
0
0
0
13
Theo Soti
Theo Soti@theoleff·
Animated text gradients with pure CSS. background-clip:text + color:transparent, then animate background-position. Use background-size, and repeat the first color in the gradient (c1 c2 c1) to avoid a visible “jump” on loop. Chromium + WebKit are solid; Firefox is catching up.
GIF
English
0
0
0
51
Theo Soti
Theo Soti@theoleff·
Stop rounding corners. Start shaping them. border-radius sets the size. corner-shape sets the geometry (bevel, scoop, squircle...). Same radius, totally different vibe. Works today in Chromium. No Safari/Firefox yet, so ship it as progressive enhancement.
English
0
0
2
122
Theo Soti
Theo Soti@theoleff·
Stop hardcoding input heights or widths. field-sizing: content; lets inputs, selects, and textareas size to their content (even placeholders). Cleaner forms, zero JS. Support is growing (about 74%): Chrome/Edge + Safari 26.2+. No Firefox yet. Would you use it?
GIF
English
0
0
0
42
Theo Soti
Theo Soti@theoleff·
Mirror reflection in pure CSS with ONE property: -webkit-box-reflect: below 0px linear-gradient(transparent, rgba(0,0,0,.5)); No pseudo-elements. No duplicate images. Works in Safari + Chrome + Edge but not Firefox. Would you ship it as progressive enhancement?
English
0
0
1
67
Theo Soti
Theo Soti@theoleff·
CSS fix: tabular numbers (all digits same width) font-variant-numeric: tabular-nums; Result: cleaner tables, prices, dashboards. Subtle polish users feel immediately. Have you used tabular-nums before?
English
0
0
0
29
Theo Soti
Theo Soti@theoleff·
Ever noticed how numbers often look misaligned? It’s not your layout. It’s the font. Most fonts default to proportional digits. So “1111” is much narrower than “8888”. Columns won’t line up perfectly.
English
1
1
1
48
Theo Soti
Theo Soti@theoleff·
It won’t work everywhere yet, but it fails gracefully: unsupported browsers just show a static bar. Would you use this on articles?
English
0
0
0
26
Theo Soti
Theo Soti@theoleff·
The magic line: animation-timeline: scroll(); Top of the page = 0% Bottom = 100% So the bar is a real scroll indicator—without JS.
English
1
0
0
34
Theo Soti
Theo Soti@theoleff·
Still using JavaScript for a reading progress bar? You can build it with pure CSS.
English
1
0
0
30
Theo Soti
Theo Soti@theoleff·
Plus: • real backdrop with ::backdrop (no wrappers) • modern CSS theming • smooth entry with @starting-style • discrete transitions with transition-behavior: allow-discrete Do you used it in production?
English
0
0
0
20
Theo Soti
Theo Soti@theoleff·
Accessibility is built in: • focus trap • Esc closes • keyboard nav works out of the box
English
1
0
0
24
Theo Soti
Theo Soti@theoleff·
The native <dialog> element is stronger than you think. And most people still ignore it.
English
1
0
0
31
Theo Soti
Theo Soti@theoleff·
Support is strong in modern Chrome/Edge/Opera + Safari 26+. Firefox is landing (147+; not in stable 146 yet). Progressive enhancement with @supports (anchor-name: --a). What would you build?
English
0
0
0
27
Theo Soti
Theo Soti@theoleff·
Edge cases? Let the browser handle it: position-try: flip-inline flip-block; Tooltips/dropdowns stay glued even near the viewport edge.
English
1
0
0
16
Theo Soti
Theo Soti@theoleff·
Positioning UI elements just got easier. Meet CSS Anchor Positioning.
English
1
1
1
30