两种实现Table圆角的方法
最编程
2024-08-08 07:01:21
...
默认代码
table {
width: 100%;
background-color: yellowgreen;
text-align: center;
}
<table>
<tr>
<th>表头1</th>
<th>表头2</th>
<th>表头3</th>
</tr>
<tr>
<td>1</td>
<td>2</td>
<td>3</td>
</tr>
<tr>
<td>4</td>
<td>5</td>
<td>6</td>
</tr>
</table>
原因
如果我们直接对table
设置border-radius
是不会生效的, 因为table
的默认属性border-collapse
值为collapse
。border-collapse:collapse
和border-radius
不兼容。因此,我们需要将border-collapse
的值设置为separate
即可。
第一种方式
我们对上面的默认代码做如下更新
table {
....
border-collapse: separate;
border-spacing: 0;
border-radius: 10px;
border: solid 2px #dfdfdf;
}
效果如图
通常情况下我们会给表格设置border
来显示单元格大小
td, th {
border-right: 2px solid #1E90FF;
height: 30px;
text-align: center;
}
td {
border-top: 2px solid #1E90FF;
}
td:last-child, th:last-child {
border-right-color: transparent;
}
第二种方式
我们可以给table
外再套上一层div
div
样式如下
div {
width: 100%;
border-radius: 10px;
overflow: hidden;
}
但这样并不能做到最好效果, look
我们可以看到四个边角并不完美, 我们需要让table
继承div
的border-radius
改造代码如下
div {
width: 100%;
border-radius: 10px;
overflow: hidden;
}
table {
background-color: yellowgreen;
width: 100%;
text-align: center;
border-spacing: 0;
border-radius: inherit;
border: solid 2px #dfdfdf;
}
当当当!!!
如果我们此时给table
设置一下单元格的border
属性
td, th {
border: 2px solid #1E90FF;
height: 30px;
text-align: center;
}
如何消除多余的单元格线条呢?
td {
border-top: 2px solid #1E90FF;
height: 30px;
text-align: center;
}
th, td {
border-right: 2px solid #1E90FF;
}
th:last-child, td:last-child {
border-right-color: transparent;
}
上一篇: 如何在HTML中让表格边框只有一条线?
推荐阅读
-
从远程 Windows 共享目录读取文件 + 解析后缀为 .mdb 的文件 - 两种下载文件的方法:jcifs、smbj
-
在 ts 中实现类 java hashmap 的简单方法
-
[阅读笔记 - 解密超大规模集成电路设计方法] 问题 6:实现超大规模集成电路(VLSI)设计的主要方法是什么?
-
在 Spring Boot 中正确注入具有多个实现的接口的六种方法
-
[JavaEE 入门] 深入了解多线程阻塞队列的工作原理、生产者-消费者模型的实现方法以及服务器崩溃的原因!!!!!
-
在 Win11 中安装 PostgreSQL 数据库,两种方法的详细步骤
-
将YUV420图像转换为BGR图像的方法使用OpenCvSharp实现
-
两种方法将YUV420P文件转换为PNG图像格式的Python实现
-
利用 GLSurfaceView 创建 OpenGLES 环境的实现方法
-
快速实现可运行的2048:一个经典游戏的键码方法