0

I have an issue with the child divs not appearing side by side. There are two divs which appear at the bottom of the first div.

I have tried display:inline-block - but to no avail.

issue

div.bodyClass {
  background-color: D4BD6A;
  height: 850px;
}
div.navClassItems {
  text-align: center;
  display: inline-block;
  width: 250px:
}
div.secClass1 {
  background-color: F9E18D;
  display: inline-block;
}
div.secClass2 {
  background-color: F9E18D;
  display: inline-block;
}
<div id="mainbodyWithNav" class="bodyClass">

  <div class="navClassItems">
    <hr>Main Page
    <br>
    <hr>Metrics
    <br>
    <hr>Contact us
    <br>
    <hr>
  </div>


  <div class="secClass1">
    Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor
    in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
  </div>

  <div class="secClass2">
    Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor
    in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
  </div>


</div>
dippas
  • 58,591
  • 15
  • 114
  • 126
Nidhin_toms
  • 707
  • 4
  • 18
  • 29
  • Possible duplicate of [Issue with divs not being contained in parent div](http://stackoverflow.com/questions/36048168/issue-with-divs-not-being-contained-in-parent-div) – Jeff.Clark Mar 16 '16 at 23:59

5 Answers5

1

you need to apply display:inline-block and set a (max)-width to all the children

.bodyClass {
  background-color: #D4BD6A;
  height: 850px;
  font-size:0 /* inline-block gap fix */
}
.bodyClass > div{
  text-align: center;
  display: inline-block;
  vertical-align:top;
  max-width: 250px;
  font-size:16px /* reset font-size */
}
[class*="sec"] {
  background-color: #F9E18D;
}
<div id="mainbodyWithNav" class="bodyClass">
  <div class="navClassItems">
    <hr>Main Page
    <br>
    <hr>Metrics
    <br>
    <hr>Contact us
    <br>
    <hr>
  </div>
  <div class="secClass1">
    Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor
    in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
  </div>
  <div class="secClass2">
    Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor
    in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
  </div>
</div>
dippas
  • 58,591
  • 15
  • 114
  • 126
0

Try this...

div.secClass1
{
  background-color:F9E18D;
  width:50%;
  float:left;
}

div.secClass2
{
  background-color:F9E18D;
  width:50%;
  float:left;
}

and put an <hr /> just before the secClass1 div so that it separates it from the menu above.

Quantumplate
  • 1,104
  • 8
  • 15
0

Use "Float:left" and set their width both to 50% (Or width of container divided by 2):

//below is container class
container{
width: 100%;
}
div.secClass1
{
float: left;
width: 50%;
background-color:F9E18D;
display:inline-block;
}

div.secClass2
{
float: left;
width: 50%;
background-color:F9E18D;
display:inline-block;
}
Graphicoding
  • 102
  • 11
0

One option would be to set width to calc(50% - 125px) and float them left. See fiddle: https://jsfiddle.net/DIRTY_SMITH/7oe5kh9L/39/

div.secClass1
{
width: calc(50% - 125px);
float: left;
background-color:#F9E18D;
}

div.secClass2
{
width: calc(50% - 125px);
float: left;
background-color:#F9E18D;
}
Adam Buchanan Smith
  • 9,422
  • 5
  • 19
  • 39
-1

try using "float: left;" instead

nur-sh
  • 203
  • 1
  • 11