Unlocking CSS: Learn Through 100 Questions and Answers

100 Critical CSS Questions with Clear Answers

1. What does CSS stand for?

➡️ CSS stands for Cascading Style Sheets.

2. How do you add CSS to a webpage?

Inline CSS:

<h1 style="color:blue;">This is a heading</h1>

➡️ Adds CSS directly to an HTML element.

Internal CSS:

<style>
    h1 { color: blue; }
</style>

➡️ Defines styles within a <style> tag in the <head> section.

External CSS:

<link rel="stylesheet" type="text/css" href="styles.css">

➡️ Links an external CSS file.

3. What is the CSS box model?

➡️ The box model describes how elements are structured: content, padding, border, and margin.

div {
    width: 300px;
    padding: 20px;
    border: 5px solid black;
    margin: 15px;
}

4. How do you select an element by ID in CSS?

#myId {
    color: red;
}

➡️ Selects an element with the ID "myId."

5. How do you select elements by class in CSS?

.myClass {
    background-color: yellow;
}

➡️ Selects all elements with the class "myClass."

6. What is a CSS selector?

➡️ A CSS selector is a pattern used to select the elements you want to style.

7. How do you apply styles to multiple elements?

h1, h2, h3 {
    font-family: Arial, sans-serif;
}

➡️ Applies the same style to multiple elements.

8. What is the difference between padding and margin?

➡️ Padding is the space between the content and the border, while margin is the space outside the border.

9. How do you center a block element?

.center {
    width: 50%;
    margin: 0 auto;
}

➡️ Centers a block element with a specified width.

10. What is the purpose of the display property?

➡️ The display property defines how an element is displayed on the page.

div {
    display: block; /* or inline, inline-block, flex, grid, etc. */
}

11. How do you make an element a flex container?

.flex-container {
    display: flex;
}

➡️ Makes the element a flex container.

12. How do you create a responsive layout using CSS?

.responsive {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
}

➡️ Creates a responsive container.

13. What are media queries in CSS?

➡️ Media queries allow you to apply styles based on the viewport size or device characteristics.

@media (max-width: 600px) {
    body {
        background-color: lightblue;
    }
}

14. How do you change the font of an element?

p {
    font-family: 'Arial', sans-serif;
    font-size: 16px;
}

➡️ Changes the font family and size of a paragraph.

15. What are CSS pseudo-classes?

➡️ Pseudo-classes are used to style elements based on their state or position.

a:hover {
    color: green;
}

➡️ Changes the color of a link when hovered over.

16. What are CSS pseudo-elements?

➡️ Pseudo-elements allow you to style a specific part of an element.

p::first-line {
    font-weight: bold;
}

➡️ Styles the first line of a paragraph.

17. How do you use the z-index property?

.overlay {
    position: absolute;
    z-index: 10;
}

➡️ Controls the stacking order of elements.

18. What is the difference between absolute, relative, fixed, and sticky positioning?

➡️

  • absolute: Positions the element relative to its nearest positioned ancestor.

  • relative: Positions the element relative to its normal position.

  • fixed: Positions the element relative to the viewport.

  • sticky: Toggles between relative and fixed, depending on scroll position.

19. How do you set a background image in CSS?

body {
    background-image: url('background.jpg');
}

➡️ Sets a background image for the body.

20. How do you change the text color of an element?

h1 {
    color: blue;
}

➡️ Changes the text color of an <h1> element.

21. How do you set the width of an element?

div {
    width: 300px;
}

➡️ Sets the width of a <div> element.

22. What does the float property do?

➡️ The float property allows an element to be taken out of the normal flow and positioned to the left or right.

img {
    float: left;
}

23. How do you clear floats in CSS?

.clearfix::after {
    content: "";
    display: table;
    clear: both;
}

➡️ Creates a clearfix to clear floated elements.

24. How do you set a CSS variable?

:root {
    --main-color: blue;
}
body {
    background-color: var(--main-color);
}

➡️ Defines and uses a CSS variable.

25. How do you create a CSS transition?

