- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用适用于现代浏览器的 HTML/CSS 复制此设计:
它本质上是一个表格,有行和列,这意味着如果一行的名称单元格变大,它应该对所有行都变大。我看到了两种可能性:表格和 CSS 网格。
据我所知,表格中的行样式不够丰富,例如它们不能采用边框半径,我还没有尝试过框阴影。
如果我使用 CSS 网格,我可以设置单元格的样式以在末尾模拟边框半径,但是这样框阴影就变得不可能了,因为第二个单元格的框阴影覆盖了第一个单元格。
我认为问题归结为具有表示样式的行的元素,但仍在每个行中,单元格的宽度应与其他行中的宽度相同,以表示列。
在 CSS 中有什么方法可以实现这一点吗?
例如,这是对 HTML 的 table
的尝试,其中边距和边框半径没有影响:
table {
border-collapse: collapse;
}
tr {
background-color: grey;
border-radius: 8px;
margin: 10px;
}
<table>
<tr>
<td>Eva Lee</td>
<td>Call back</td>
<td>15/02/19</td>
</tr>
<tr>
<td>Evelyn Allen</td>
<td>Call back</td>
<td>14/01/19</td>
</tr>
<tr>
<td>Slawomir Pelikan</td>
<td>Voicemail</td>
<td>14/01/19</td>
</tr>
<tr>
<td>Christopher Walken</td>
<td>Voicemail</td>
<td>14/01/19</td>
</tr>
</table>
这是另一种尝试,使用 display:table
,它的作用与 table
相同:
.table {
display: table;
border-collapse: collapse;
}
.row {
display: table-row;
background-color: grey;
border-radius: 8px;
margin: 10px;
}
.cell {
display: table-cell;
}
<div class="table">
<div class="row">
<div class="cell">Eva Lee</div>
<div class="cell">Call back</div>
<div class="cell">15/02/19</div>
</div>
<div class="row">
<div class="cell">Evelyn Allen</div>
<div class="cell">Call back</div>
<div class="cell">14/01/19</div>
</div>
<div class="row">
<div class="cell">Slawomir Pelikan</div>
<div class="cell">Voicemail</div>
<div class="cell">14/01/19</div>
</div>
<div class="row">
<div class="cell">Christopher Walken</div>
<div class="cell">Voicemail</div>
<div class="cell">14/01/19</div>
</div>
</div>
最佳答案
这适用于 FF、Chrome、MSIE、MS Edge。
Edge 可能需要稍微调整一下,因为表格单元格具有子像素宽度,如果现在给定像素宽度,则会导致令人讨厌的垂直条。
这通过在包裹单元格内容的 div
上使用负边距和在单元格上使用 overflow: hidden
来实现。
table {
border-collapse: collapse;
border-spacing: 0;
}
table tr td {
overflow: hidden;
padding: 0 0 5px 0;
}
table tr td > div {
background-color: gold;
padding: 4px;
border-radius: 0px;
box-shadow: 3px 3px 5px rgba(0, 0, 0, 0.3);
margin-left: -10px;
margin-right: -10px;
padding-left: 14px;
padding-right: 14px;
}
table tr td:first-child {
padding-left: 10px;
}
table tr td:first-child > div {
border-radius: 10px 0 0 10px;
}
table tr td:last-child {
padding-right: 20px;
}
table tr td:last-child > div {
border-radius: 0 10px 10px 0;
}
<table>
<tr>
<td>
<div>Lorem.</div>
</td>
<td>
<div>Ea!</div>
</td>
<td>
<div>Animi.</div>
</td>
</tr>
<tr>
<td>
<div>Quas!</div>
</td>
<td>
<div>Dolor!</div>
</td>
<td>
<div>Suscipit.</div>
</td>
</tr>
<tr>
<td>
<div>Mollitia?</div>
</td>
<td>
<div>Inventore!</div>
</td>
<td>
<div>Dolorem.</div>
</td>
</tr>
</table>
来点伪元素魔法怎么样?
table {
border-spacing: 10px;
border-collapse: separate;
}
tr {
position: relative;
margin: 10px;
}
tr:before {
content: "";
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-color: gold;
z-index: -1;
border-radius: 20px;
box-shadow: 3px 2px 5px rgba(0, 0, 0, 0.25);
}
td {
padding: 10px;
}
<table>
<tr>
<td>Eva Lee</td>
<td>Call back</td>
<td>15/02/19</td>
</tr>
<tr>
<td>Evelyn Allen</td>
<td>Call back</td>
<td>14/01/19</td>
</tr>
<tr>
<td>Slawomir Pelikan</td>
<td>Voicemail</td>
<td>14/01/19</td>
</tr>
<tr>
<td>Christopher Walken</td>
<td>Voicemail</td>
<td>14/01/19</td>
</tr>
</table>
关于css - CSS 中代表行的元素是否可以构成网格?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54347078/
您好,我正在使用 AWS EKS 开发 kubernetes。当我将 docker-compose 文件转换为 kompose 文件时,我遇到了 kompose 文件的问题,我遇到了卷挂载点问题,而且
在将密码转换为二进制哈希值以存储在数据库中时,我注意到除了通常的乱码之外,还有一些引号、空格和字母表,这些巧合可能构成有效 SQL 语句的一部分。 出于好奇,我想知道是否有人遇到过任何字符串在哈希后神
我的组件具有动态部分和 compose。动态部分在其他模块中,即节点项目。 如果我想在页面中使用自定义元素,例如: 我收到一条错误消息,指出无法在 ./my-custom-element/someV
我有一个 pandas 数据框,其中一列由数组组成。所以每个单元格都是一个数组。 假设数据框 df 中有一个列 A,这样 A = [ [1, 2, 3], [4, 5, 6],
当 HTTP 请求和响应在互联网上传输时,请求中文本的格式是什么?是 ASCII 码吗? 例子:如果 HTTP 请求如下所示 - GET /mysite/ HTTP/1.1 -- rest of t
我是一名优秀的程序员,十分优秀!