我正在创建一个表,并且我已经box-sizing: border-box;
为它的父元素使用了属性body
。对于某些屏幕分辨率,我在 Chrome 的右侧出现一条垂直红线(尝试放大和缩小以查看它)。我想摆脱这条红线。
当我从其中删除该box-sizing: border-box;
属性时,body
它工作正常。但它会改变其他元素的外观。有没有办法摆脱它。
更新:我想创建一个具有以下要求的表: 1. 响应式设计,即水平滚动而不是换行或溢出。2. 宽度 100%。3. 箱形阴影。4.不会扭曲其他元素。
这是我的代码:
body {
border-radius: 4px;
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);
box-sizing: border-box;
color: rgba(0, 0, 0, 0.87);
font: 400 1rem 'Roboto', sans-serif;
margin: 2vh auto;
min-height: 96vh;
padding: 40px;
width: 72vw;
}
table {
background-color: red;
border-collapse: collapse;
border-radius: 4px;
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);
display: block;
overflow-x: auto;
}
tbody {
background-color: blue;
display: table;
width: 100%;
}
tr:not(:first-child):hover {
background-color: #F5F5F5/* [Gray -> 200] */
}
th {
color: #616161;
/* [Gray -> 700] */
font-size: 0.9rem;
padding: 16px;
text-align: left;
}
td {
border-top: 1px solid #E0E0E0;
/* [Gray -> 300] */
padding: 8px 16px;
}
<body>
<table>
<tr>
<th>Name</th>
<th>Field</th>
<th>Class</th>
</tr>
<tr>
<td>Mansoor</td>
<td>Science</td>
<td>XI-B</td>
</tr>
<tr>
<tr>
<td>Manny</td>
<td>Science</td>
<td>XI-B</td>
</tr>
<tr>
<td>Joe</td>
<td>Science</td>
<td>XI-B</td>
</tr>
<tr>
<td>John</td>
<td>Science</td>
<td>XI-C</td>
</tr>
</table>
</body>