电话
400 9058 355
background-position 定义背景图左上角相对于 background-origin 指定的定位区左上角的偏移量,默认定位区为 padding-box;百分比值以“背景图中心对齐容器定位区中心”为逻辑,非左上角移动。
background-position 不是“把图片挪到某个绝对坐标”,而是定义背景图原点(左上角)相对于容器定位区(background-origin 指定的区域)左上角的偏移量。这个定位区默认是 padding-box,也就是从内边距左上角开始算——很多人误以为是从 content-box 或 border-box 开始,结果调了半天位置对不上。
left top、50% 50%、20px 10px、right 1rem
50% 50% 表示“背景图中心点”对齐“容器定位区中心点”,不是“图片左上角移到中间”background-position: 10px 20px,就是图片左上角离容器定位区左上角向右 10px、向下 20px最常踩的坑不是写错了值,而是背景图根本没显示出来,或者被其他属性覆盖:
background-image 没设置,或路径错误(控制台报 404,但 background-position 仍会解析)background-repeat: no-repeat 没加,图平铺后看不出位置变化height 或 min-height),背景无处可展background-clip: content-box 却忘了 background-origin: content-box,此时 background-position 仍按默认 padding-box 计算,导致视觉错位雪碧图依赖精确裁剪,关键在统一基准和可维护性:
no-repeat,容器尺寸固定为单个图标大小(如 24px 24px).icon-home {
width: 24px;
height: 24px;
background-image: url("sprite.png");
background-repeat: no-repeat;
background-position: -48px -24px; /* 第二行第二列图标 */
}--icon-x: -48px; --icon-y: -24px;,再写 background-position: var(--icon-x) var(--icon-y);
三者共同决定“图从哪来、往哪摆、在哪显”:
background-origin 决定 background-position 的参考系起点(border-box / padding-box / content-box)background-clip 决定背景绘制区域(是否裁掉边框或内边距区域),但它不改变 position 的计算基准
background-origin: content-box 但没改 background-clip,背景图会从 content 左上角定位,却仍画满 padding 区域(可能溢出)真正要“精确展示”,必须先确认这三者的组合是否符合你的视觉预期——尤其当容器有 padding 或 border 时,差一个 box 就偏

邮箱:8955556@qq.com
Q Q:8955556
本文详解如何将Go官方present工具(用于生成HTML5...
PySNMP在不同版本中对SNMP错误状态(errorSta...
time.Sleep仅阻塞当前goroutine,其他gor...
PHPfopen()创建含特殊符号的文件名失败主因是操作系统...
WooCommerce中通过代码为分组产品动态聚合子商品的属...
io.ReadFull返回io.ErrUnexpectedE...
本文详解Yii2中控制器向视图传递ActiveRecord数...
本文详解为何通过wp_set_object_terms()为...
Pytest中使用@mock.patch类装饰器会导致补丁泄...
带缓冲的channel是并发安全的FIFO队列;make(c...