实现HTML两栏布局

Flex 布局

复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<style>
.container {
  display: flex;
}

.left {
  width: 200px; /* 固定左边宽度 */
  background-color: lightblue;
}

.right {
  flex: 1; /* 右边占据剩余空间 */
  background-color: lightpink;
}
</style>
<body>
    <div class="container">
        <div class="left">左边内容</div>
        <div class="right">右边内容</div>
    </div>
</body>
</html>

浮动 + margin

复制代码
<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>
<style>
  .container {
    overflow: hidden;
    /* 清除浮动 */
  }

  .left {
    float: left;
    width: 200px;
    background-color: lightblue;
  }

  .right {
    margin-left: 200px;
    /* 与左边元素的宽度相同 */
    background-color: lightpink;
  }
</style>

<body>
  <div class="container">
    <div class="left">左边内容</div>
    <div class="right">右边内容</div>
  </div>
</body>

</html>

Grid 布局

复制代码
<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>
<style>
.container {
  display: grid;
  grid-template-columns: 200px 1fr;
}

.left {
  background-color: lightblue;
}

.right {
  background-color: lightpink;
}
</style>

<body>
  <div class="container">
    <div class="left">左边内容</div>
    <div class="right">右边内容</div>
  </div>
</body>

</html>

.container {

display: grid;

grid-template-columns: 200px 1fr;

}

1fr :表示第二列会占据剩余的所有空间。fr 是一个弹性单位,代表"分数",它会根据剩余空间的比例来分配宽度。

相关推荐
加个鸡腿儿1 分钟前
从"包裹器"到"确认按钮"——一个组件的三次重构
前端·vue.js·设计模式
子兮曰7 分钟前
AI写代码坑了90%程序员!这5个致命bug,上线就炸(附避坑清单)
前端·javascript·后端
猪八宅百炼成仙12 分钟前
PanelSplitter 组件:前端左右布局宽度调整的实用解决方案
前端
锋利的绵羊28 分钟前
【解决方案】微信浏览器跳出到浏览器打开、跳转到app,安卓&ios
前端
终端鹿31 分钟前
Vue3 核心 API 补充解析:toRef / toRefs / unref / isRef
前端·javascript·vue.js
刘宇琪32 分钟前
如何有效缓解大语言模型生成内容中的事实性错误(幻觉)
前端
英俊潇洒美少年33 分钟前
vue的事件循环
前端·javascript·vue.js
GISer_Jing34 分钟前
Next.js全栈开发实战与面试指南
前端·javascript·react.js
im_AMBER35 分钟前
万字长文:从零实现 JWT 鉴权
前端·react.js·express
发量浓郁的程序猿35 分钟前
uniapp vue3手搓签名组件
前端