I've seen some similar questions to this but nothing really comprehensive that actually addresses this specific issue; if there's a good thread about this already that I somehow missed I apologize in advance.
So I have kind of a multi-part issue and my solution for the first part has created the second issue.
I have a 4 column layout in which the contents need to maintain the same height uniformly, something like this:
The second and 4th boxes here would have a background color and the height needs to stay at the same height as the other two, which will be images. Currently the surest way I can find to make this happen is to mark it up like a table and set the cell height to 100%, like so:
<table>
<tbody>
<tr>
<td style="width: 25%;">
<figure><img alt="" class="img-responsive" src="http://lorempixel.com/1000/1000/business" /></figure>
</td>
<td class="bg-brand-dark" style="height: 100%; width: 25%;">
<div class="block-padding-hor">
<h3 class="text-inverse h6"><strong>Featured Corporate News</strong></h3>
<hr class="rule-part--bright center-block" />
<p class="text-inverse h6">Hardly Dude, a new 'vette? The kid's still got, oh, 96 to 97 thousand, depending on the options.</p>
<p class="text-center"><a class="currentURL" href="">Continue Reading</a></p>
</div>
</td>
<td style="width: 25%;">
<figure><img alt="" class="img-responsive" src="http://lorempixel.com/1000/1000/business" /></figure>
</td>
<td class="bg-gray-dark" style="height: 100%; width: 25%;">
<div class="block-padding-hor">
<h3 class="text-inverse h6"><strong>Featured Corporate News</strong></h3>
<hr class="rule-part--bright center-block" />
<p class="text-inverse h6">Hardly Dude, a new 'vette? The kid's still got, oh, 96 to 97 thousand, depending on the options.</p>
<p class="text-center"><a class="currentURL" href="">Continue Reading</a></p>
</div>
</td>
</tr>
</tbody>
</table>
This solved my first problem quite well but created a new one. Any subsequent content that I add below this markup gets "overran" by the table above it, like so ("not desired" is what's currently happening):
So my question is, is there a good reliable way to mitigate this? I just assumed a table would behave similar to a block element and stack accordingly, but this does not seem to be the case. Thanks in advance for any advice, even if it's a needlessly harsh word accompanied by a link to a preexisting thread that addresses this issue!
::EDIT::
I did not include any of the CSS because it's unlikely any of it is having an impact on this, but if it seems necessary to understand the issue just comment and I'll add it in.
::EDIT 2::
Per requests, adding the CSS here though, like I said, it's mostly just setting background colors and centering things:
<style>
.img-responsive {
max-width: 100%;
}
.bg-brand-dark {
background-color: #004892;
}
.block-padding-hor {
padding-left: 30px;
padding-right: 30px;
}
.rule-part--bright {
border: 2px solid #08b5fe;
width: 50%;
}
.center-block {
margin: 0 auto;
}
.text-inverse {
color: #ffffff;
}
.h6 {
font-size: 13px;
}
.text-center {
text-align: center;
}
.bg-gray-dark {
background-color: #4D4F53;
}
</style>