You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在SCSS中为后接相邻img元素的图片设置特定宽度

解决方案

你可以结合CSS的:has()伪类和相邻兄弟选择器+实现需求,该方案可以完美匹配动态生成的DOM结构,无需提前预知img的位置。

实现逻辑

  • :has(+ img) 选中所有后面直接跟随另一个img元素的img,也就是每对相邻img的前一个元素
  • + 相邻兄弟选择器选中所有前面直接跟随另一个img元素的img,也就是每对相邻img的后一个元素
    两个选择器组合后只会命中连续相邻的img元素,单独存在的img不会被匹配。

SCSS代码示例

.article {
  // 单独img的默认样式,可根据需求调整
  img {
    width: 100%;
    display: block;
    margin: 12px 0;
  }

  // 匹配相邻对的第一个img
  img:has(+ img) {
    width: 49%; // 替换为你需要的指定宽度
    display: inline-block;
    margin-right: 2%;
  }

  // 匹配相邻对的第二个img
  img + img {
    width: 49%;
    display: inline-block;
    margin-right: 0;
  }
}

效果说明

针对你给出的DOM结构:

  • 前两个相邻的img会被命中,宽度设置为49%并排展示
  • 第三个单独存在的img保持默认100%宽度,不受影响

兼容性说明

:has()伪类目前全球浏览器支持率超过93%,覆盖所有主流现代浏览器(Chrome 105+、Firefox 121+、Safari 15.4+),常规业务项目可以放心使用。

内容的提问来源于stack exchange,提问作者user16686016

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 21:24:04