方法 1:使用 Flex 布局

Flex 布局非常适合简单的左右排列。

代码示例

html
HTML 格式

<!DOCTYPE html>
<html>
<head>
    <style>
        .wrapper {
            display: flex; /* 父容器使用flex */
            flex-direction: row; /* 水平排列 */
            width: 100%; /* 占满宽度 */
        }
        .container-left {
            width: 50%; /* 左边占一半 */
            height: 200px;
            background: lightblue;
        }
        .container-right {
            width: 50%; /* 右边占一半 */
            height: 200px;
            background: lightcoral;
        }
    </style>
</head>
<body>
    <div class="wrapper">
        <div class="container-left">左边容器</div>
        <div class="container-right">右边容器</div>
    </div>
</body>
</html>

关键点

  • display: flex:使父容器成为 Flex 容器。

  • flex-direction: row:确保子元素水平排列(默认值,可省略)。

  • width: 50%:让两个容器各占一半宽度,你也可以用固定值(如 200px)或 flex 属性动态分配。

灵活调整宽度

如果你想让宽度更灵活,可以使用 flex 属性:

css
CSS 服务

.container-left {
    flex: 1; /* 动态分配剩余空间 */
    height: 200px;
    background: lightblue;
}
.container-right {
    flex: 2; /* 右边宽度是左边的两倍 */
    height: 200px;
    background: lightcoral;
}

方法 2:使用 Grid 布局

Grid 布局适合更复杂的二维布局,但也可以轻松实现左右排列。

代码示例

html
HTML 格式

<!DOCTYPE html>
<html>
<head>
    <style>
        .wrapper {
            display: grid; /* 父容器使用grid */
            grid-template-columns: 1fr 1fr; /* 两列,等分 */
            width: 100%;
        }
        .container-left {
            height: 200px;
            background: lightblue;
        }
        .container-right {
            height: 200px;
            background: lightcoral;
        }
    </style>
</head>
<body>
    <div class="wrapper">
        <div class="container-left">左边容器</div>
        <div class="container-right">右边容器</div>
    </div>
</body>
</html>

关键点

  • display: grid:使父容器成为 Grid 容器。

  • grid-template-columns: 1fr 1fr:定义两列,每列等分(1fr 表示一份)。你也可以用固定值(如 200px 200px)或混合单位(如 200px 1fr)。

  • Grid 默认会将子元素填充到定义的网格中。

灵活调整宽度

可以用不同的比例或固定值:

css
CSS 服务

.wrapper {
    display: grid;
    grid-template-columns: 200px 1fr; /* 左边固定200px,右边占剩余空间 */
}

方法 3:浮动(传统方法,不推荐)

虽然可以用 float 实现左右排列,但它不如 Flex 或 Grid 现代和灵活。如果需要兼容非常老的浏览器,可以参考:

css
CSS 服务

.container-left {
    float: left;
    width: 50%;
    height: 200px;
    background: lightblue;
}
.container-right {
    float: left;
    width: 50%;
    height: 200px;
    background: lightcoral;
}

但建议优先使用 Flex 或 Grid,因为它们更易维护且功能更强大。


Flex vs Grid 选择建议

  • 用 Flex:如果只是简单的左右排列,Flex 更直观,代码更简洁。

  • 用 Grid:如果需要更复杂的布局(比如将来可能加行或列),或者需要精确控制网格线,Grid 更合适。

附加功能

  1. 间距:可以在 wrapper 上加 gap:

    css
    CSS 服务

    .wrapper {
        display: flex;
        gap: 10px; /* 左右容器间距 */
    }
    
  2. 居中:可以用 justify-content(Flex)或 justify-items(Grid)调整对齐:

    css
    CSS 服务

    .wrapper {
        display: flex;
        justify-content: center; /* 水平居中 */
    }
    

最终示例(带间距和动态宽度)

html
HTML 格式

<!DOCTYPE html>
<html>
<head>
    <style>
        .wrapper {
            display: flex;
            gap: 10px;
            width: 100%;
        }
        .container-left {
            flex: 1;
            height: 200px;
            background: lightblue;
            text-align: center;
        }
        .container-right {
            flex: 1;
            height: 200px;
            background: lightcoral;
            text-align: center;
        }
    </style>
</head>
<body>
    <div class="wrapper">
        <div class="container-left">左边容器</div>
        <div class="container-right">右边容器</div>
    </div>
</body>
</html>

登录

注册

重设密码

请输入您的用户名或电子邮箱地址。您会收到一封包含创建新密码链接的电子邮件。