我有来自外部来源的 HTML 内容可供使用。它带有 div 标记,看起来有点像这样:
<!DOCTYPE html>
<html>
<head>
<title>Example</title>
<link rel="stylesheet" href="mycss.css" type="text/css"/>
</head>
<body>
<div class="book">
<div class="author">Author 1</div>
<div class="title">Title 1</div>
<div class="publisher">Publisher</div>
<div class="year">2012</div>
</div>
<div class="book">
<div class="author">Author 2</div>
<div class="title">Title 2</div>
<div class="year">2013</div>
</div>
<div class="book">
<div class="author">Author 3</div>
<div class="title">Title 3</div>
<div class="publisher">Publisher</div>
</div>
</body>
</html>
现在,它想用 CSS 将其显示在表格布局中,每行使用交替的颜色。有点像这样:
body {
display: table;
width: 100%;
}
.book {
display: table-row;
}
.book:nth-child(even) {
background: #FFF;
}
.book:nth-child(odd) {
background: #DDD;
}
.author, .title, .publisher, .year {
display: table-cell;
}
但是,此解决方案的问题在于,如您所见,HTML 中缺少一些 div,但我想完成以下操作:
- 让每种信息垂直对齐。换句话说,将上述示例中每个出版物的年份显示在与出版商信息不同的列中。
- 让行着色扩展到覆盖每一行的页面宽度。
当我有几列时,这甚至可能只使用 CSS 吗?