我有一个表格,为了提高可读性,表格中的每一行都有一个背景颜色。表格元素也有一个背景图像,作为水印在整个表格中重复出现。
现在表格背景图像被行背景颜色覆盖。我想把表格背景图像放在行背景颜色之上,但不是放在行数据之上。
的数据
HTML代码:
<table>
<tr>
<th>Company</th>
<th>Contact</th>
<th>Country</th>
</tr>
<tr>
<td>Alfreds Futterkiste</td>
<td>Maria Anders</td>
<td>Germany</td>
</tr>
<tr>
<td>Centro comercial Moctezuma</td>
<td>Francisco Chang</td>
<td>Mexico</td>
</tr>
<tr>
<td>Ernst Handel</td>
<td>Roland Mendel</td>
<td>Austria</td>
</tr>
<tr>
<td>Laughing Bacchus Winecellars</td>
<td>Yoshi Tannamuri</td>
<td>Canada</td>
</tr>
<tr>
<td>Magazzini Alimentari Riuniti</td>
<td>Giovanni Rovelli</td>
<td>Italy</td>
</tr>
<tr>
<td>Island Trading</td>
<td>Helen Bennett</td>
<td>UK</td>
</tr>
<tr>
<td>Laughing Bacchus Winecellars</td>
<td>Yoshi Tannamuri</td>
<td>Canada</td>
</tr>
<tr>
<td>Magazzini Alimentari Riuniti</td>
<td>Giovanni Rovelli</td>
<td>Italy</td>
</tr>
<tr>
<td>Alfreds Futterkiste</td>
<td>Maria Anders</td>
<td>Germany</td>
</tr>
<tr>
<td>Centro comercial Moctezuma</td>
<td>Francisco Chang</td>
<td>Mexico</td>
</tr>
<tr>
<td>Ernst Handel</td>
<td>Roland Mendel</td>
<td>Austria</td>
</tr>
<tr>
<td>Magazzini Alimentari Riuniti</td>
<td>Giovanni Rovelli</td>
<td>Italy</td>
</tr>
</table>
字符集
CSS代码:
table {
width: 100%;
background-image: url(https://i.ibb.co/G3RH3zM/sample-bg.png);
background-repeat: no-repeat space;
background-position: center center;
}
td, th {
border: 1px solid #dddddd;
text-align: left;
padding: 8px;
}
tr:nth-child(even) {
background-color: #dddddd;
}
型
JS Fiddle:https://jsfiddle.net/hpLu58y0/
2条答案
按热度按时间e3bfsja21#
作为我的评论的替代,你可以在table上使用一个伪
::after
,并把背景放在那里。由于它是一个新元素,你可以随意放置它,因此不会遇到我提到的背景+堆叠问题。
:
字符集
dfty9e192#
试试这个它工作codepen
个字符