CSS 常见布局

简介: CSS 常见布局

左列固定宽度,右列自适应

使用flex布局实现

.container{
    display: flex;
}
.l{
    width: 100px;
}
.r{
    flex: 1;
}

Demo

使用float以及margin实现

.l{
    width: 100px;
    float: left;
}
.r{
    margin-left: 100px;
}

Demo

使用float以及overflow实现

.l{
    width: 100px;
    float: left;
}
.r{
    overflow: hidden;
}

通过设置overflow创建了一个BFC,可以形成一个独立的容器,浮动盒区域不叠加在BFC上,容器内子元素不会影响到外面的元素,反之亦然。设置overflow:auto;等都能达到同样效果,只需要形成一个BFC。

Demo

使用table实现

.container{
    display: table;
    table-layout: fixed;
    width: 100%;
}
.l{
    width: 100px;
}
.r, .l{
    display: table-cell;
}

Demo

右列固定宽度,左列自适应

使用flex布局实现

.container{
    display: flex;
}
.l{
    flex: 1;
}
.r{
    width: 100px;
}

Demo

使用float以及margin实现

.l{
    float: left;
    margin-right: -100px;
    width: 100%;
}
.r{
    float: right;
    width: 100px;
}

Demo

使用table实现

.container{
    display: table;
    table-layout: fixed;
    width: 100%;
}
.r{
    width: 100px;
}
.l, .r{
    display: table-cell;
}

Demo

两侧固定宽度,中间自适应

使用flex布局

.container{
    display: flex;
}
.l{
    width: 100px;
}
.c{
    flex: 1;
}
.r{
    width: 100px;
}

Demo

使用float以及margin布局

 .container{
            
}
.l{
    float: left;
    width: 100px;
}
.c{
    float: left;
    margin-right: -200px;
    width: 100%;
}
.r{
    float: left;
    width: 100px;
}

Demo

使用table布局

.container{
    display: table;
    table-layout: fixed;
    width: 100%;
}
.l{
    width: 100px;
}
.r{
    width: 100px;
}
.l, .r, .c{
    display: table-cell;
}

Demo

左列不定宽,右列自适应

利用flex实现

.container{
    display: flex;
}
.r{
    flex: 1;
}

Demo

利用table实现

.container{
    display: table;
}
.l{
    background-color: red;
    width: 1%;
}
.r{
    background-color: gainsboro;
}
.l, .r{
    display: table-cell;
}

Demo

利用float实现

左侧元素浮动,右侧元素通过overflow形成BFC。

.l{
    float: left;
    background-color: blanchedalmond;
}
.r{
    overflow: hidden;
    background-color: red;
}

Demo

多列等分布局

利用flex实现

.container{
    display: flex;
}
.ele{
    flex: 1;
}

Demo

利用float实现

.ele{
    float: left;
    width: 25%;
}

Demo

利用table实现

.container{
    display: table;
    width: 100%;
    table-layout: fixed;
}
.ele{
    display: table-cell;
}

Demo

目录
相关文章
|
2月前
|
Web App开发 前端开发 JavaScript
技术心得记录:瀑布流的布局原理分析(纯CSS瀑布流与JS瀑布流)
技术心得记录:瀑布流的布局原理分析(纯CSS瀑布流与JS瀑布流)
26 0
|
15天前
|
前端开发 JavaScript Serverless
揭秘CSS布局神器:vw/vh、rem、%与px大PK,掌握它们,让你的网页设计秒变高大上,面试难题迎刃而解!
【8月更文挑战第4天】在Web开发中,合理选择CSS单位对响应式布局至关重要。本文探索viewport单位(vw/vh)、rem、百分比(%)及像素(px)的基础知识与应用场景。通过代码示例,展示如何运用这些单位实现全屏布局、尺寸比例调整、灵活的元素大小及固定尺寸。最后,模拟面试题,介绍如何仅用CSS实现一个元素的高度为其宽度两倍且响应视口变化的方法。
46 8
|
2月前
|
前端开发
CSS中的display属性:布局控制的关键
CSS中的display属性:布局控制的关键
135 42
|
5天前
|
前端开发
CSS Grid 布局:span 关键字
CSS Grid 布局:span 关键字
15 0
|
8天前
|
前端开发 容器
css中弹性布局使用方法
css中弹性布局使用方法
17 0
|
8天前
|
编解码 前端开发 容器
CSS弹性布局:打造响应式与灵活的网页设计
CSS弹性布局:打造响应式与灵活的网页设计
19 0
|
1月前
|
编解码 前端开发 容器
CSS Flex布局实战案例:构建响应式卡片组件
【7月更文挑战第17天】通过上述步骤,我们成功地使用CSS Flex布局构建了一个响应式的卡片组件。Flexbox不仅简化了布局代码,还让我们能够轻松实现复杂的布局效果,如响应式设计。在实战中,掌握Flexbox将大大提高前端开发的效率和网页布局的质量。希望这个案例能够帮助你更好地理解和应用Flexbox布局。
|
1月前
|
前端开发
css 十字分割线(含四等分布局)
css 十字分割线(含四等分布局)
28 2
|
1月前
|
移动开发 前端开发 HTML5
CSS 【实战】 “四合院”布局
CSS 【实战】 “四合院”布局
25 0
CSS 【实战】 “四合院”布局
|
1月前
|
前端开发
css的flex布局中使用margin:auto智能分配剩余空间
css的flex布局中使用margin:auto智能分配剩余空间
30 1