button {
    transition: background-color 0.5s;
}

button:hover {
    background-color: red;
}

➡️ Creates a transition effect on hover.

26. What is the overflow property?

➡️ The overflow property controls what happens when content overflows an element's box.

div {
    overflow: hidden; /* or scroll, auto */
}

27. How do you apply multiple classes to an element?

<div class="class1 class2"></div>

➡️ Applies multiple classes to a single HTML element.

28. How do you style an element when it is active?

button:active {
    background-color: blue;
}

➡️ Styles a button when it is active (clicked).

29. What is the purpose of the visibility property?

➡️ The visibility property controls whether an element is visible or hidden without affecting the layout.

.hidden {
    visibility: hidden;
}

30. How do you create a responsive image?

img {
    max-width: 100%;
    height: auto;
}

➡️ Makes images responsive.

31. How do you set the font size using relative units?

body {
    font-size: 16px; /* Base size */
}

h1 {
    font-size: 2em; /* 2 times the base size */
}

➡️ Uses relative units to set font sizes.

32. How do you create a grid layout in CSS?

.grid-container {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
}

➡️ Creates a simple grid layout.

33. How do you change the cursor on hover?

button {
    cursor: pointer;
}

➡️ Changes the cursor to a pointer on hover.

34. What is the purpose of the opacity property?

➡️ The opacity property sets the transparency level of an element.

.transparent {
    opacity: 0.5;
}

35. How do you set a fixed height for an element?

div {
    height: 200px;
}

️ Sets a fixed height for a <div> element.

36. What is the position property used for?

➡️ The position property defines how an element is positioned in the document.

37. How do you change the text alignment in CSS?

p {
    text-align: center;
}

➡️ Centers the text within a paragraph.

38. What is the difference between inline, block, and inline-block?

➡️

  • inline: Does not start on a new line; only takes up as much width as necessary.

  • block: Starts on a new line and takes up the full width.

  • inline-block: Behaves like an inline element but can have width and height.

39. How do you use the :nth-child pseudo-class?

li:nth-child(2) {
    color: red;
}

➡️ Styles the second <li> element in a list.

40. What is the difference between rem and em units?

➡️

  • em: Relative to the font size of the element.

  • rem: Relative to the font size of the root element (<html>).

41. How do you set a list style type?

ul {
    list-style-type: square;
}

➡️ Sets the bullet style for a list.

42. What is the purpose of the text-transform property?

➡️ The text-transform property controls the capitalization of text.

h1 {
    text-transform: uppercase;
}

43. How do you create a simple CSS animation?

@keyframes example {
    from {background-color: red;}
    to {background-color: yellow;}
}

div {
    animation: example 5s infinite;
}

➡️ Creates a simple animation that changes the background color.

44. How do you use the calc() function in CSS?

div {
    width: calc(100% - 50px);
}

➡️ Performs calculations to set CSS property values.

45. How do you style a table in CSS?

table {
    width: 100%;
    border-collapse: collapse;
}

th, td {
    border: 1px solid black;
    padding: 8px;
}

➡️ Styles a table with borders and padding.

46. What is the transform property?

➡️ The transform property applies a 2D or 3D transformation to an element.

div {
    transform: rotate(45deg);
}

47. How do you set up a fallback font in CSS?

body {
    font-family: 'Arial', sans-serif;
}

➡️ Specifies a fallback font in case the first is unavailable.

a {
    color: blue;
    text-decoration: none;
}

a:hover {
    text-decoration: underline;
}

➡️ Styles links and adds an underline on hover.

49. What is the background shorthand property?

➡️ The background shorthand property sets multiple background properties in one declaration.

body {
    background: url('image.jpg') no-repeat center center fixed;
}

50. How do you set the visibility of an element?

.invisible {
    visibility: hidden;
}

➡️ Hides an element without removing it from the document flow.

51. What is the box-shadow property?

➡️ The box-shadow property adds shadow effects around an element's frame.

