1. CSS ID vs Class
What?
- ID is a unique identifier for an HTML element.
- Class is a reusable identifier that can be assigned to multiple elements.
When to Use?
- Use ID when you want to style or manipulate one unique element on the page.
- Use Class when you want to style or select multiple elements with the same styles.
Why?
- IDs have higher specificity, so they override classes if both are applied to the same element.
- Classes promote reusable styles and avoid duplication.
Differences
| Feature | ID | Class | 
|---|---|---|
| Uniqueness | Unique per page | Can be used on multiple elements | 
| Selector syntax | #idName | .className | 
| Specificity | Higher | Lower | 
| Usage | Single element styling | Group of elements | 
Example
<div id="header">Header</div>
<div class="box">Box 1</div>
<div class="box">Box 2</div>
#header {
  background-color: blue;
  color: white;
}
.box {
  border: 1px solid gray;
  padding: 10px;
}
2. Main Axis vs Cross Axis (Flexbox)
What?
- In Flexbox, the main axis is the direction in which flex items are laid out (horizontal by default).
- The cross axis is perpendicular to the main axis.
When?
- When working with flex containers and wanting to align or distribute items.
Why?
- Understanding these axes is key to using Flexbox properties correctly like justify-content(main axis) andalign-items(cross axis).
Differences
| Property | Main Axis | Cross Axis | 
|---|---|---|
| Direction | Defined by flex-direction | Perpendicular to main axis | 
| Alignment props | justify-content | align-items/align-content | 
Example
.container {
  display: flex;
  flex-direction: row; /* main axis: horizontal */
  justify-content: center; /* aligns items along main axis */
  align-items: center; /* aligns items along cross axis */
}
  
  
  3. Flexbox Properties: justify-content, align-items, align-content
When & What?
- 
justify-content: Aligns flex items along the main axis (horizontal ifflex-direction: row).
- 
align-items: Aligns flex items along the cross axis (vertical ifflex-direction: row).
- 
align-content: Aligns rows of flex items (if there are multiple lines, i.e.,flex-wrap: wrap).
  
  
  Common values for justify-content:
- 
flex-start(default) — items packed at the start
- 
center— items centered
- 
flex-end— items packed at the end
- 
space-between— equal space between items
- 
space-around— equal space around items
  
  
  Common values for align-items:
- 
stretch(default) — items stretch to fill container
- 
center— items centered vertically
- 
flex-start— items aligned at top
- 
flex-end— items aligned at bottom
Example
.container {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  align-content: flex-start;
}
  
  
  4. justify-content: center vs text-align: center
What?
- 
justify-content: centeris a Flexbox container property that centers flex items horizontally along the main axis.
- 
text-align: centeris a text property that centers inline or inline-block content inside a block container.
When?
- Use justify-content: centerwhen working with flex containers to center child elements.
- Use text-align: centerto center text or inline elements inside a block.
Differences
| Feature | justify-content: center | text-align: center | 
|---|---|---|
| Applies To | Flex container’s children (flex items) | Inline or inline-block content inside a block element | 
| Effect | Centers flex items along the main axis | Centers inline text or elements horizontally | 
| Works With | Flexbox layout | Normal block layout | 
Example
.flex-container {
  display: flex;
  justify-content: center;
}
.text-container {
  text-align: center;
}
Interview Questions & Answers
Q1. What is the difference between an ID and a class in CSS?
A: ID is unique and used for single elements; class can be reused for multiple elements.
Q2. What is the main axis and cross axis in Flexbox?
A: Main axis is the direction flex items are laid out (default horizontal), cross axis is perpendicular to it.
Q3. How does justify-content differ from align-items in Flexbox?
A: justify-content aligns items along the main axis; align-items aligns items along the cross axis.
Q4. When would you use text-align: center instead of justify-content: center?
A: Use text-align: center to center inline text inside block elements; use justify-content: center to center flex items in a flex container.
Q5. What happens if you apply both an ID and a class to the same element with conflicting styles?
A: The ID styles usually take precedence because of higher specificity.
Q6. Can align-content be used if flex items do not wrap?
A: No, align-content only affects multi-line flex containers when flex-wrap is enabled.
Q7. Give an example of a CSS selector using ID and class.
#header { color: blue; }
.menu-item { font-weight: bold; }
If you want, I can prepare separate blog posts or detailed notes for any of these topics too!
 

 
    
Top comments (0)