为什么我的上 table 不遵守 css 宽度规则?
Why is my upper table not obeying the css width rule?
我有一组简单的两个 table 我想排队,但出于某种原因,上面的那个虽然与第二个规则相同但不想遵守宽度规则。
这里是 HTML:
<body>
<div>
<div class="clientSearchWrapper">
<table class="clientSearchTableHeader">
<tr>
<td colspan="6">Client Search</td>
<td colspan="2"></td>
</tr>
<tr>
<td class="clientNumber"><input type="text" /></td>
<td class="clientName"><input type="text" /></td>
<td class="clientAddress"><input type="text" /></td>
<td class="clientCity"><input type="text" /></td>
<td class="clientState"><input type="text" /></td>
<td class="clientZip"><input type="text" /></td>
<td class="clientMarket"><input type="text" /></td>
<td class="clientActive"><input type="text" /></td>
</tr>
</table>
<div class="clientInfoWrapper">
<table class="clientSearchTable">
<tr>
<td class="clientNumber">ClientNumber</td>
<td class="clientName">CompanyName</td>
<td class="clientAddress">CompanyAddress</td>
<td class="clientCity">CompanyCity</td>
<td class="clientState">CompanyState</td>
<td class="clientZip">CompanyZip</td>
<td class="clientMarket">Market</td>
<td class="clientActive">ClientActive</td>
</tr>
<tr>
<td class="clientNumber">ClientNumber</td>
<td class="clientName">CompanyName</td>
<td class="clientAddress">CompanyAddress</td>
<td class="clientCity">CompanyCity</td>
<td class="clientState">CompanyState</td>
<td class="clientZip">CompanyZip</td>
<td class="clientMarket">Market</td>
<td class="clientActive">ClientActive</td>
</tr>
<tr>
<td class="clientNumber">ClientNumber</td>
<td class="clientName">CompanyName</td>
<td class="clientAddress">CompanyAddress</td>
<td class="clientCity">CompanyCity</td>
<td class="clientState">CompanyState</td>
<td class="clientZip">CompanyZip</td>
<td class="clientMarket">Market</td>
<td class="clientActive">ClientActive</td>
</tr>
<tr>
<td class="clientNumber">ClientNumber</td>
<td class="clientName">CompanyName</td>
<td class="clientAddress">CompanyAddress</td>
<td class="clientCity">CompanyCity</td>
<td class="clientState">CompanyState</td>
<td class="clientZip">CompanyZip</td>
<td class="clientMarket">Market</td>
<td class="clientActive">ClientActive</td>
</tr>
<tr>
<td class="clientNumber">ClientNumber</td>
<td class="clientName">CompanyName</td>
<td class="clientAddress">CompanyAddress</td>
<td class="clientCity">CompanyCity</td>
<td class="clientState">CompanyState</td>
<td class="clientZip">CompanyZip</td>
<td class="clientMarket">Market</td>
<td class="clientActive">ClientActive</td>
</tr>
<tr>
<td class="clientNumber">ClientNumber</td>
<td class="clientName">CompanyName</td>
<td class="clientAddress">CompanyAddress</td>
<td class="clientCity">CompanyCity</td>
<td class="clientState">CompanyState</td>
<td class="clientZip">CompanyZip</td>
<td class="clientMarket">Market</td>
<td class="clientActive">ClientActive</td>
</tr>
<tr>
<td class="clientNumber">ClientNumber</td>
<td class="clientName">CompanyName</td>
<td class="clientAddress">CompanyAddress</td>
<td class="clientCity">CompanyCity</td>
<td class="clientState">CompanyState</td>
<td class="clientZip">CompanyZip</td>
<td class="clientMarket">Market</td>
<td class="clientActive">ClientActive</td>
</tr>
<tr>
<td class="clientNumber">ClientNumber</td>
<td class="clientName">CompanyName</td>
<td class="clientAddress">CompanyAddress</td>
<td class="clientCity">CompanyCity</td>
<td class="clientState">CompanyState</td>
<td class="clientZip">CompanyZip</td>
<td class="clientMarket">Market</td>
<td class="clientActive">ClientActive</td>
</tr>
<tr>
<td class="clientNumber">ClientNumber</td>
<td class="clientName">CompanyName</td>
<td class="clientAddress">CompanyAddress</td>
<td class="clientCity">CompanyCity</td>
<td class="clientState">CompanyState</td>
<td class="clientZip">CompanyZip</td>
<td class="clientMarket">Market</td>
<td class="clientActive">ClientActive</td>
</tr>
<tr>
<td class="clientNumber">ClientNumber</td>
<td class="clientName">CompanyName</td>
<td class="clientAddress">CompanyAddress</td>
<td class="clientCity">CompanyCity</td>
<td class="clientState">CompanyState</td>
<td class="clientZip">CompanyZip</td>
<td class="clientMarket">Market</td>
<td class="clientActive">ClientActive</td>
</tr>
<tr>
<td class="clientNumber">ClientNumber</td>
<td class="clientName">CompanyName</td>
<td class="clientAddress">CompanyAddress</td>
<td class="clientCity">CompanyCity</td>
<td class="clientState">CompanyState</td>
<td class="clientZip">CompanyZip</td>
<td class="clientMarket">Market</td>
<td class="clientActive">ClientActive</td>
</tr>
<tr>
<td class="clientNumber">ClientNumber</td>
<td class="clientName">CompanyName</td>
<td class="clientAddress">CompanyAddress</td>
<td class="clientCity">CompanyCity</td>
<td class="clientState">CompanyState</td>
<td class="clientZip">CompanyZip</td>
<td class="clientMarket">Market</td>
<td class="clientActive">ClientActive</td>
</tr>
<tr>
<td class="clientNumber">ClientNumber</td>
<td class="clientName">CompanyName</td>
<td class="clientAddress">CompanyAddress</td>
<td class="clientCity">CompanyCity</td>
<td class="clientState">CompanyState</td>
<td class="clientZip">CompanyZip</td>
<td class="clientMarket">Market</td>
<td class="clientActive">ClientActive</td>
</tr>
<tr>
<td class="clientNumber">ClientNumber</td>
<td class="clientName">CompanyName</td>
<td class="clientAddress">CompanyAddress</td>
<td class="clientCity">CompanyCity</td>
<td class="clientState">CompanyState</td>
<td class="clientZip">CompanyZip</td>
<td class="clientMarket">Market</td>
<td class="clientActive">ClientActive</td>
</tr>
<tr>
<td class="clientNumber">ClientNumber</td>
<td class="clientName">CompanyName</td>
<td class="clientAddress">CompanyAddress</td>
<td class="clientCity">CompanyCity</td>
<td class="clientState">CompanyState</td>
<td class="clientZip">CompanyZip</td>
<td class="clientMarket">Market</td>
<td class="clientActive">ClientActive</td>
</tr>
<tr>
<td class="clientNumber">ClientNumber</td>
<td class="clientName">CompanyName</td>
<td class="clientAddress">CompanyAddress</td>
<td class="clientCity">CompanyCity</td>
<td class="clientState">CompanyState</td>
<td class="clientZip">CompanyZip</td>
<td class="clientMarket">Market</td>
<td class="clientActive">ClientActive</td>
</tr>
</table>
</div>
</div>
</div>
</body>
这里是 CSS:
body
{
background-color: #fff;
width: 1200px;
-moz-background-size: cover;
-o-background-size: cover;
background-size: cover;
position:absolute;
top:0;
bottom:0;
left:0;
right:0;
z-index:-1;
}
.clientSearchWrapper
{
display: inline-block;
width: 100%;
margin: auto;
padding-left: 0;
padding-right: 0;
}
.clientSearchTableHeader
{
width: 100%; /*Have also tried to set width to 1200px, just like in the body*/
margin: auto;
padding-left: 0;
padding-right: 0;
border-collapse: collapse;
}
.clientInfoWrapper
{
height: 200px;
overflow-y: auto;
border: 2px inset #888;
}
.clientSearchTable
{
width: 100%;
margin: auto;
padding-left: 0;
padding-right: 0;
border-collapse: collapse;
}
.clientSearchTable td
{
padding-left: 5px;
padding-right: 5px;
}
.clientSearchTable td.titleBar
{
}
.clientSearchTable td.recordCount
{
}
.clientSearchTable td.clientNumber
{
border-right: 1px solid #000;
text-align: center;
}
.clientSearchTable td.clientName
{
border-right: 1px solid #000;
}
.clientSearchTable td.clientAddress
{
border-right: 1px solid #000;
}
.clientSearchTable td.clientCity
{
border-right: 1px solid #000;
}
.clientSearchTable td.clientState
{
border-right: 1px solid #000;
text-align: center;
}
.clientSearchTable td.clientZip
{
border-right: 1px solid #000;
}
.clientSearchTable td.clientMarket
{
border-right: 1px solid #000;
text-align: center;
}
.clientSearchTable td.clientActive
{
}
如您所见,在 <table class="clientSearchTableHeader">
元素中,使用 css 规则 width
,我明确告诉它将宽度设置为 100%(就像我所做的那样在 <table class="clientSearchTable">
元素及其父元素 <div class=clientInfoWrapper">
元素中。我尝试用像素 (1200px) 指定,甚至将 !important
添加到 css 规则(不是它反正有任何其他的否决它。<table class="clientSearchTableHeader">
元素坚持将自己设置为 1400 像素(甚至比 <body>
元素大 200 像素的宽度。我确信我可以明确地告诉 <td>
设置宽度,或 <input>
元素,或两者兼而有之,但我想尽可能保持动态,另外,我不必使用较低的 table (<table class="clientSearchTable">
)。只是想知道这里发生了什么以及为什么 css 中 table 和 class "clientSearchTable" 的宽度规则被忽略了。
我做错了什么?
这是 jsfiddle:https://jsfiddle.net/1fhtk4sw/4/
将此添加到您的 css。您的输入字段默认为浏览器设置的宽度。它正在将 table 内容推到 1200px 以上。
.clientSearchTableHeader input {
width: 100%;
}
我有一组简单的两个 table 我想排队,但出于某种原因,上面的那个虽然与第二个规则相同但不想遵守宽度规则。
这里是 HTML:
<body>
<div>
<div class="clientSearchWrapper">
<table class="clientSearchTableHeader">
<tr>
<td colspan="6">Client Search</td>
<td colspan="2"></td>
</tr>
<tr>
<td class="clientNumber"><input type="text" /></td>
<td class="clientName"><input type="text" /></td>
<td class="clientAddress"><input type="text" /></td>
<td class="clientCity"><input type="text" /></td>
<td class="clientState"><input type="text" /></td>
<td class="clientZip"><input type="text" /></td>
<td class="clientMarket"><input type="text" /></td>
<td class="clientActive"><input type="text" /></td>
</tr>
</table>
<div class="clientInfoWrapper">
<table class="clientSearchTable">
<tr>
<td class="clientNumber">ClientNumber</td>
<td class="clientName">CompanyName</td>
<td class="clientAddress">CompanyAddress</td>
<td class="clientCity">CompanyCity</td>
<td class="clientState">CompanyState</td>
<td class="clientZip">CompanyZip</td>
<td class="clientMarket">Market</td>
<td class="clientActive">ClientActive</td>
</tr>
<tr>
<td class="clientNumber">ClientNumber</td>
<td class="clientName">CompanyName</td>
<td class="clientAddress">CompanyAddress</td>
<td class="clientCity">CompanyCity</td>
<td class="clientState">CompanyState</td>
<td class="clientZip">CompanyZip</td>
<td class="clientMarket">Market</td>
<td class="clientActive">ClientActive</td>
</tr>
<tr>
<td class="clientNumber">ClientNumber</td>
<td class="clientName">CompanyName</td>
<td class="clientAddress">CompanyAddress</td>
<td class="clientCity">CompanyCity</td>
<td class="clientState">CompanyState</td>
<td class="clientZip">CompanyZip</td>
<td class="clientMarket">Market</td>
<td class="clientActive">ClientActive</td>
</tr>
<tr>
<td class="clientNumber">ClientNumber</td>
<td class="clientName">CompanyName</td>
<td class="clientAddress">CompanyAddress</td>
<td class="clientCity">CompanyCity</td>
<td class="clientState">CompanyState</td>
<td class="clientZip">CompanyZip</td>
<td class="clientMarket">Market</td>
<td class="clientActive">ClientActive</td>
</tr>
<tr>
<td class="clientNumber">ClientNumber</td>
<td class="clientName">CompanyName</td>
<td class="clientAddress">CompanyAddress</td>
<td class="clientCity">CompanyCity</td>
<td class="clientState">CompanyState</td>
<td class="clientZip">CompanyZip</td>
<td class="clientMarket">Market</td>
<td class="clientActive">ClientActive</td>
</tr>
<tr>
<td class="clientNumber">ClientNumber</td>
<td class="clientName">CompanyName</td>
<td class="clientAddress">CompanyAddress</td>
<td class="clientCity">CompanyCity</td>
<td class="clientState">CompanyState</td>
<td class="clientZip">CompanyZip</td>
<td class="clientMarket">Market</td>
<td class="clientActive">ClientActive</td>
</tr>
<tr>
<td class="clientNumber">ClientNumber</td>
<td class="clientName">CompanyName</td>
<td class="clientAddress">CompanyAddress</td>
<td class="clientCity">CompanyCity</td>
<td class="clientState">CompanyState</td>
<td class="clientZip">CompanyZip</td>
<td class="clientMarket">Market</td>
<td class="clientActive">ClientActive</td>
</tr>
<tr>
<td class="clientNumber">ClientNumber</td>
<td class="clientName">CompanyName</td>
<td class="clientAddress">CompanyAddress</td>
<td class="clientCity">CompanyCity</td>
<td class="clientState">CompanyState</td>
<td class="clientZip">CompanyZip</td>
<td class="clientMarket">Market</td>
<td class="clientActive">ClientActive</td>
</tr>
<tr>
<td class="clientNumber">ClientNumber</td>
<td class="clientName">CompanyName</td>
<td class="clientAddress">CompanyAddress</td>
<td class="clientCity">CompanyCity</td>
<td class="clientState">CompanyState</td>
<td class="clientZip">CompanyZip</td>
<td class="clientMarket">Market</td>
<td class="clientActive">ClientActive</td>
</tr>
<tr>
<td class="clientNumber">ClientNumber</td>
<td class="clientName">CompanyName</td>
<td class="clientAddress">CompanyAddress</td>
<td class="clientCity">CompanyCity</td>
<td class="clientState">CompanyState</td>
<td class="clientZip">CompanyZip</td>
<td class="clientMarket">Market</td>
<td class="clientActive">ClientActive</td>
</tr>
<tr>
<td class="clientNumber">ClientNumber</td>
<td class="clientName">CompanyName</td>
<td class="clientAddress">CompanyAddress</td>
<td class="clientCity">CompanyCity</td>
<td class="clientState">CompanyState</td>
<td class="clientZip">CompanyZip</td>
<td class="clientMarket">Market</td>
<td class="clientActive">ClientActive</td>
</tr>
<tr>
<td class="clientNumber">ClientNumber</td>
<td class="clientName">CompanyName</td>
<td class="clientAddress">CompanyAddress</td>
<td class="clientCity">CompanyCity</td>
<td class="clientState">CompanyState</td>
<td class="clientZip">CompanyZip</td>
<td class="clientMarket">Market</td>
<td class="clientActive">ClientActive</td>
</tr>
<tr>
<td class="clientNumber">ClientNumber</td>
<td class="clientName">CompanyName</td>
<td class="clientAddress">CompanyAddress</td>
<td class="clientCity">CompanyCity</td>
<td class="clientState">CompanyState</td>
<td class="clientZip">CompanyZip</td>
<td class="clientMarket">Market</td>
<td class="clientActive">ClientActive</td>
</tr>
<tr>
<td class="clientNumber">ClientNumber</td>
<td class="clientName">CompanyName</td>
<td class="clientAddress">CompanyAddress</td>
<td class="clientCity">CompanyCity</td>
<td class="clientState">CompanyState</td>
<td class="clientZip">CompanyZip</td>
<td class="clientMarket">Market</td>
<td class="clientActive">ClientActive</td>
</tr>
<tr>
<td class="clientNumber">ClientNumber</td>
<td class="clientName">CompanyName</td>
<td class="clientAddress">CompanyAddress</td>
<td class="clientCity">CompanyCity</td>
<td class="clientState">CompanyState</td>
<td class="clientZip">CompanyZip</td>
<td class="clientMarket">Market</td>
<td class="clientActive">ClientActive</td>
</tr>
<tr>
<td class="clientNumber">ClientNumber</td>
<td class="clientName">CompanyName</td>
<td class="clientAddress">CompanyAddress</td>
<td class="clientCity">CompanyCity</td>
<td class="clientState">CompanyState</td>
<td class="clientZip">CompanyZip</td>
<td class="clientMarket">Market</td>
<td class="clientActive">ClientActive</td>
</tr>
</table>
</div>
</div>
</div>
</body>
这里是 CSS:
body
{
background-color: #fff;
width: 1200px;
-moz-background-size: cover;
-o-background-size: cover;
background-size: cover;
position:absolute;
top:0;
bottom:0;
left:0;
right:0;
z-index:-1;
}
.clientSearchWrapper
{
display: inline-block;
width: 100%;
margin: auto;
padding-left: 0;
padding-right: 0;
}
.clientSearchTableHeader
{
width: 100%; /*Have also tried to set width to 1200px, just like in the body*/
margin: auto;
padding-left: 0;
padding-right: 0;
border-collapse: collapse;
}
.clientInfoWrapper
{
height: 200px;
overflow-y: auto;
border: 2px inset #888;
}
.clientSearchTable
{
width: 100%;
margin: auto;
padding-left: 0;
padding-right: 0;
border-collapse: collapse;
}
.clientSearchTable td
{
padding-left: 5px;
padding-right: 5px;
}
.clientSearchTable td.titleBar
{
}
.clientSearchTable td.recordCount
{
}
.clientSearchTable td.clientNumber
{
border-right: 1px solid #000;
text-align: center;
}
.clientSearchTable td.clientName
{
border-right: 1px solid #000;
}
.clientSearchTable td.clientAddress
{
border-right: 1px solid #000;
}
.clientSearchTable td.clientCity
{
border-right: 1px solid #000;
}
.clientSearchTable td.clientState
{
border-right: 1px solid #000;
text-align: center;
}
.clientSearchTable td.clientZip
{
border-right: 1px solid #000;
}
.clientSearchTable td.clientMarket
{
border-right: 1px solid #000;
text-align: center;
}
.clientSearchTable td.clientActive
{
}
如您所见,在 <table class="clientSearchTableHeader">
元素中,使用 css 规则 width
,我明确告诉它将宽度设置为 100%(就像我所做的那样在 <table class="clientSearchTable">
元素及其父元素 <div class=clientInfoWrapper">
元素中。我尝试用像素 (1200px) 指定,甚至将 !important
添加到 css 规则(不是它反正有任何其他的否决它。<table class="clientSearchTableHeader">
元素坚持将自己设置为 1400 像素(甚至比 <body>
元素大 200 像素的宽度。我确信我可以明确地告诉 <td>
设置宽度,或 <input>
元素,或两者兼而有之,但我想尽可能保持动态,另外,我不必使用较低的 table (<table class="clientSearchTable">
)。只是想知道这里发生了什么以及为什么 css 中 table 和 class "clientSearchTable" 的宽度规则被忽略了。
我做错了什么?
这是 jsfiddle:https://jsfiddle.net/1fhtk4sw/4/
将此添加到您的 css。您的输入字段默认为浏览器设置的宽度。它正在将 table 内容推到 1200px 以上。
.clientSearchTableHeader input { width: 100%; }