This is a React project that will be styled using different CSS approaches. The project contains a basic UI structure that you'll style using various modern CSS techniques.
base-project/
├── src/
│   ├── components/
│   │   ├── Button.tsx    # Button component to style
│   │   ├── PinCard.tsx      # Card component to style
│   │   └── Layout.tsx    # Layout component to style
│   ├── App.tsx          # Main application component
│   └── App.css          # Base styles (to be replaced)
You'll be styling this project using different approaches:
- 
Vanilla CSS - No libraries or frameworks, the point of this is dive deep into the modern state of CSS Some good places to start:
- Read this on how modern compare with something like SCSS and new features:
 
- 
Tailwind CSS - Install and configure Tailwind CSS
- Style components using utility classes
- Create responsive designs
- Understand how media queries and pseudo elements work
 
- 
Styled Components - Set up styled-components
- Create styled versions of components
- Implement theme support
 
- 
CSS Modules (If we have time) - Create CSS modules for each component
- Implement scoped styles
- Handle component variants
 
- Clone this repository
- Install dependencies:
pnpm install 
- Start the development server:
pnpm dev 
- The project uses Vite
- TypeScript
- pnpm for package management
Each task will involve:
- Setting up the styling approach
- Styling the Layout component
- Styling the Card component
- Styling the Button component
- Making the design responsive
- Adding hover and interactive states
- Start with mobile-first design
- Use CSS variables for consistent theming
- Consider accessibility in your styles
- Test different screen sizes
- Keep the original component structure intact