如何用纯 HTML 表格和 CSS 实现带圆角背景的横向条形图
技术百科
心靈之曲
发布时间:2026-01-25
浏览: 次 本文介绍如何通过将 `
在标准 HTML 表格中,

关键步骤如下:
启用弹性布局并设置圆角
给 .chartrow 添加 display: flex 和 border-radius: 0.5vw,使整行成为可圆角化的容器。防止背景溢出
必须添加 overflow: hidden ——这是实现“圆角背景”的核心。它会裁剪掉超出圆角区域的背景图像/渐变,让视觉效果真正圆润。优化单元格布局
使用 flex-grow: 1 让第一列(文本描述)自适应宽度,第二列(百分比)设为固定宽(如 6ch),确保所有条形对齐一致,避免因内容长度差异导致背景错位。-
保留语义与兼容性
无需修改 HTML 结构,仍使用标准,仅通过 CSS 覆盖默认行为,完全满足老旧 CMS 或邮件模板等仅支持基础 CSS 的环境要求。
✅ 完整示例代码:
table { border-collapse: separate; border-spacing: 0 0.75vw; width: 35vw; margin: 1vw auto auto auto; } td { border: solid 2px white; /* 仅作视觉参考,可移除 */ padding: 0.5vw; } td:first-child { flex-grow: 1; /* 文本列占满剩余空间 */ } td:last-child { width: 6ch; /* 百分比列等宽,保障条形右端对齐 */ } .chartrow { display: flex; /* 关键:启用 flex 布局 */ border-radius: 0.5vw; /* 圆角应用于整行 */ overflow: hidden; /* 关键:裁剪背景,实现真圆角 */ background-image: linear-gradient(to right, #e74c3c, #e74c3c); background-repeat: no-repeat; background-position: left center; margin-block: 0.5rem; /* 替代原 border-spacing 的垂直间距 */ } .row1 { background-size: 6.5% 100%; } .row2 { background-size: 20.3% 100%; } .container { background-color: #27ae60; width: 50vw; margin: auto; }⚠️ 注意事项:
- 避免同时使用 border-spacing 和 display: flex 的
——它们不兼容,改用 margin-block 控制行间距更可靠; - background-size 推荐显式写为 X% 100%(宽高),确保纵向填满单元格高度;
- 若需多色渐变条形,可将 linear-gradient 替换为 repeating-linear-gradient 或叠加伪元素;
- 所有单位统一使用 vw/rem 保证响应性,但若目标平台不支持 vw,可替换为 px 或 %。
此方案兼顾语义清晰、代码简洁与极致兼容性,是静态条形图在受限环境中的最优 CSS 实现。
- 避免同时使用 border-spacing 和 display: flex 的
# ai
# 这是
# 可将
# 应用于
# 单元格
# 使其
# css
# 设为
# 不支持
# 行间
# javascript
# java
# svg
# html
# border
# display
# background
# tr
# table
# cms
# 圆角
# flex
# overflow
# td
# margin
# 伪元素
# 条形图
# 弹性布局
相关栏目:
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
AI推广<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
SEO优化<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
技术百科<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
谷歌推广<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
百度推广<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
网络营销<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
案例网站<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
精选文章<?muma echo $count; ?>
】
相关推荐
- Win11怎么设置任务栏透明_Windows11使
- 如何在Golang中操作嵌套切片指针_Golang
- Win11鼠标灵敏度怎么调 Win11鼠标指针移动
- Win11怎么更改任务栏位置_修改注册表将Win1
- Python如何创建带属性的XML节点
- 如何使用Golang log记录不同级别日志_Go
- Mac版Final Cut Pro入门_Mac视频
- Go 中实现 Python urllib.quot
- Win11如何设置开机问候语 Win11修改登录界
- Python文件和流处理指南_高效读写大体积数据文
- PowerShell怎么创建复杂的XML结构
- Windows怎样拦截WPS弹窗广告_Window
- Win11怎么设置组合键快捷方式_Windows1
- Win11系统更新后黑屏怎么办 Win11更新黑屏
- Win10怎样卸载自带Edge_Win10卸载Ed
- Win11怎么关闭自动维护 Win11禁用系统自动
- Win11怎么更改任务栏颜色_Windows11个
- c++的mutex和lock_guard如何使用
- 为什么本地php环境运行php脚本卡顿_php执行
- C#如何使用Channel C#通道实现异步通信
- php下载安装后swoole扩展怎么安装_异步框架
- Python配置文件操作教程_JSONINIYAM
- Win11怎么关闭搜索历史 Win11清除搜索框最
- Win11开机自检怎么关闭_跳过Win11开机磁盘
- Windows怎样关闭开始菜单广告_Windows
- Windows 10怎么隐藏特定更新补丁_Wind
- Win10如何更改任务栏高度_Windows10解
- Python迭代器生成器进阶教程_节省内存与懒加载
- Linux如何使用Curl发送请求_Linux下A
- Mac怎么安装软件_Mac安装dmg与pkg文件的
- php报错怎么查看_定位PHP致命错误与警告的方法
- Mac系统更新下载慢或失败怎么办_解决macOS升
- c++怎么使用类型萃取type_traits_c+
- Win11怎么修复系统文件_使用sfc命令修复Wi
- php中self::能调用子类重写的方法吗_静态绑
- php控制舵机角度怎么调_php发送pwm信号控制
- Linux怎么查找死循环进程_Linux系统负载分
- 如何在 Go 应用中实现自动错误恢复与进程重启机制
- 如何在Golang中实现自定义Benchmark_
- Python文件操作优化_大文件与流处理解析【教程
- php中::能用于接口静态方法吗_接口静态方法调用
- Win11怎么修改DNS服务器 Win11设置DN
- Win11怎么设置虚拟键盘_打开Win11屏幕键盘
- Win10系统更新错误0x80240034怎么办
- Win11怎么设置默认图片查看器_Windows1
- 如何在Golang中指定模块版本_使用go.mod
- Mac如何将HEIC图片格式转为JPG_Mac批量
- 如何在同包不同文件中正确引用 Go 结构体
- C++如何使用Qt创建第一个GUI窗口?(入门教程
- Win11怎么关闭OneDrive同步_Win11

QQ客服