div {
    box-shadow: 5px 5px 10px gray;
}
body {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

footer {
    margin-top: auto;
}

➡️ Creates a footer that sticks to the bottom of the viewport.

53. How do you apply a CSS reset?

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

➡️ Resets margin and padding for all elements.

54. What is the purpose of the filter property?

➡️ The filter property applies graphical effects like blurring or color shifting.

img {
    filter: grayscale(100%);
}

55. How do you create rounded corners with CSS?

div {
    border-radius: 10px;
}

➡️ Rounds the corners of an element.

56. What does white-space control?

➡️ The white-space property controls how white space inside an element is handled.

p {
    white-space: nowrap;
}

57. How do you add space between elements?

.element {
    margin-bottom: 20px;
}

➡️ Adds space between elements.

58. What are grid-template-areas?

➡️ grid-template-areas defines named grid areas for easier layout management.

.grid-container {
    display: grid;
    grid-template-areas: 
        "header header"
        "sidebar main"
        "footer footer";
}

59. How do you create a CSS sprite?

.sprite {
    background-image: url('sprite.png');
    width: 50px; /* width of one sprite */
    height: 50px; /* height of one sprite */
}

➡️ Combines multiple images into a single file for optimization.

60. What is the purpose of the pointer-events property?

➡️ The pointer-events property controls under what circumstances (if any) a particular graphic can be the target of mouse events.

.disabled {
    pointer-events: none;
}

61. How do you apply styles conditionally using classes?

.active {
    background-color: green;
}

➡️ Applies styles when a class is added to an element.

62. What are data-* attributes?

➡️ data-* attributes allow you to store custom data on HTML elements.

<div data-info="example"></div>

➡️ Stores additional information within the element.

63. How do you use CSS animations with keyframes?

@keyframes move {
    from {transform: translateX(0);}
    to {transform: translateX(100px);}
}

div {
    animation: move 2s infinite;
}

64. What is the clip-path property?

➡️ The clip-path property creates a clipping region that determines what part of an element is visible.

div {
    clip-path: circle(50%);
}

65. How do you change the cursor to a help icon?

.help {
    cursor: help;
}

➡️ Changes the cursor to a help icon when hovering over the element.

66. What is the difference between visibility: hidden and display: none?

➡️

  • visibility: hidden: The element is hidden but still takes up space in the layout.

  • display: none: The element is completely removed from the layout.

67. How do you create a shadow effect for text?

h1 {
    text-shadow: 2px 2px 4px gray;
}

➡️ Adds a shadow effect to text.

68. What does the line-height property do?

➡️ The line-height property sets the amount of space above and below inline elements.

p {
    line-height: 1.5;
}

69. How do you create a tooltip using CSS?

.tooltip {
    position: relative;
}

.tooltip:hover::after {
    content: "Tooltip text";
    position: absolute;
    background: black;
    color: white;
    padding: 5px;
}

70. What is the cursor property?

➡️ The cursor property controls the type of cursor that is displayed when pointing over an element.

71. How do you create a CSS breadcrumb?

.breadcrumb {
    list-style: none;
    display: flex;
}

.breadcrumb li + li:before {
    content: " / ";
    padding: 0 5px;
}

72. How do you use CSS transitions for color changes?

button {
    background-color: blue;
    transition: background-color 0.5s;
}

button:hover {
    background-color: red;
}

73. What is the outline property?

➡️ The outline property is a shorthand for setting the outline style, color, and width.

input:focus {
    outline: 2px solid blue;
}

74. How do you create a vertical navigation menu?

.nav {
    display: flex;
    flex-direction: column;
}

75. What is the box-sizing property?

➡️ The box-sizing property controls how the total width and height of an element are calculated.

* {
    box-sizing: border-box;
}

76. How do you create a responsive dropdown menu?

.dropdown {
    position: relative;
}

.dropdown-content {
    display: none;
    position: absolute;
    background-color: #f9f9f9;
}

.dropdown:hover .dropdown-content {
    display: block;
}
a:active {
    color: red;
}

➡️ Styles a link when it is actively being clicked.

78. What is a CSS preprocessor?

➡️ A CSS preprocessor is a scripting language that extends CSS and is compiled into regular CSS.

79. How do you create a media query for landscape orientation?

@media (orientation: landscape) {
    body {
        background-color: lightblue;
    }
}

80. What is the purpose of the word-wrap property?

➡️ The word-wrap property allows long words to be broken and wrap onto the next line.

p {
    word-wrap: break-word;
}

81. How do you set the font weight in CSS?

p {
    font-weight: bold;
}

➡️ Sets the font weight for a paragraph.

82. What is the opacity property used for?

➡️ The opacity property sets the transparency level of an element.

.carousel {
    overflow: hidden;
}

.carousel-inner {
    display: flex;
    transition: transform 0.5s ease;
}

84. How do you create a multi-column layout in CSS?

.multi-column {
    column-count: 3;
    column-gap: 20px;
}

85. What is the purpose of the visibility property?

➡️ The visibility property determines whether an element is visible or hidden.

86. How do you use the filter property for grayscale?

img {
    filter: grayscale(100%);
}

87. How do you create a CSS sidebar?

.sidebar {
    width: 250px;
    position: fixed;
}

88. What does the overflow-x and overflow-y property do?

➡️ overflow-x controls horizontal overflow, while overflow-y controls vertical overflow.

89. How do you create a sticky navigation bar?

.navbar {
    position: sticky;
    top: 0;
}

90. What are the advantages of using CSS Grid?

➡️ CSS Grid provides a two-dimensional layout system, making it easy to create complex layouts.

91. How do you set custom properties (CSS variables)?

:root {
    --main-color: blue;
}

body {
    background-color: var(--main-color);
}

92. How do you create a CSS badge?

.badge {
    background-color: red;
    color: white;
    padding: 5px 10px;
    border-radius: 5px;
}

93. What is the transition property used for?

➡️ The transition property allows property changes in CSS values to occur smoothly over a specified duration.

94. How do you create a CSS notification?

.notification {
    background-color: yellow;
    padding: 10px;
    border: 1px solid orange;
}

95. How do you create a CSS card layout?

.card {
    border: 1px solid #ccc;
    border-radius: 8px;
    padding: 20px;
    box-shadow: 2px 2px 10px rgba(0, 0, 0, 0.1);
}

96. How do you style a form in CSS?

form {
    display: flex;
    flex-direction: column;
}

input {
    margin-bottom: 10px;
}

97. How do you use the aspect-ratio property?

.box {
    width: 100%;
    aspect-ratio: 16 / 9;
}

98. How do you create a CSS loader?

.loader {
    border: 8px solid #f3f3f3; /* Light gray */
    border-top: 8px solid #3498db; /* Blue */
    border-radius: 50%;
    width: 40px;
    height: 40px;
    animation: spin 1s linear infinite;
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

99. How do you create a full-screen overlay?

.overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
}

100. What is the purpose of the grid-gap property?

➡️ The grid-gap property defines the size of the gaps (gutters) between rows and columns in a grid layout.

.grid-container {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-gap: 10px;
}

  1. What are the types of CSS?

➡️ Inline, Internal, and External CSS.

Inline CSS:

<p style="color: blue;">This is an inline styled paragraph.</p>

Internal CSS:

<!DOCTYPE html>
<html>
<head>
  <style>
    p {
      color: blue;
    }
  </style>
</head>
<body>
  <p>This is an internal styled paragraph.</p>
</body>
</html>

External CSS:

<!-- Link to external CSS file in HTML -->
<link rel="stylesheet" type="text/css" href="styles.css">

styles.css:

p {
  color: blue;
}

  1. What is the difference between inline, internal, and external CSS?

➡️ Inline CSS is added directly within an HTML element, internal CSS is placed in the <style> tag in the HTML document, and external CSS is in a separate file linked via the <link> tag.


  1. What is the syntax of a CSS rule?

➡️ A CSS rule consists of a selector and a declaration block, like this: selector { property: value; }.

h1 {
  color: red;
  font-size: 20px;
}

  1. What is a CSS selector?

➡️ A CSS selector selects the HTML element(s) to style.

/* This selector targets all <p> elements */
p {
  color: green;
}

  1. What are the different types of selectors in CSS?

➡️ Universal (*), element, class, id, attribute, pseudo-class, and pseudo-element selectors.

/* Universal selector */
* {
  margin: 0;
}

/* Class selector */
.class-name {
  color: blue;
}

/* ID selector */
#unique-id {
  background-color: yellow;
}

  1. What is the difference between class and id selectors?

