Bird
Raised Fist0
React Nativemobile~20 mins

Margin, padding, border in React Native - Mini App: Build & Ship

Choose your learning style10 modes available
Build: Box Styling Demo
This screen shows a colored box with margin, padding, and border to help understand spacing and borders in React Native.
Target UI
-------------------------
|                       |
|   [ Colored Box ]      |
|                       |
-------------------------
Create a View with a red background color.
Add margin of 20 pixels around the box.
Add padding of 15 pixels inside the box.
Add a black border with width 3 pixels around the box.
Inside the box, place a Text component that says 'Hello Box'.
Starter Code
React Native
import React from 'react';
import { View, Text, StyleSheet } from 'react-native';

export default function BoxStylingDemo() {
  return (
    <View style={styles.container}>
      {/* TODO: Add the styled box here */}
    </View>
  );
}

const styles = StyleSheet.create({
  container: {
    flex: 1,
    justifyContent: 'center',
    alignItems: 'center',
    backgroundColor: '#fff',
  },
});
Task 1
Task 2
Solution
React Native
import React from 'react';
import { View, Text, StyleSheet } from 'react-native';

export default function BoxStylingDemo() {
  return (
    <View style={styles.container}>
      <View style={styles.box}>
        <Text>Hello Box</Text>
      </View>
    </View>
  );
}

const styles = StyleSheet.create({
  container: {
    flex: 1,
    justifyContent: 'center',
    alignItems: 'center',
    backgroundColor: '#fff',
  },
  box: {
    margin: 20,
    padding: 15,
    borderWidth: 3,
    borderColor: 'black',
    backgroundColor: 'red',
  },
});

We created a View styled as a box with margin, padding, border, and background color. Margin adds space outside the box, padding adds space inside around the text, and border draws a black line around the box. The text 'Hello Box' is inside the padded area.

Final Result
Completed Screen
-------------------------
|                       |
|   -----------------   |
|   | Hello Box     |   |
|   -----------------   |
|                       |
-------------------------
The box is centered on the screen with space around it (margin).
Inside the box, the text has space around it (padding).
A black border outlines the red box.
Stretch Goal
Add a shadow effect to the box to make it look raised.
💡 Hint
Use shadowColor, shadowOffset, shadowOpacity, and shadowRadius styles on iOS, and elevation on Android.

Practice

(1/5)
1. What does padding do in a React Native style?
easy
A. Adds space inside the element, between content and border
B. Adds space outside the element, between element and neighbors
C. Draws a line around the element
D. Changes the background color of the element

Solution

  1. Step 1: Understand padding concept

    Padding adds space inside the element, pushing content away from the edges.
  2. Step 2: Compare with margin and border

    Margin adds space outside the element; border draws a line around it.
  3. Final Answer:

    Adds space inside the element, between content and border -> Option A
  4. Quick Check:

    Padding = inside space [OK]
Hint: Padding is inside space; margin is outside space [OK]
Common Mistakes:
  • Confusing padding with margin
  • Thinking border adds space
  • Mixing padding with background color
2. Which of the following is the correct way to add a 10 pixel margin to all sides of a View in React Native?
easy
A. { padding: 10 }
B. { marginLeft: 10, padding: 10 }
C. { borderWidth: 10 }
D. { margin: 10 }

Solution

  1. Step 1: Identify margin syntax

    To add margin on all sides, use margin: 10.
  2. Step 2: Check other options

    Padding adds inner space, borderWidth adds border thickness, and marginLeft only adds left margin.
  3. Final Answer:

    { margin: 10 } -> Option D
  4. Quick Check:

    margin: 10 adds margin all sides [OK]
Hint: Use margin: value for all sides margin [OK]
Common Mistakes:
  • Using padding instead of margin
  • Using borderWidth to add space
  • Only setting marginLeft instead of all sides
3. What will be the visible effect of this style on a View?
{
  padding: 20,
  margin: 10,
  borderWidth: 5,
  borderColor: 'red'
}
medium
A. The View has no visible border but has padding and margin
B. The View has 20 pixels space outside, 10 pixels space inside, and no border
C. The View has 10 pixels space outside, 20 pixels space inside, and a 5 pixel red border
D. The View has a 5 pixel blue border with no padding or margin

Solution

  1. Step 1: Analyze padding and margin values

    Padding: 20 adds space inside the View; margin: 10 adds space outside.
  2. Step 2: Analyze border properties

    borderWidth: 5 adds a 5 pixel border; borderColor: 'red' colors it red.
  3. Final Answer:

    The View has 10 pixels space outside, 20 pixels space inside, and a 5 pixel red border -> Option C
  4. Quick Check:

    margin = outside, padding = inside, borderWidth + borderColor = border [OK]
Hint: Margin outside, padding inside, borderWidth + borderColor visible [OK]
Common Mistakes:
  • Mixing padding and margin values
  • Ignoring borderColor effect
  • Assuming borderWidth is padding
4. Identify the error in this style code for adding margin and border:
{
  margin: 15,
  border: '2px solid black'
}
medium
A. Border color must be set separately from borderWidth
B. React Native does not support the 'border' shorthand property
C. Margin value must be a string, not a number
D. Margin cannot be set without padding

Solution

  1. Step 1: Check margin syntax

    Margin: 15 is valid as a number for all sides.
  2. Step 2: Check border property

    React Native does not support CSS shorthand like 'border: 2px solid black'. It requires separate properties: borderWidth and borderColor.
  3. Final Answer:

    React Native does not support the 'border' shorthand property -> Option B
  4. Quick Check:

    No 'border' shorthand in React Native [OK]
Hint: Use borderWidth and borderColor separately, no shorthand [OK]
Common Mistakes:
  • Using CSS shorthand border property
  • Thinking margin needs to be string
  • Believing margin requires padding
5. You want a View with a 15 pixel red border, 10 pixels padding inside, and 20 pixels margin outside. Which style object achieves this correctly?
hard
A. { borderWidth: 15, borderColor: 'red', padding: 10, margin: 20 }
B. { borderWidth: 10, borderColor: 'red', padding: 20, margin: 15 }
C. { border: '15px solid red', padding: 10, margin: 20 }
D. { borderWidth: 15, borderColor: 'red', padding: 20, margin: 10 }

Solution

  1. Step 1: Match borderWidth and borderColor

    Border should be 15 pixels thick and red, so borderWidth: 15 and borderColor: 'red' are correct.
  2. Step 2: Match padding and margin values

    Padding inside should be 10, margin outside 20, so padding: 10 and margin: 20 are correct.
  3. Step 3: Check other options for errors

    { borderWidth: 10, borderColor: 'red', padding: 20, margin: 15 } swaps padding and margin values; { border: '15px solid red', padding: 10, margin: 20 } uses unsupported border shorthand; { borderWidth: 15, borderColor: 'red', padding: 20, margin: 10 } swaps padding and margin values.
  4. Final Answer:

    { borderWidth: 15, borderColor: 'red', padding: 10, margin: 20 } -> Option A
  5. Quick Check:

    Correct border, padding, margin values [OK]
Hint: Match each property to its exact value carefully [OK]
Common Mistakes:
  • Swapping padding and margin values
  • Using CSS border shorthand
  • Incorrect borderWidth or borderColor
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard