CSS三栏布局的实现方法总结(代码示例)

本篇文章给大家带来的内容是关于css三栏布局的实现方法总结(代码示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

对于前端来说,布局也是必须掌握的,一个好的布局可以让页面看起来更美观。提到布局,那就不得不说CSS三栏布局。这是前端面试经常会问到的一个问题,算是基础题。所谓的三栏布局,一般是指左右两边固定中间自适应,或者是中间固定左右两边自适应。

左右两边固定中间自适应

圣杯布局

HTML结构设置

新建一个父元素,包含三个子元素:left、main、right(注意,main在写在前面,这样在页面渲染时会先加载中间,针对面试题优先加载中间部分)

style样式设置

立即学习“前端免费学习笔记(深入)”;

1、父元素设置高度
 2、三个元素均设置浮动
 3、中间main部分定宽100%:width: 100%,左右两边按产品需求设置宽高
 4、左边设置margin-left: -100%;右边设置margin-right: -右盒子宽
 5、父元素设置padding-left: 左盒子宽;padding-right: 右盒子宽
 6、左右盒子相对定位

go aheadgo aheadvgo aheadgo aheadgo aheadgo aheadgo aheadgo aheadgo aheadgo aheadgo aheadgo aheadgo aheadgo aheadgo aheadgo ahead
body { min-width: 700px; } .container { height: 300px; padding: 0 200px 0 200px; } .f { float: left; } .main { width: 100%; height: 300px; background-color: cornflowerblue; } .left { width: 200px; height: 300px; background-color: indianred; margin-left: -100%; position: relative; left: -200px; } .right { width: 200px; height: 300px; background-color: lightgreen; margin-left: -200px; position: relative; right: -200px; }

该布局受内部元素影响而破坏布局的概率低,但是当浏览器屏幕缩小的一定程度时,左右两侧的内容会掉下来,或发生重叠现象。解决方案,给body加一个最小宽度(起码大于左右两侧宽度之和)

双飞翼布局

与圣杯布局的思路是一致的,只是有一些细微的差别。

HTML结构设置

新建一个父元素,包含三个子元素:left、main、right(注意,main在写在前面,这样在页面渲染时会先加载中间,针对面试题优先加载中间部分)

style样式设置

立即学习“前端免费学习笔记(深入)”;

1、父元素设置高度
 2、三个元素均设置浮动
 3、中间main部分定宽100%:width: 100%,左右两边按产品需求设置宽高
 4、中间main部分再加一个盒子inner,放置内容(与圣杯布局的不同点)
 5、左边设置margin-left: -100%;右边设置margin-right: -右盒子宽
 6、新添加盒子,inner,设置左右padding或margin

go aheadgo aheadvgo aheadgo aheadgo aheadgo aheadgo aheadgo aheadgo aheadgo aheadgo aheadgo aheadgo aheadgo aheadgo aheadgo ahead
.container { height: 300px; } .f { float: left; } .main { width: 100%; height: 300px; background-color: cornflowerblue; } .left { width: 200px; height: 300px; background-color: indianred; margin-left: -100%; } .right { width: 200px; height: 300px; background-color: lightgreen; margin-left: -200px; } .inner { padding: 0 200px 0 200px; }

自身浮动

HTML结构设置

新建三个元素:left、right、main(注意,main写在后面)

style样式设置

立即学习“前端免费学习笔记(深入)”;

1、左盒子左浮动,右盒子右浮动
 2、中间部分设置margin或padding值

我是中间内容我是中间内容我是中间内容我是中间内容我是中间内容我是中间内容我是中间内容我是中间内容我是中间内容我是中间内容
.main { margin: 0 200px 0 200px; background-color: red; height: 200px; } .left { float: left; width: 200px; background-color: blue; height: 200px; } .right { float: right; width: 200px; background-color: pink; height: 200px; }

CSS3新特性:flex

HTML结构设置

新建一个父元素,包含三个子元素:left、main、right(注意,main写在中间)

style样式设置

立即学习“前端免费学习笔记(深入)”;

1、父元素设置宽度为100%,display: flex;
 2、左右两则按产品需求设置宽高
 3、中间部分设置flex: 1;

我是中间内容我是中间内容我是中间内容我是中间内容我是中间内容我是中间内容我是中间内容我是中间内容我是中间内容我是中间内容
.container { width: 100%; height: 200px; display: flex; } .main { flex: 1; background-color: red; height: 200px; } .left { width: 200px; background-color: blue; height: 200px; } .right { width: 200px; background-color: pink; height: 200px; }

还有其他的写法,这里就不一一赘述,只是列举了一些比较常用的,以及面试可能会问到的情况。CSS3还有很多好玩的特性,在工作和学习的过程中值得深入研究。

中间固定左右两边自适应

浮动 + 负边距 (圣杯布局)

HTML结构设置

新建一个父元素,包含三个子元素:left、main、right(注意,main写在中间)

style样式设置

立即学习“前端免费学习笔记(深入)”;

1、左右两边各占50%的宽度
 2、左边负边距 margin-left 占中间p宽度的一半
 3、右边负边距 margin-right 也占中间p宽度的一半

 
我是中间内容
.main { width: 100px; text-align: center; float: left; background-color: lightgreen; height: 300px; } .left { height: 300px; float: left; width: 50%; margin-left: -50px; background-color: pink; } .right { height: 300px; float: right; width: 50%; margin-right: -50px; background-color: cornflowerblue; }

CSS3新特性:flex

HTML结构设置

新建一个父元素,包含三个子元素:left、main、right

style样式设置

立即学习“前端免费学习笔记(深入)”;

1、父元素设置display: flex;flex-direction: row;
 2、左右设置flex-grow: 1,平分剩余空间

 
我是中间内容
.container { display: flex; flex-direction : row; } .main { width: 200px; height: 300px; text-align: center; background-color: lightgreen; } .left { height: 300px; flex-grow: 1; background-color: pink; } .right { height: 300px; flex-grow: 1; background-color: cornflowerblue; }

CSS3特性 calc(四则运算)

用于动态计算长度值。需要注意的是,运算符前后都需要保留一个空格,例如:width: calc(100% – 50px)。

HTML结构设置

新建一个父元素,包含三个子元素:left、main、right

style样式设置

立即学习“前端免费学习笔记(深入)”;

1、父元素设置100%宽;
 2、左右设置width: calc(50%, – 中间宽/2)

 
我是中间内容
.container { width: 100%; height: 300px; } .f { float: left; } .main { width: 100px; text-align: center; background-color: lightgreen; height: 300px; } .left { height: 300px; background-color: pink; width: calc(50% - 50px); /*平分中间部分的宽度*/ } .right { height: 300px; background-color: cornflowerblue; width: calc(50% - 50px); /*平分中间部分的宽度*/ }

路漫漫其修远兮,没有别人聪慧,那就坚持不懈努,相信勤能补拙。每天进步一点点,总有一天会迈进一大步。

以上就是CSS三栏布局的实现方法总结(代码示例)的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1614060.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月24日 04:02:30
下一篇 2025年12月24日 04:02:48

相关推荐

  • 纯CSS3实现3D翻转效果的代码示例

    本篇文章给大家带来的内容是关于纯CSS3实现3D翻转效果的代码示例,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 作为前端开发人员的必修课,CSS3能带我们完成许多基本动效,本期我们将用CSS3实现hover翻转效果~ 第一步非常简单,我们简单画1个演示方块,为其添加transit…

    2025年12月24日 好文分享
    000
  • border-radius属性如何使用

    border-radius属性用于创建圆角,其使用语法是“border-radius: 1-4 length|%;”,border-radius是一个最多可指定四个“border -*- radius”属性的复合属性。 本文操作环境:Windows7系统、Dell G3电脑、HTML5&&a…

    2025年12月24日
    000
  • box-shadow属性的功能是什么

    box-shadow是css3中的一个属性,是用于向方框添加一个或多个阴影,并设置阴影位置、尺寸、颜色等。 CSS3 box-shadow属性 作用:box-shadow 用于向方框添加阴影 基本语法: box-shadow: h-shadow v-shadow blur spread color …

    2025年12月24日
    000
  • border-image属性怎么用

    border-image属性是一个是一个简写属性,通过此属性可使用图片来创建边框,该属性的使用语法是“border-image: source slice width outset repeat|initial|inherit;”。 本文操作环境:windows7系统、CSS3版、Dell G3电脑…

    2025年12月24日
    000
  • background-size属性怎么用

    background-size属性是用来设置背景图片尺寸大小的,可以通过长度值或百分比来设置图片大小,或者通过cover和contain来对图片进行伸缩设置。 CSS background-size属性 作用:规定背景图片的尺寸。 说明:在 CSS3 之前,背景图片的尺寸是由图片的实际尺寸决定的。在…

    2025年12月24日
    000
  • background-origin属性怎么用

    background-origin属性是用于设置背景图片的定位区域,它有三个值分别表示相对于内边距框定位、相对于边框盒定位、相对于内容框定位。 CSS3 background-origin属性 作用:规定背景图片的定位区域。 说明:设置或检索对象的背景图像计算 时的参考原点(位置)。 语法: bac…

    2025年12月24日
    000
  • CSS中伪类和伪元素的详细介绍(代码示例)

    本篇文章给大家带来的内容是关于CSS中伪类和伪元素的详细介绍(代码示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 一、伪类 伪类包含两种:状态伪类(UI 伪类)和结构性伪类。 (1)状态伪类是基于元素当前状态进行选择的。 在与用户的交互过程中元素的状态是动态变化的,因此该元素…

    好文分享 2025年12月24日
    000
  • CSS实现页面底部固定的方法介绍(附代码)

    本篇文章给大家带来的内容是关于css实现页面底部固定的方法介绍(附代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 当我们在写页面时经常会遇到页面内容少的时候,footer会戳在页面中间或什么?反正就是不在最底部显示,反正就是很难看,下面要讲的布局就是解决如何使元素粘住浏览器底…

    好文分享 2025年12月24日
    000
  • css权重是什么?css权重的介绍

    本篇文章给大家带来的内容是关于css权重是什么?css权重的介绍,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 1、什么是css权重?css6大基础选择器 css权重指的是css6大基础选择符的优先级,优先级高的css样式会覆盖优先级底的css样式,优先级越高说明权重越高,反之亦然…

    2025年12月24日
    000
  • css3如何实现元素环绕中心点布局(代码示例)

    本篇文章给大家带来的内容是关于css3如何实现元素环绕中心点布局(代码示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 效果如图: 代码实现: *{ margin: 0; padding: 0; box-sizing: border-box; } .surround-box, …

    2025年12月24日
    000
  • 彻底理解CSS中视觉格式化模型(附示例)

    本篇文章给大家带来的内容是关于彻底理解css中视觉格式化模型(附示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 不论你在什么时候开始,重要的是开始之后不要停止。 前言 对于部分前端工程师来讲,有时候CSS令他们很头疼,明明设置了某个样式,但是布局就是不起作用。 如果你也有这种…

    2025年12月24日
    000
  • CSS中display: inline-block的用法解析

    本篇文章给大家带来的内容是关于css中display: inline-block的用法解析,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 迷之间隙 我们创建一个导航列表,并将其列表 item 设置为 inline-block,主要代码如下: 我 我 我.nav { backgrou…

    2025年12月24日
    000
  • CSS3有哪些新特性?CSS3新特性详解

    本篇文章给大家带来的内容是关于css3有哪些新特性?css3新特性详解,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。【推荐教程:css教程】 CSS3有哪些新特性? 新增选择器 p:nth-child(n){color: rgba(255, 0, 0, 0.75)} 弹性盒模型 d…

    好文分享 2025年12月24日
    000
  • css如何给边框添加图像?css设置边框图像

    今天将和大家介绍如何利用css给元素的边框添加图像,css只要是通过设置border-image属性或者其相关属性就可以给元素的边框添加图像。下面我们来看看本篇文章的具体内容。 border-image属性的简单介绍 在css中我们可以通过设置border-image属性来定义边框要使用的图像,而不…

    2025年12月24日 好文分享
    000
  • CSS3中如何实现图片翻转

    今天将和大家分享如何利用CSS3中的知识来制作一个图片翻转的功能,CSS3中图片翻转效果主要通过设置transition过渡动画以及transform旋转动画来共同实现 【推荐课程:CSS3教程】 案例分析 立即学习“前端免费学习笔记(深入)”; 图片翻转效果的思路:先利用position定位将两个…

    2025年12月24日
    000
  • CSS3新增了哪些属性

    CSS3新增的属性有:1、文本阴影;2、背景渐变;3、颜色透明度;4、元素旋转;5、多列布局;6、字体改变等等。 本文操作环境:Windows7系统、Dell G3电脑、css3版。 今天将和大家介绍CSS3中的新增属性,具有一定的参考价值,希望对大家有所帮助 最新版本的CSS3的出现使Web设计更…

    2025年12月24日 好文分享
    000
  • 如何利用CSS3实现input 输入框动画样式库

    本篇文章给大家带来的内容是关于如何利用css3实现input 输入框动画样式库,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 享一个用纯 CSS3 实现的,漂亮的 input 输入框动画样式库-Text input love。 点击每个输入框都用不同的动画效果,始终显示标签labe…

    2025年12月24日
    000
  • css3动画属性有哪些

    css3动画属性有animation-name、animation-duration、animation-timing-function、animation-delay、animation-iteration-count等。 本文操作环境:windows7系统、Dell G3电脑、CSS3。 本篇文…

    2025年12月24日
    000
  • css计数器(counter)是什么

    本篇文章给大家带来的内容是介绍css计数器(counter)是什么,让大家简单的了解css计数器的相关属性。有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助。 css计数器是什么? 计数器是css3提供的一个强大的工具,是一种可以让我们使用CSS给元素自动编号的方法。使用它可以很方便对…

    2025年12月24日
    000
  • css如何使用计数器给元素自动编号?css计数器的使用(代码示例)

    css如何使用计数器给元素自动编号?本篇文章就给大家介绍设置和使用css计数器的方法。有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助。 在之前的文章【css计数器(counter)是什么】中我们简单介绍了css计数器的相关属性,以及通过代码实例来简单了解了一下css计数器的使用,本篇…

    2025年12月24日
    000

发表回复

登录后才能评论
关注微信