tbody width not automatically extending to width of table

HtmlCssHtml TableReset

Html Problem Overview


Take a look at this example here:

http://denise.brixwork.com/showlisting/1/8297-Valley-Drive-Alpine-Meadows-Whistler-denise-brown-real-estate

And the red tables under "Specifications" is not becoming the full width of the

containing it - when inspecting on Firebug, the div is not 220 pixels, but rather, just over a 100 pixels based on the content width.

<div class="grid_4 alpha">
	<table width="100%" class="grid_4 alpha omega">
        	<tr class="specrow">
			<td class="specname">type:</td>
			<td class="specvalue">House</td>
		</tr>
		<tr class="specrow">
			<td class="specname">year:</td>
			<td class="specvalue">1986</td>
		</tr>
	</table>
</div>

The CSS code looks like this:

#listing_specs table {
	width: 100%;
}

#listing_specs table tbody {
	display: table-row-group;
	width: 100%;
}

.specrow {
	margin:2px 0px;
	border-bottom:1px dotted #dadada;
	color: #fff;
	width: 100%;
	background-color: #A92229;
}

.specrow:hover {
	background-color:#fff;
	color:#333;
}

.specname{
	font-weight: 600;
	padding:2px 2px 2px 5px;
	width: 50%;
	white-space: nowrap;
}

.specvalue {
	font-weight:normal;
	padding:2px 5px 2px 5px;
	text-align:left;
	width: 50%;
}

I know there is a generic CSS resetter, and I think that's what's causing the problem. Unfortunately I can't go and just remove the reference to it because multiple sites refer to it from the same location at this moment, and I can't just make that change without careful review. So I need a way to override it on the stylesheet itself. The reset CSS being called is:

<link rel="stylesheet" type="text/css" media="all" href="http://demo.brixwork.com/master/css/reset.css" />

Html Solutions


Solution 1 - Html

you should just add

display: table;

under this selector:

#listing_specs table { }

Solution 2 - Html

You can use this code

tbody{
    width: 100%;
    display: table;
}

Solution 3 - Html

The table inherits display:inline;

It should be: display:table;

The part cousing the display:inline is:

.grid_1, .grid_2, .grid_3, .grid_4, 
.grid_5, .grid_6, .grid_7, .grid_8, 
.grid_9, .grid_10, .grid_11, .grid_12, 
.grid_13, .grid_14, .grid_15, .grid_16 {
    display: inline;
    float: left;
    position: relative;
    margin-left: 10px;
    margin-right: 10px;
}

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionjeffkeeView Question on Stackoverflow
Solution 1 - HtmlAatif FarooqView Answer on Stackoverflow
Solution 2 - HtmlRostyslav KulchytskyiView Answer on Stackoverflow
Solution 3 - HtmlRenéView Answer on Stackoverflow