Follow

Keep Up to Date with the Most Important News

By pressing the Subscribe button, you confirm that you have read and are agreeing to our Privacy Policy and Terms of Use
Contact

Problem fitting two divs side by side in HTML

I am trying to make two divs stand side by side on the webpage using the float property, as described here. However, it isn’t working as expected. What do I need to do to fix the issue?

(Please note that I am following a tutorial and thus do not want to use Flexbox or grid for this purpose.)

What I want is something like this:

MEDevel.com: Open-source for Healthcare and Education

Collecting and validating open-source software for healthcare, education, enterprise, development, medical imaging, medical records, and digital pathology.

Visit Medevel

what I’m getting is something like this:

enter image description here

Here is the HTML for my webpage:

body {
  background-color: #fff;
}

h1 {
  color: lightsalmon;
  text-align: center;
}

.float-container {
  border: 3px solid #fff;
  padding: 20px;
}

.float-container img {
  height: 100%;
  width: 100%;
}

.float-container p {
  color: brown;
  font-size: large;
  text-align: center;
}

.float-child {
  width: 49%;
  float: left;
  padding: 20px;
  border: 5px solid salmon;
}
<h1>Lasagna</h1>
<div class="float-container">
  <img src="images/lasagna.jpg" alt="Lasagna">
  <p>This classic lasagna recipe features a meaty sauce layered with noodles and cheese. It’s perfect for feeding a crowd or freezing for later.</p>
  <div class="float-child">
    <div class="first">
      <h3>Ingredients</h3>
      <ul>
        <li>1 pound lean ground beef</li>
        <li>1 egg (beaten)</li>
        <li>15 ounces part-skim ricotta cheese</li>
        <li>¼ cup fresh parsley (chopped)</li>
        <li>2 ½ cups shredded low-moisture part-skim mozzarella cheese (divided)</li>
        <li>½ cup grated Parmesan cheese (divided)</li>
        <li>24 ounces CLASSICO Tomato And Basil Pasta Sauce</li>
        <li>1 cup water</li>
        <li>12 lasagna noodles (uncooked)</li>
      </ul>

    </div>
  </div>
  <div class="float-child">
    <div class="second">
      <h3>Steps</h3>
      <ol>
        <li>Heat oven to 350°F.</li>
        <li>Brown meat in large skillet on medium-high heat. Meanwhile, combine egg, ricotta, parsley, 1-1/4 cups mozzarella and 1/4 cup Parmesan.</li>
        <li>Drain meat; return to skillet. Stir in pasta sauce. Add 1 cup water to empty sauce jar; cover with lid and shake well. Add to meat mixture; stir until blended.</li>
        <li>Spread 1 cup meat sauce onto bottom of 13x9-inch baking dish sprayed with cooking spray; top with layers of 3 lasagna noodles, 1/3 of the ricotta mixture and 1 cup of the remaining meat sauce. Repeat layers twice. Top with remaining noodles, meat
          sauce and cheeses. Cover with foil sprayed with cooking spray.</li>
        <li>Bake 1 hour or until heated through, removing foil after 45 min. Let stand 15 min. before cutting to serve.</li>
      </ol>
    </div>
  </div>
</div>

>Solution :

You need to have the size include padding since the total width exceeds 100% of the parent’s width which makes the second float wrap.

box-sizing: border-box;

If you change the HTML or CSS later, make sure the parent element .float-container has enough width and is not influenced by other CSS properties or parent elements.

body {
  background-color: #fff;
}

h1 {
  color: lightsalmon;
  text-align: center;
}

.float-container {
  border: 3px solid #fff;
  padding: 20px;
}

.float-container img {
  height: 100%;
  width: 100%;
}

.float-container p {
  color: brown;
  font-size: large;
  text-align: center;
}

.float-child {
  width: 49%;
  float: left;
  padding: 20px;
  border: 5px solid salmon;
  box-sizing: border-box; /* Include padding and border in the width */
}
<h1>Lasagna</h1>
<div class="float-container">
  <img src="images/lasagna.jpg" alt="Lasagna">
  <p>This classic lasagna recipe features a meaty sauce layered with noodles and cheese. It’s perfect for feeding a crowd or freezing for later.</p>
  <div class="float-child">
    <div class="first">
      <h3>Ingredients</h3>
      <ul>
        <li>1 pound lean ground beef</li>
        <li>1 egg (beaten)</li>
        <li>15 ounces part-skim ricotta cheese</li>
        <li>¼ cup fresh parsley (chopped)</li>
        <li>2 ½ cups shredded low-moisture part-skim mozzarella cheese (divided)</li>
        <li>½ cup grated Parmesan cheese (divided)</li>
        <li>24 ounces CLASSICO Tomato And Basil Pasta Sauce</li>
        <li>1 cup water</li>
        <li>12 lasagna noodles (uncooked)</li>
      </ul>

    </div>
  </div>
  
  <div class="float-child">
    <div class="second">
      <h3>Steps</h3>
      <ol>
        <li>Heat oven to 350°F.</li>
        <li>Brown meat in large skillet on medium-high heat. Meanwhile, combine egg, ricotta, parsley, 1-1/4 cups mozzarella and 1/4 cup Parmesan.</li>
        <li>Drain meat; return to skillet. Stir in pasta sauce. Add 1 cup water to empty sauce jar; cover with lid and shake well. Add to meat mixture; stir until blended.</li>
        <li>Spread 1 cup meat sauce onto bottom of 13x9-inch baking dish sprayed with cooking spray; top with layers of 3 lasagna noodles, 1/3 of the ricotta mixture and 1 cup of the remaining meat sauce. Repeat layers twice. Top with remaining noodles, meat
          sauce and cheeses. Cover with foil sprayed with cooking spray.</li>
        <li>Bake 1 hour or until heated through, removing foil after 45 min. Let stand 15 min. before cutting to serve.</li>
      </ol>
    </div>
  </div>
</div>

To float one left and this other right, will solve it too, but can result in unaligned divs when the viewport gets so narrow, that they wrap.

Add a comment

Leave a Reply

Keep Up to Date with the Most Important News

By pressing the Subscribe button, you confirm that you have read and are agreeing to our Privacy Policy and Terms of Use

Discover more from Dev solutions

Subscribe now to keep reading and get access to the full archive.

Continue reading