首页 经验

使用 Flexbox 和 Grid 布局实现三列布局(左右固定宽度,中间自适应)

时间: 2024-10-20 15:13:58

(部分内容来自网络,其真实性存疑,为了避免对您造成误导,请谨慎甄别。)


以下是使用 Flexbox 和 Grid 布局实现三列布局(左右固定宽度,中间自适应)的示例。


方法一:Flexbox 布局


HTML 示例:

<!DOCTYPE html>

<html>

<head>

    <meta charset="UTF-8">

    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    <title>三列布局 - Flexbox</title>

    <link rel="stylesheet" href="styles.css">

</head>

<body>

    <div>

        <div>左侧固定列</div>

        <div>中间自适应列</div>

        <div>右侧固定列</div>

    </div>

</body>

</html>


CSS 示例(styles.css):

body {

    margin: 0;

}


.container {

    display: flex;

    height: 100vh; /* 使容器高度充满视口 */

}


.left, .right {

    width: 200px; /* 固定宽度 */

    background-color: #f0f0f0; /* 背景颜色 */

}


.middle {

    flex: 1; /* 自适应列,占据剩余空间 */

    background-color: #d0e0f0; /* 背景颜色 */

}


方法二:Grid 布局


HTML 示例:

<!DOCTYPE html>

<html>

<head>

    <meta charset="UTF-8">

    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    <title>三列布局 - Grid</title>

    <link rel="stylesheet" href="styles.css">

</head>

<body>

    <div>

        <div>左侧固定列</div>

        <div>中间自适应列</div>

        <div>右侧固定列</div>

    </div>

</body>

</html>


CSS 示例(styles.css):

body {

    margin: 0;

}


.grid-container {

    display: grid;

    grid-template-columns: 200px 1fr 200px; /* 左右两列固定宽度,中间列自适应 */

    height: 100vh; /* 使容器高度充满视口 */

}


.left, .right {

    background-color: #f0f0f0; /* 背景颜色 */

}


.middle {

    background-color: #d0e0f0; /* 背景颜色 */

}


总结


- Flexbox方法:通过设置容器为 display: flex,让左右列固定宽度,并使用 flex: 1 使中间列自适应剩余空间。

- Grid方法:通过设置容器为 display: grid,使用 grid-template-columns 定义三列布局,其中左右列设为固定宽度(200px),中间列设为自适应(1fr)。


这两种方法都能有效实现三列布局,具体选择方法可以根据项目需求和开发者的偏好来决定。


上一个 #pragma once 文章列表 下一个 CSS选择器样式优先级

最新

工具

© 2019-至今 适观科技

沪ICP备17002269号