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

CSS Grid布局异常:grid-column:1/2未占2列的修复方案

修复Grid布局中区块未正确占据多列的问题

问题现象

为带描述的区块设置grid-column:1/2时,预期占据第1、2列宽度,但实际仅占1列,布局未达到预期效果:

Grid布局问题截图

问题原因

Grid布局中grid-column: a/b的取值是网格线的编号,而非列数:

  • grid-column:1/2表示从第1根网格线开始,到第2根网格线结束,仅覆盖1列
  • 要覆盖第1、2列,需要从第1根线到第3根线,即grid-column:1/3

另外,给带描述的区块设置了固定宽度width:887px,会干扰Grid容器的自动列宽分配,可能导致布局溢出或错位。

修复方案

1. 修正grid-column的取值

将带描述区块的grid-column值修改为覆盖目标列数对应的网格线:

  • 要占据第1、2列:grid-column:1/3(或简写为grid-column:span 2)
  • 要占据第2、3列:grid-column:2/4(或简写为grid-column:span 2)

2. 移除固定宽度限制

删除.example-item-with-right-description和.example-item-with-left-description中的width:887px,让Grid容器根据列配置自动分配宽度,保证布局适配性。

修改后的代码示例

CSS部分

body {
    width: 1440px;
}

.examples-block {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: repeat(3, 1fr);
    grid-row-gap: 44px;
    grid-column-gap: 44px;
    padding: 44px;
}

.example-item {
    width: 422px;
    height: 392px;
    background: #D9D9D9;
    border-radius: 24px;
}

/* 移除固定width属性 */
.example-item-with-right-description {
    display: flex;
    height: 392px;
    border-radius: 24px;
    border: 1px solid #000;
    align-items: center;
    justify-content: space-around;
}

/* 移除固定width属性 */
.example-item-with-left-description {
    display: flex;
    background: #D9D9D9;
    height: 392px;
    border-radius: 24px;
    border: 1px solid #000;
    align-items: center;
    justify-content: space-around;
}

.example-item-with-inner-dark {
    background: #D9D9D9;
    width: 358px;
    height: 328px;
    border-radius: 16px;
}

.example-item-with-inner-light {
    background: #F1F1F1;
    width: 358px;
    height: 328px;
    border-radius: 16px;
}

.example-item-description {
    width: 401px;
}

.example-item-image-container {
    width: 100%;
    height: 100%;
    width: 212px;
    height: 310px;
    margin: 44px 110px;
}

.img-div {
    max-width: 100%;
    max-height: 100%;
    width: 212px;
    height: 310px;
    border-radius: 12px;
    background: red;
}

.example-item-image-container-small {
    width: 156px;
    height: 228px;
    margin: 44px 110px;
}

HTML部分

<!DOCTYPE html>
<html>
<body>
    <main>
        <div class="examples-block" style="height: 1469px;">
            <div class="example-item" style="grid-column: 1; grid-row: 1;">
                <div class="example-item-image-container">
                    <div class="img-div"></div>
                </div>
            </div>
            <div class="example-item" style="grid-column: 2; grid-row: 1;">
                <div class="example-item-image-container">
                    <div class="img-div"></div>
                </div>
            </div>
            <div class="example-item" style="grid-column: 3; grid-row: 1;">
                <div class="example-item-image-container">
                    <div class="img-div"></div>
                </div>
            </div>
            <!-- 修改为grid-column:1/3 -->
            <div class="example-item-with-right-description" style="grid-column: 1/3; grid-row: 2;">
                <div class="example-item-with-inner-dark">
                    <div class="example-item-image-container-small">
                        <div class="img-div"></div>
                    </div>
                </div>
                <div class="example-item-description">
                    <h3>DESCRIPTION</h3>
                    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas efficitur pulvinar lacus, sit amet cursus est tincidunt a.</p>
                    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas efficitur pulvinar lacus, sit amet cursus est tincidunt a.</p>
                    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas efficitur pulvinar lacus, sit amet cursus est tincidunt a.</p>
                </div>
            </div>
            <div class="example-item" style="grid-column: 3; grid-row: 2;">
                <div class="example-item-image-container">
                    <div class="img-div"></div>
                </div>
            </div>
            <div class="example-item" style="grid-column: 1; grid-row: 3;">
                <div class="example-item-image-container">
                    <div class="img-div"></div>
                </div>
            </div>
            <!-- 修改为grid-column:2/4 -->
            <div class="example-item-with-left-description" style="grid-column: 2/4; grid-row: 3;">
                <div class="example-item-with-inner-light">
                    <div class="example-item-image-container-small">
                        <div class="img-div"></div>
                    </div>
                </div>
                <div class="example-item-description">
                    <h3>DESCRIPTION</h3>
                    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas efficitur pulvinar lacus, sit amet cursus est tincidunt a.</p>
                    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas efficitur pulvinar lacus, sit amet cursus est tincidunt a.</p>
                    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas efficitur pulvinar lacus, sit amet cursus est tincidunt a.</p>
                </div>
            </div>
        </div>
    </main>
</body>
</html>

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 10:58:14