解决 SVG 作为 CSS 背景图无法 background-size: 100% 100% 拉伸的问题
1. 问题描述在 Vue 或 Element Plus 项目中为容器如.el-table__header设置 SVG 背景图时即使指定了background-size: 100% 100%SVG 依然保持原始比例导致两侧留白或显示不全无法自适应拉伸。/* 预期拉伸铺满实际失效 */.el-table__header{background:url(/assets/img/table_head_bg.svg)no-repeat;background-size:100% 100%;}2. 原因分析这是由 SVG 内部的preserveAspectRatio属性决定的。SVG 默认开启了等比缩放模式类似于object-fit: contain它会优先保持自身的宽高比从而忽略外部 CSS 的强行拉伸指令。3. 解决方法直接修改.svg源文件在svg根标签上添加属性preserveAspectRationone。修改前svgwidth1808height48viewBox0 0 1808 48...修改后svgwidth1808height48viewBox0 0 1808 48preserveAspectRationone...4. 总结添加该属性后SVG 将彻底放弃对自身比例的坚守完美听从CSS background-size: 100% 100%的调遣实现任意维度的自适应铺满。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2424135.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!