css
SKILL.md
CSS Development Guidelines
Core Principles
- Write semantic HTML to improve accessibility and SEO
- Use CSS for styling, avoiding inline styles
- Ensure responsive design using media queries and flexible layouts
- Prioritize external stylesheets over inline or embedded styles
Layout Techniques
Flexbox
- Use Flexbox for one-dimensional layouts (rows or columns)
- Leverage
justify-contentandalign-itemsfor alignment - Use
flex-wrapfor responsive wrapping behavior - Prefer
gapproperty over margins for consistent spacing
Grid
- Use CSS Grid for two-dimensional layouts
- Define grid templates with
grid-template-columnsandgrid-template-rows - Use
grid-areafor named template areas - Leverage
auto-fitandauto-fillfor responsive grids
Units and Typography
- Use
remunits for typography to respect user preferences - Use
emunits for component-relative sizing - Avoid
pxfor font sizes; reserve for borders and fixed elements - Implement fluid typography with
clamp()when appropriate - Use viewport units (
vw,vh) thoughtfully for full-screen layouts
CSS Variables (Custom Properties)
- Define design tokens as CSS variables on
:root - Use variables for colors, spacing, typography, and shadows
- Implement theming by overriding variables in different contexts
- Name variables semantically (e.g.,
--color-primary,--spacing-md)
Naming Conventions
BEM Methodology
- Block: Standalone component (e.g.,
.card) - Element: Part of a block (e.g.,
.card__title) - Modifier: Variation of block or element (e.g.,
.card--featured)
Best Practices
- Use lowercase with hyphens for class names
- Avoid IDs for styling; reserve for JavaScript hooks
- Keep specificity low by using single class selectors
- Scope styles to components to prevent conflicts
Specificity Management
- Maintain specificity at 0-1-0 (single class) when possible
- Avoid
!importantdeclarations - Use cascading intentionally, not accidentally
- Consider CSS Layers (
@layer) for specificity control
Responsive Design
- Implement mobile-first media queries
- Use relative units for flexible layouts
- Test across multiple viewport sizes
- Consider container queries for component-level responsiveness
Performance
- Minimize selector complexity
- Avoid deeply nested selectors
- Use efficient selectors (class over element)
- Leverage CSS containment for isolated components
- Consider critical CSS for above-the-fold content
Modern CSS Features
- Use
aspect-ratiofor maintaining proportions - Leverage
gapin Flexbox and Grid - Use logical properties (
margin-inline,padding-block) - Implement smooth transitions with
transitionproperty - Use
@supportsfor feature detection
Organization
- Structure stylesheets logically (base, layout, components, utilities)
- Keep files modular and focused
- Document complex styles with comments
- Use a consistent property order within declarations
Browser Compatibility
- Use vendor prefixes when necessary (consider Autoprefixer)
- Test across target browsers
- Provide fallbacks for newer features
- Use progressive enhancement approach
Accessibility
- Ensure sufficient color contrast (WCAG AA minimum)
- Provide visible focus styles for keyboard navigation
- Avoid hiding content in ways that affect screen readers
- Use
prefers-reduced-motionmedia query for animations
Weekly Installs
2
Repository
mindrally/skillsInstalled on
opencode2
windsurf1
codex1
claude-code1
antigravity1
gemini-cli1