【我的前端】CSS网页布局:实现三栏布局的方法

简介: 需求:实现左右两栏固定宽度,中间一栏自适应宽度。

实现三栏布局的3种方法

需求:实现左右两栏固定宽度,中间一栏自适应宽度。

1、浮动float+cac()

核心思想:先使用浮动将三栏水平排列,然后对中间栏使用 calc() 函数来计算去除左右两栏固定宽度后剩余的宽度。

HTML结构:

<div class="container">
  <div class="left">left</div>
  <div class="middle">middle</div>
  <div class="right">right</div>
</div>

css样式:

div {
    height: 100px;
}
.left {
    float: left;
    width: 200px;
    background-color: red;
}
.middle {
    float: left;
    width: calc(100% - 400%);
    background-color: green;
}
.right{
    float: left;
    width: 200px;
    background-color: blue;
}

这是浏览器缩放100%的效果图:


只有到500%的时候才能显示中间栏来:


2、浮动float+margin负值

核心思想:利用浮动的方式,为左右两栏设置对应方向的浮动。中间设置左右两个方向的 margin 负值,注意这种方式,中间一栏必须放到最后。

HTML结构:

<div class="container">
  <div class="left">left</div>
  <div class="right">right</div>
  <div class="middle">middle</div>
</div>

css样式:

div {
    height: 100px;
}
.left {
    float: left;
    width: 200px;
    background-color: red;
}
.right{
    float: right;
    width: 200px;
    background-color: blue;
}
.middle {
    margin-left: 200px;
    margin-right: 200px;
    background-color: green;

再次优化后:


怎么样,是不是好多了?别急,还能再优化呢!

3、定位position

核心思想:利用 绝对定位 的方式。

好处:这种实现方式的三栏 HTML 结构可以任意摆放,不用考虑先后顺序。

HTML结构:

<div class="container">
  <div class="left">left</div>
  <div class="right">right</div>
  <div class="middle">middle</div>
</div>

css样式:

.container {
    position: relative;
}
.left {
    position: absolute;
    left: 0;
    width: 200px;
    background-color: red;
}
.right{
    position: absolute;
    right: 0;
    width: 200px;
    background-color: blue;
}
.middle {
    position: absolute;
    left: 200px;
    right: 200px;
    background-color: green;
}

这是最终100%的效果图:


500%的时候就找不到中间栏了:



缩放到25%的时候中间栏就长得不像话了:



其实还有很多布局方法,例如:网格布局、圣杯布局等等,我就不再列举了。另外,不知道朋友们发现没有,像这样的三栏布局和响应式设计似乎有着异曲同工之妙呀!

相关文章
|
4天前
|
前端开发 UED 容器
在 CSS 中使用 Flex 布局实现页面自适应时需要注意什么?
【10月更文挑战第22天】在使用 Flex 布局实现页面自适应时,需要对其基本原理和特性有深入的理解,同时结合具体的布局需求和场景,进行细致的调整和优化。通过合理的设置和注意事项的把握,才能实现理想的自适应效果,提升用户体验。还可以根据实际情况进行更深入的探索和实践,以不断提升 Flex 布局的应用能力。
|
1天前
|
缓存 监控 前端开发
CSS 提高性能的方法
【10月更文挑战第24天】在实际应用中,还需要根据具体项目的特点和需求,灵活选择和组合这些方法,不断进行优化和改进。同时,随着技术的不断发展,也需要持续关注新的性能优化技巧和最佳实践,以保持在性能优化方面的领先地位。你对 CSS 性能优化还有哪些深入的思考和经验呢?欢迎进一步交流和分享。
|
4天前
|
前端开发
css页面顶部底部固定,中间自适应几种方法
【10月更文挑战第22天】css页面顶部底部固定,中间自适应几种方法
|
14天前
|
前端开发 JavaScript
CSS样式穿透技巧:利用scoped与deep实现前端组件样式隔离与穿透
CSS样式穿透技巧:利用scoped与deep实现前端组件样式隔离与穿透
91 1
|
25天前
|
前端开发 容器
使用 CSS Grid 布局实现响应式设计
【10月更文挑战第1天】使用 CSS Grid 布局实现响应式设计
36 4
|
25天前
|
前端开发 容器
前端技术分享:利用CSS Grid布局实现响应式设计
【10月更文挑战第1天】前端技术分享:利用CSS Grid布局实现响应式设计
|
24天前
|
前端开发 容器
CSS 中几种常用的换行方法
CSS 中几种常用的换行方法
17 1
|
20天前
|
前端开发 UED
css性能优化的方法
css性能优化的方法
18 0
|
21天前
|
前端开发 JavaScript 容器
前端之CSS基础知识
前端之CSS基础知识
14 0
|
3月前
|
前端开发
2s 利用 HTML+css动画实现企业官网效果
2s 利用 HTML+css动画实现企业官网效果