Bird
Raised Fist0
CSSmarkup~10 mins

Transform property in CSS - Interactive Code Practice

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
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to rotate the box by 45 degrees.

CSS
div {
  transform: [1](45deg);
}
Drag options to blanks, or click blank then click option'
Arotate
Bscale
Ctranslate
Dskew
Attempts:
3 left
💡 Hint
Common Mistakes
Using scale or translate instead of rotate.
Forgetting the unit 'deg' after the number.
2fill in blank
medium

Complete the code to move the box 100 pixels to the right.

CSS
div {
  transform: [1](100px, 0);
}
Drag options to blanks, or click blank then click option'
Arotate
Btranslate
Cscale
Dskew
Attempts:
3 left
💡 Hint
Common Mistakes
Using rotate or scale instead of translate.
Not specifying both X and Y values.
3fill in blank
hard

Fix the error in the code to scale the box to twice its size.

CSS
div {
  transform: [1](2);
}
Drag options to blanks, or click blank then click option'
Atranslate
Brotate
Cskew
Dscale
Attempts:
3 left
💡 Hint
Common Mistakes
Using translate or rotate instead of scale.
Forgetting to use a number inside the parentheses.
4fill in blank
hard

Fill both blanks to skew the box 20 degrees horizontally and 10 degrees vertically.

CSS
div {
  transform: skew([1]deg, [2]deg);
}
Drag options to blanks, or click blank then click option'
A20
B10
C45
D30
Attempts:
3 left
💡 Hint
Common Mistakes
Swapping the two angles.
Using angles that are too large or unrelated.
5fill in blank
hard

Fill all three blanks to rotate the box 90 degrees, then move it 50px right and 20px down.

CSS
div {
  transform: [1](90deg) [2](50px, [3]);
}
Drag options to blanks, or click blank then click option'
Ascale
Btranslate
C20px
Drotate
Attempts:
3 left
💡 Hint
Common Mistakes
Mixing up rotate and translate order.
Forgetting units like 'px' or 'deg'.

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