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

CSS中如何截取图片指定区域并适配sub-2容器?

解决object-fit:cover未生效及显示图片特定部分的问题

你遇到的问题核心是图片缺少明确尺寸约束,再加上flex布局中子容器的高度没有正确传递,导致object-fit:cover无法生效。按以下步骤修改代码即可实现需求:

步骤1:修正flex布局的高度传递

.col-1作为flex列布局容器,默认高度由内容撑开,需要让它和右侧.col-2等高,同时让.sub-2占满剩余空间:

.col-1 {
    display: flex;
    flex-direction: column;
    width: 40%;
    flex: 1; /* 让col-1与col-2等高 */
}

.sub-2 {
    border: 1px solid blue;
    flex: 1; /* 占满col-1剩余的高度 */
    overflow: hidden; /* 防止图片超出容器边界 */
}

步骤2:给图片设置尺寸并启用object-fit

给<img>设置宽高100%以填满容器,再通过object-fit:cover实现裁剪适配,若要显示特定区域,用object-position精准调整:

.sub-2 img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    /* 可选:自定义显示区域,比如显示左上角 */
    /* object-position: left top; */
    /* 或者显示右侧中间 */
    /* object-position: right center; */
}

完整修改后的代码

<!DOCTYPE html>
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        .container{
            display: flex;
            border: 1px solid red;
            min-height: 100vh; /* 让容器至少占满视口高度,可选 */
        }

        .col-1{
            display: flex;
            flex-direction: column;
            width: 40%;
            flex: 1;
        }

        .sub-1{
            border: 1px solid blue;
        }
        .sub-2{
            border: 1px solid blue;
            flex: 1;
            overflow: hidden;
        }

        .sub-2 img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            /* 示例:默认显示图片中心区域,可按需修改 */
            object-position: center;
        }

    </style>
</head>
<body>
    <div class="container">
        <div class="col-1">
            <div class="sub-1">
                some text
            </div>
            <div class="sub-2">
                <img src="image.png" alt="自定义图片描述">
            </div>
        </div>

        <div class="col-2">
            <p>
               Lorem ipsum dolor sit, amet consectetur adipisicing elit. 
               Voluptatibus quae 
               hic autem enim sunt deserunt officia architecto dolorum quam.
            </p>
            <a href="#">some link</a>
        </div>

    </div>
    
</body>
</html>

关键说明

  • object-fit:cover必须在图片有明确宽高的前提下才能生效,所以给<img>设置width:100%;height:100%;是核心前提。
  • object-position支持像素、百分比或关键词(如left/right/center/top/bottom),组合使用就能精准控制图片显示的特定部分。
  • 用flex:1让.sub-2自动填充.col-1的剩余空间,确保容器有足够高度供图片适配。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 15:30:09