FAQ - 常见问题解答
偏移量 = (容器尺寸 - 图片尺寸) * 百分比。例如,容器宽度为 300px,图片宽度为 200px,设置 object-position: 75% 50% 时,水平偏移量 = (300 - 200) * 75% = 75px,即图片距容器左侧 75px。当百分比为 50% 50% 时,偏移量为差值的一半,图片居中显示。理解这个公式有助于精确定位图片的可见区域,尤其在裁剪场景中非常实用。<div>、<section> 等普通元素,需要通过 CSS 的 background-image 属性设置图片。object-fit 作用于替换元素(如 <img>、<video>)的内容,直接控制元素本身的图片显示方式。选择建议:如果图片是内容的一部分(如文章插图、商品照片),使用 <img> + object-fit;如果图片是装饰性背景(如页面背景、卡片底图),使用 background-image + background-size。object-fit 的优势在于图片对 SEO 友好、支持无障碍访问,而 background-size 在层叠控制上更灵活。object-fit: cover 配合 object-position 来实现头像裁剪。具体做法是:设置容器为正方形(如 width: 120px; height: 120px;),图片设置 object-fit: cover 让图片等比缩放并填满容器,然后通过 object-position: 50% 30% 将定位点上移到人物头部区域(避免裁掉头顶)。如果需要圆形头像,再配合 border-radius: 50% 即可。这种方案的优势在于一张图片可以在不同尺寸的头像容器中自适应显示,无需为每种尺寸单独裁剪图片,非常适合用户头像、评论区头像等场景。object-fit: cover 或 object-fit: contain 配合宽度 100% 来实现图片自适应。基础写法为:img { width: 100%; height: auto; object-fit: cover; }。对于卡片封面图等需要固定高度的场景,设置固定高度并使用 cover 模式确保图片填满而不变形。对于需要完整展示的图片(如产品详情图),使用 contain 模式确保不裁剪。同时建议设置 max-width: 100% 防止图片溢出容器。如果需要为不同断点设置不同的 object-position,可以使用媒体查询来调整定位参数。<video> 元素。在视频播放器中,object-fit 的使用方式与图片完全一致。例如,使用 object-fit: cover 可以让视频填满播放器容器并裁剪多余部分,适用于全屏视频背景;使用 object-fit: contain 可以确保视频内容完整显示在播放器内,适用于需要看到完整画面的场景。需要注意的是,部分旧版浏览器对 video 元素的 object-fit 支持可能不完善,建议在目标浏览器中进行充分测试。
UD5工具箱