Bird
Raised Fist0
CSSmarkup~20 mins

Transform property in CSS - Practice Problems & Coding Challenges

Choose your learning style10 modes available

Start learning this pattern below

Jump into concepts and practice - no test required

or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Challenge - 5 Problems
🎖️
Transform Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
📝 Syntax
intermediate
2:00remaining
What is the output of this CSS transform?
Given this CSS code, what will be the visual effect on the element?
CSS
div {
  transform: rotate(45deg) translateX(50px);
}
AThe element moves 50px to the left, then rotates 45 degrees counterclockwise.
BThe element moves 50px to the right, then rotates 45 degrees clockwise.
CThe element rotates 45 degrees counterclockwise, then moves 50px to the left.
DThe element rotates 45 degrees clockwise, then moves 50px to the right.
Attempts:
2 left
💡 Hint
Remember that transform functions are applied in the order they are written.
🧠 Conceptual
intermediate
1:30remaining
Which transform function changes the size of an element?
Choose the CSS transform function that changes the size of an element without affecting its position.
Atranslate()
Bscale()
Crotate()
Dskew()
Attempts:
2 left
💡 Hint
Think about which function stretches or shrinks the element.
layout
advanced
2:30remaining
What is the visual result of this transform sequence?
Consider the CSS below. What will the element look like after these transforms?
CSS
div {
  transform: translate(100px, 0) rotate(90deg) scale(0.5);
  width: 200px;
  height: 100px;
  background-color: teal;
}
AThe element rotates 90 degrees clockwise, moves 100px right, and shrinks to half size.
BThe element shrinks to half size, rotates 90 degrees clockwise, then moves 100px right.
CThe element moves 100px right, rotates 90 degrees clockwise, and shrinks to half size.
DThe element moves 100px right, shrinks to half size, then rotates 90 degrees clockwise.
Attempts:
2 left
💡 Hint
Transforms apply in the order written, affecting the coordinate system for the next transform.
accessibility
advanced
1:30remaining
How can CSS transform affect accessibility?
Which statement about CSS transform and accessibility is true?
ATransform changes the element's position visually but does not affect keyboard focus order.
BTransform moves the element and automatically updates the tab order for keyboard navigation.
CTransform disables screen readers from reading the transformed element.
DTransform causes the element to be removed from the accessibility tree.
Attempts:
2 left
💡 Hint
Think about how visual changes relate to keyboard and screen reader behavior.
selector
expert
2:00remaining
Which CSS selector targets elements with a transform that includes rotate(45deg)?
Given multiple elements with different transform values, which selector matches only those with rotate(45deg) in their transform property?
A[style*='rotate(45deg)']
B[style$='rotate(45deg)']
C[style^='rotate(45deg)']
D[transform='rotate(45deg)']
Attempts:
2 left
💡 Hint
Think about how attribute selectors match substrings inside style attributes.

Practice

(1/5)
1. What does the CSS transform property do?
easy
A. It changes the position, size, or shape of an element visually.
B. It changes the background color of an element.
C. It adds a border around an element.
D. It hides the element from the page.

Solution

  1. Step 1: Understand the purpose of transform

    The transform property visually changes elements by moving, rotating, scaling, or skewing them.
  2. Step 2: Compare with other CSS properties

    Changing background color, borders, or visibility are done by other CSS properties, not transform.
  3. Final Answer:

    It changes the position, size, or shape of an element visually. -> Option A
  4. Quick Check:

    Transform = Visual change in shape/position [OK]
Hint: Remember transform moves or changes shape, not colors [OK]
Common Mistakes:
  • Confusing transform with color or visibility properties
  • Thinking transform changes content instead of appearance
  • Mixing transform with layout properties like margin or padding
2. Which of the following is the correct syntax to rotate an element by 45 degrees using transform?
easy
A. transform: rotate = 45deg;
B. transform: rotate45deg;
C. transform: rotate(45deg);
D. transform: rotate(45);

Solution

  1. Step 1: Recall correct function syntax for rotate

    The rotate function requires parentheses and a unit, like rotate(45deg).
  2. Step 2: Check each option's syntax

    transform: rotate(45deg); uses correct syntax with parentheses and unit. Options A, B, and D miss parentheses, equal sign, or units.
  3. Final Answer:

    transform: rotate(45deg); -> Option C
  4. Quick Check:

    Rotate needs parentheses and units [OK]
Hint: Use parentheses and units for transform functions [OK]
Common Mistakes:
  • Omitting parentheses around the angle
  • Forgetting the unit 'deg' for degrees
  • Using equal sign instead of colon or parentheses
3. What will be the visual result of this CSS?
div {
  transform: translateX(50px) scale(2);
  width: 100px;
  height: 100px;
  background-color: blue;
}
medium
A. A blue square moved 50px down and doubled in size.
B. A blue square doubled in size but stays in place.
C. A blue square moved 50px right but size stays the same.
D. A blue square moved 50px right and doubled in size.

Solution

  1. Step 1: Understand translateX and scale

    translateX(50px) moves the element 50 pixels to the right. scale(2) doubles the element's size.
  2. Step 2: Combine effects on the blue square

    The square moves right by 50px and becomes twice as wide and tall, so it appears bigger and shifted right.
  3. Final Answer:

    A blue square moved 50px right and doubled in size. -> Option D
  4. Quick Check:

    translateX = right move, scale = size change [OK]
Hint: translateX moves horizontally, scale changes size [OK]
Common Mistakes:
  • Confusing translateX with translateY (vertical move)
  • Thinking scale only changes width or height, not both
  • Ignoring the order of transform functions
4. Identify the error in this CSS code:
p {
  transform: rotate 30deg;
}
medium
A. Missing parentheses around the angle value.
B. The unit 'deg' is not allowed with rotate.
C. The property name should be 'transform-rotate'.
D. Rotate cannot be used on paragraph elements.

Solution

  1. Step 1: Check syntax for rotate function

    The rotate function requires parentheses around the angle, like rotate(30deg).
  2. Step 2: Review other options for correctness

    Units like 'deg' are required. The property is correctly named transform. Rotate works on any element.
  3. Final Answer:

    Missing parentheses around the angle value. -> Option A
  4. Quick Check:

    Rotate needs parentheses around angle [OK]
Hint: Always use parentheses with transform functions [OK]
Common Mistakes:
  • Omitting parentheses in transform functions
  • Thinking 'deg' is invalid unit for rotate
  • Confusing property names like transform-rotate
5. You want to create a button that first scales up to 1.5 times its size and then rotates 90 degrees on hover. Which CSS transform property correctly combines these effects?
hard
A. transform: scale(1.5) rotate 90deg;
B. transform: scale(1.5) rotate(90deg);
C. transform: scale(1.5) + rotate(90deg);
D. transform: rotate(90deg) scale(1.5);

Solution

  1. Step 1: Understand order of transform functions

    Transforms are applied left to right. To scale first, then rotate, write scale(1.5) rotate(90deg).
  2. Step 2: Check syntax for combining transforms

    Transforms are combined by space-separated functions without operators or missing parentheses. transform: scale(1.5) rotate(90deg); is correct syntax.
  3. Final Answer:

    transform: scale(1.5) rotate(90deg); -> Option B
  4. Quick Check:

    Combine transforms with space, order matters [OK]
Hint: Write transforms space-separated in correct order [OK]
Common Mistakes:
  • Using '+' operator between transform functions
  • Omitting parentheses or units
  • Reversing order and changing visual effect