Assignments Of Class 14: Flexbox - Part 1
Assignment 1: Basic Flex Layout with Row Direction
Objective:
Create a basic Flexbox layout where four items are arranged in a row with equal spacing between them.
Steps:
1. Create the HTML structure:
html<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Flexbox Row Layout</title> <link rel="stylesheet" href="styles.css"></head><body> <div class="container"> <div class="item">Item 1</div> <div class="item">Item 2</div> <div class="item">Item 3</div> <div class="item">Item 4</div> </div></body></html>2. Style the layout using Flexbox:
css.container { display: flex; justify-content: space-between; /* Distribute items evenly */ align-items: center; /* Align items vertically in the center */ height: 100vh; /* Full height of the viewport */ background-color: #f0f0f0;} .item { background-color: #4CAF50; color: white; padding: 20px; border-radius: 5px; text-align: center; flex: 1; /* Items take equal space */ margin: 10px;}Explanation:
display: flexcreates a flex container, and by default, the items are arranged in a row.justify-content: space-betweenevenly distributes the space between the items.align-items: centervertically centers the items within the container.
Assignment 2: Align Items Vertically in a Column Layout
Objective:
Change the layout to a column, where items are arranged vertically and centered.
Steps:
1. Modify the CSS for column layout:
css.container { display: flex; flex-direction: column; /* Arrange items in a column */ justify-content: center; /* Center items vertically */ align-items: center; /* Center items horizontally */ height: 100vh; background-color: #f0f0f0;} .item { background-color: #4CAF50; color: white; padding: 20px; border-radius: 5px; text-align: center; margin: 10px;}Explanation:
flex-direction: columnarranges the items vertically.justify-content: centercenters the items along the vertical axis.align-items: centercenters the items horizontally.
Assignment 3: Use justify-content to Align Items in a Row
Objective:
Experiment with justify-content to align items at the start, center, or end of the container.
Steps:
1. Modify the CSS for different justify-content values:
css.container { display: flex; justify-content: center; /* Align items in the center */ align-items: center; height: 100vh; background-color: #f0f0f0;}2. Experiment with different values of justify-content:
o justify-content: flex-start; aligns items at the start of the container.
o justify-content: flex-end; aligns items at the end.
o justify-content: space-between; distributes items evenly with the first item at the start and the last item at the end.
Assignment 4: Align Items in a Row with Space Between
Objective:
Distribute items evenly in a row, with the first item at the start and the last item at the end.
Steps:
1. Modify the CSS to use justify-content: space-between:
css.container { display: flex; justify-content: space-between; /* Space between items */ align-items: center; height: 100vh; background-color: #f0f0f0;}Explanation:
justify-content: space-betweenplaces the items at the start and end, with equal space between them.
Assignment 5: Use align-items to Align Items Vertically in a Row
Objective:
Experiment with the align-items property to align items vertically in a row layout.
Steps:
1. Modify the CSS to align items using align-items:
css.container { display: flex; justify-content: space-around; align-items: flex-start; /* Align items at the top of the container */ height: 100vh; background-color: #f0f0f0;}2. Try different align-items values:
o align-items: flex-start; aligns items at the top.
o align-items: flex-end; aligns items at the bottom.
o align-items: center; aligns items in the center vertically.
Assignment 6: Change Layout Direction Using flex-direction
Objective:
Change the direction of the layout from row to column.
Steps:
1. Modify the CSS to use flex-direction: column:
css.container { display: flex; flex-direction: column; /* Arrange items in a column */ justify-content: space-between; align-items: center; height: 100vh; background-color: #f0f0f0;}Explanation:
flex-direction: columnwill change the arrangement of items from a horizontal row to a vertical column.
Assignment 7: Use flex-grow to Control Item Growth
Objective:
Use flex-grow to make items expand to fill the available space.
Steps:
1. Modify the CSS for flex-grow:
css.container { display: flex; justify-content: space-between; align-items: center; height: 100vh; background-color: #f0f0f0;} .item { background-color: #4CAF50; color: white; padding: 20px; text-align: center; flex-grow: 1; /* Allow items to grow and fill available space */ margin: 10px;}Explanation:
flex-grow: 1allows items to grow and take up the remaining space equally.
Assignment 8: Use align-self to Override Vertical Alignment for Specific Item
Objective:
Use align-self to align a specific item differently from the rest of the items.
Steps:
1. Modify the CSS for align-self:
css.container { display: flex; justify-content: space-around; align-items: center; height: 100vh; background-color: #f0f0f0;} .item { background-color: #4CAF50; color: white; padding: 20px; text-align: center; margin: 10px;} .item:nth-child(2) { align-self: flex-start; /* Align second item to the top */}Explanation:
align-selfallows an individual item to have a different vertical alignment compared to the rest of the items.
Assignment 9: Create a Flex Layout with Responsive Design
Objective:
Create a responsive layout using Flexbox where the items stack in a column on small screens and align in a row on larger screens.
Steps:
1. Modify the CSS to use media queries:
css.container { display: flex; flex-wrap: wrap; /* Allow items to wrap */ justify-content: space-between; align-items: center; height: 100vh; background-color: #f0f0f0;} .item { background-color: #4CAF50; color: white; padding: 20px; text-align: center; margin: 10px; flex: 1;} @media (max-width: 600px) { .container { flex-direction: column; /* Stack items in a column on small screens */ }}Explanation:
flex-wrap: wrapallows items to wrap if they do not fit in the container.- Media queries are used to change the direction of the items on smaller screens.
Assignment 10: Create a Nested Flex Layout
Objective:
Create a nested Flexbox layout where a flex container contains other flex containers as items.
Steps:
1. Create a nested flex layout in HTML:
html<div class="container"> <div class="item"> <div class="sub-container"> <div class="sub-item">Sub Item 1</div> <div class="sub-item">Sub Item 2</div> </div> </div> <div class="item">Item 2</div></div>2. Style the nested layout:
css.container { display: flex; justify-content: space-between; align-items: center; height: 100vh; background-color: #f0f0f0;} .item { background-color: #4CAF50; color: white; padding: 20px; text-align: center; margin: 10px;} .sub-container { display: flex; flex-direction: column;} .sub-item { background-color: #FF6347; color: white; padding: 10px; margin: 5px;}Explanation:
- A nested flex container (
sub-container) is used inside an item to create a column layout within a row layout.


No comments:
Post a Comment