Jamie wants to have two divs lined up side by side but not touching which attribute can she use to specify how much of the screen the divs take up?

1 answer

Jamie can use the CSS width property to specify how much of the screen each div should take up. Additionally, to ensure that the divs are lined up side by side and not touching, she can use the margin property to add space between them.

Here’s a simple example:

<div class="box1"></div>
<div class="box2"></div>
.box1 {
    width: 45%;     /* Set width of the first div */
    height: 100px;  /* Set height to make it visible */
    background-color: red;
    margin-right: 5%; /* Add space between the divs */
    float: left;     /* Aligns the div to the left */
}

.box2 {
    width: 45%;     /* Set width of the second div */
    height: 100px;  /* Set height to make it visible */
    background-color: blue;
    float: left;    /* Aligns the div to the left */
}

In this example:

  • Both divs are set to 45% of the container width, leaving room for the margins.
  • A margin-right of 5% is added to the first div to create space between the two divs.
  • Using float: left; allows them to sit next to each other.

Alternatively, if Jamie prefers a more modern approach, she could use CSS Flexbox or Grid layout to achieve a similar effect without using floats.

Here’s an example using Flexbox:

.container {
    display: flex;
    justify-content: space-between; /* Creates space between the items */
}

.box1, .box2 {
    width: 45%; /* Same as before */
    height: 100px; 
}

In this case, both .box1 and .box2 would be placed in a parent .container div that has the display: flex; property, and justify-content: space-between; creates space between them automatically.