➡️ Class selectors (.class) can be used multiple times, while id selectors (#id) must be unique on a page.

<!-- Class example -->
<div class="box">Class Box</div>
<div class="box">Another Class Box</div>

<!-- ID example -->
<div id="unique-box">Unique Box</div>

  1. What is the box model in CSS?

➡️ The CSS box model includes margins, borders, padding, and the actual content of an element.

.box {
  margin: 20px;
  border: 5px solid black;
  padding: 15px;
  width: 200px;
}

  1. What are the properties of the box model?

➡️ margin, border, padding, and width/height.

.box {
  margin: 10px; /* space outside the box */
  border: 2px solid black; /* border thickness and color */
  padding: 20px; /* space inside the box */
  width: 300px; /* content width */
}

  1. What is the display property in CSS?

➡️ The display property determines how an element is displayed (e.g., block, inline, flex, grid).

.block {
  display: block; /* starts on a new line */
}

.inline {
  display: inline; /* stays inline with text */
}

  1. What does display: block mean?

➡️ The element takes up the full width and starts on a new line.

.block {
  display: block;
  background-color: lightgray;
}

  1. What does display: inline mean?

➡️ The element does not break the flow of the document and only takes the necessary width.

.inline {
  display: inline;
  background-color: lightblue;
}

  1. What does display: inline-block do?

➡️ It allows an element to flow inline but retains block-level properties like padding and width.

.inline-block {
  display: inline-block;
  padding: 10px;
  border: 1px solid black;
}

  1. What is the float property in CSS?

➡️ The float property is used to wrap text around an element (typically for images).

.img-float {
  float: left;
  margin: 10px;
}

  1. What is the clear property?

➡️ The clear property specifies whether an element should be moved below floating elements (left, right, both).

.clearfix {
  clear: both; /* element will not wrap around floats */
}

  1. What is the position property in CSS?

➡️ The position property specifies the type of positioning for an element (static, relative, absolute, fixed, sticky).

.relative {
  position: relative;
  top: 10px;
  left: 20px;
}

.absolute {
  position: absolute;
  top: 50px;
  left: 50px;
}

  1. What is the difference between relative and absolute positioning?

➡️ Relative positions an element relative to its normal position, while absolute positions it relative to its nearest positioned ancestor.

.relative {
  position: relative;
  left: 10px; /* shifts from its original position */
}

.absolute {
  position: absolute;
  top: 20px; /* positions relative to the closest positioned ancestor */
}

  1. What does position: fixed do?

➡️ The element is positioned relative to the viewport and does not move when the page is scrolled.

.fixed {
  position: fixed;
  top: 0;
  right: 0;
}

  1. What is z-index?

➡️ The z-index property controls the stack order of elements (which elements appear in front or behind).

.front {
  position: relative;
  z-index: 2; /* on top */
}

.back {
  position: relative;
  z-index: 1; /* behind */
}

  1. What is the flex layout?

➡️ Flexbox is a layout model that allows items within a container to align and distribute space.

.container {
  display: flex;
  justify-content: space-between;
}

  1. What are flex properties in CSS?

➡️ flex-direction, flex-wrap, justify-content, align-items, align-content, and flex-grow.

.container {
  display: flex;
  flex-direction: row; /* or column */
  flex-wrap: wrap; /* allows items to wrap */
  justify-content: center; /* alignment on main axis */
  align-items: stretch; /* alignment on cross axis */
}

  1. What is the grid layout in CSS?

➡️ CSS Grid is a layout system that allows creating complex grid-based layouts using rows and columns.

.container {
  display: grid;
  grid-template-columns: repeat(3, 1fr); /* three equal columns */
  grid-gap: 10px; /* space between grid items */
}

  1. What are grid properties in CSS?

➡️ grid-template-rows, grid-template-columns, grid-gap, justify-items, align-items, and grid-area.

.container {
  display: grid;
  grid-template-rows: 100px 200px; /* two rows */
  grid-template-columns: 1fr 2fr; /* two columns with different sizes */
}

  1. What is a pseudo-class in CSS?

➡️ A pseudo-class selects elements based on their state or interaction (e.g., :hover, :focus, :nth-child).

a:hover {
  color: red; /* changes color when hovered */
}

  1. What is a pseudo-element in CSS?

➡️ A pseudo-element allows you to style specific parts of an element (e.g., ::before, ::after).

p::first-line {
  font-weight: bold; /* styles only the first line of the paragraph */
}

  1. What is the hover pseudo-class?

➡️ The :hover pseudo-class applies styles when the user hovers over an element.

.button:hover {
  background-color: yellow; /* changes background color on hover */
}

  1. What is the nth-child() pseudo-class?

➡️ The nth-child() pseudo-class selects elements based on their order among siblings.

li:nth-child(2) {
  color: green; /* styles the second <li> element */
}

  1. What is the first-child pseudo-class?

➡️ The :first-child pseudo-class selects the first child element of its parent.

ul li:first-child {
  font-weight: bold; /* styles the first <li> in <ul> */
}

  1. What is the last-child pseudo-class?

➡️ The :last-child pseudo-class selects the last child element of its parent.

ul li:last-child {
  color: blue; /* styles the last <li> in <ul> */
}

  1. What is the before pseudo-element?

➡️ The ::before pseudo-element inserts content before the content of an element.

h1::before {
  content: "Note: "; /* adds text before the <h1> */
  color: red;
}

  1. What is the after pseudo-element?

➡️ The ::after pseudo-element inserts content after the content of an element.

h1::after {
  content: " !"; /* adds an exclamation mark after the <h1> */
}

  1. What is a media query in CSS?

➡️ Media queries are used to apply styles based on device characteristics (like screen width).

@media (max-width: 600px) {
  body {
    background-color: lightgray; /* changes background on smaller screens */
  }
}

  1. What is the transition property?

➡️ The transition property allows smooth transitions between CSS property values.

.box {
  transition: background-color 0.5s ease; /* smooth transition for background color */
}

.box:hover {
  background-color: blue; /* changes color on hover */
}

  1. What is the animation property?

➡️ The animation property allows defining keyframe animations for elements.

@keyframes example {
  from {background-color: red;}
  to {background-color: yellow;}
}

.box {
  animation: example 5s infinite; /* applies animation */
}

  1. What is the difference between transition and animation?

➡️ Transitions occur on property changes, while animations can define multiple keyframes and are more complex.


  1. What is the opacity property in CSS?

➡️ The opacity property sets the transparency level of an element (0 to 1).

.transparent {
  opacity: 0.5; /* 50% transparency */
}

  1. What is the visibility property in CSS?

➡️ The visibility property specifies whether an element is visible or hidden (visible, hidden, collapse).

.hidden {
  visibility: hidden; /* the element is hidden but takes up space */
}

  1. What is the overflow property in CSS?

➡️ The overflow property controls what happens when content overflows an element's box.

.container {
  overflow: hidden; /* hides overflow content */
}

  1. What is the text-align property?

➡️ The text-align property sets the horizontal alignment of text (left, right, center, justify).

.center {
  text-align: center; /* centers text */
}

  1. What is the font-size property?

➡️ The font-size property specifies the size of the font.

.big-text {
  font-size: 24px; /* sets font size to 24 pixels */
}

Did you find this article valuable?

Support CodeWords by becoming a sponsor. Any amount is appreciated!