CSS两列布局——左侧宽度固定,右侧宽度自适应的3种方法
1.左侧绝对定位法
直接看代码:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>CSS两列布局——第一种方法</title> <style> .left { position: absolute; height: 500px; width: 300px; background: #333; color: #ccc; } .right { height: 500px; background: #ddd; margin-left: 300px; } </style> </head> <body> <div class="left"> 左侧设置绝对定位 </div> <div class="right"> 右侧左边距margin-left设为左侧的宽度,这是关键 </div> </body> </html>
效果如下:
关键点在于.left的position:absolute和.right的margin-left:300px;
2.左侧浮动法(右侧不浮动)
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>CSS两列布局——第二种方法</title> <style> .left { float: left; height: 500px; width: 300px; background: #333; color: #ccc; } .right { overflow: auto; height: 500px; background: #ddd; } </style> </head> <body> <div class="left"> 左侧设置左浮动 </div> <div class="right"> 右侧设置overflow:auto </div> </body> </html>
效果如下:
关键点:左侧设置左浮动,右侧设置overflow:auto,我也不知道为什么这样就有效,以后知道了来补充。
3.Flex布局法(建议移动端页面使用)
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>CSS两列布局——第三种方法,flex布局</title> <style> .wrapper { display: flex; } .left { flex: 0 0 25%; width: 25%; height: 500px; background: #333; color: #ccc; } .right { flex: 1; height: 500px; background: #ddd; } </style> </head> <body class="wrapper"> <div class="left"> flex子元素:固定宽度,可用百分比 </div> <div class="right"> flex子元素:宽度不定,但是flex:1,否则它是随内容而撑开。 </div> </body> </html>
效果如下:
参考文章:两列布局——左侧宽度固定,右侧宽度自适应的两种方法
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理