Frontend
Discussions about frontend development, HTML, CSS, JavaScript, browser APIs, web standards, component frameworks, rendering libraries, UI/UX patterns, and tools and technologies used to build websites and web apps!
3 replies
9 recasts
48 reactions
4 replies
0 recast
31 reactions
My personal approach for managing CSS styles:
• Global CSS file with reasonable defaults for `*` (`margin`, `transition-duration`, `inherit`), `:root` (`font-size`, CSS variables), semantic HTML elements, form elements, global layout classes (`.stack`, `.row`, `.column`)
• Scoped component-level styles (just the `<style>` tag built into many modern frameworks like Svelte, Astro, Vue, Ripple, ...)
• Nested CSS rules (`&:hover`, `&[open]`, `> *`, `@media` / `@container` / `@supports` queries, `@starting-style`, ...)
• Style variants: define TypeScript enum, apply enum value to `[data-*]` attribute on container element, then define local nested CSS rules (`&[data-layout="inline"]`) that only override local custom CSS variables
• Overall layout: `grid-template` defined at multiple breakpoints using shared `grid-area` names
• General layout: reuse global layout classes and prefer `display: grid;` / `gap` over `display: flex;` / `margin` 3 replies
2 recasts
15 reactions
0 reply
0 recast
3 reactions
1 reply
1 recast
6 reactions
3 replies
0 recast
7 reactions
1 reply
1 recast
3 reactions
6 replies
1 recast
24 reactions
3 replies
2 recasts
8 reactions
2 replies
0 recast
1 reaction
0 reply
0 recast
0 reaction
1 reply
0 recast
3 reactions
2 replies
0 recast
3 reactions
0 reply
1 recast
2 reactions
3 replies
0 recast
19 reactions