Assignment: Advanced CSS Skills Assessment
Objective: This assignment aims to assess your proficiency in advanced CSS, including selectors, layout techniques, animations, and responsive design.
Instructions:
Task 1: Complex CSS Selectors (15 points)
Create an HTML document with a basic structure containing headings, paragraphs, and lists. Then, use CSS to style specific elements using advanced selectors:
- Apply styles to even and odd paragraphs differently using
:nth-child
pseudo-classes. - Style elements with specific classes and IDs.
- Use descendant selectors to style nested elements.
Task 2: Advanced Layout (20 points)
- Implement a multi-column layout using CSS Grid or Flexbox. Create a grid or flex layout for navigation, content, and a sidebar.
- Use media queries to change the layout for smaller screens (e.g., tablet and mobile) to ensure responsive design.
Task 3: CSS Transitions and Animations (20 points)
- Apply CSS transitions to create smooth hover effects for at least two elements (e.g., buttons, images).
- Create a CSS animation for an element (e.g., a rotating image, fading text).
- Ensure that animations are well-timed and visually appealing.
Task 4: Custom Fonts (15 points)
- Include and apply a custom web font from a reliable source like Google Fonts or Adobe Fonts.
- Use the
@font-face
rule to add a locally hosted font and apply it to specific elements.
Task 5: Pseudo-elements and Pseudo-classes (15 points)
- Utilize pseudo-elements like
::before
or::after
to add decorative elements to your web page. - Implement styles for links using pseudo-classes like
:hover
,:visited
, and:active
.
Task 6: CSS Variables (10 points)
- Define and use CSS variables (custom properties) to maintain consistency in color schemes or other design aspects across your web page.
Task 7: Advanced Selectors and Combinators (10 points)
- Implement complex CSS selectors, such as combinators (
>
,+
,~
) to target specific nested elements. - Use attribute selectors to target elements with specific attributes.
Task 8: Compatibility and Fallbacks (10 points)
- Ensure that your CSS is cross-browser compatible and include vendor prefixes where necessary.
- Provide a CSS rule as a fallback in case a browser doesn’t support a particular property or value.
Submission:
Submit your HTML file (.html), external CSS file (.css), and any associated resources (fonts, if applicable) in a zip folder. Include your name in the file name (e.g., “YourName_Advanced_CSS_Assignment.zip”).
Grading:
Your assignment will be graded based on the completeness, correctness, adherence to CSS standards, creativity, and responsiveness. Make sure your code is well-structured and well-documented.