CSS的经典三栏布局如何实现

这次给大家带来css的经典三栏布局如何实现,实现css的经典三栏布局的注意事项有哪些,下面就是实战案例,一起来看一下。

本文介绍了CSS经典三栏布局方案,分享给大家,也给自己做个笔记,具体如下:

三栏布局,顾名思义就是两边固定,中间自适应。三栏布局在开发十分常见

1. float布局

最简单的三栏布局就是利用float进行布局。首先来绘制左、右栏:

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

  .left {    float: left;    width: 100px;    height: 200px;    background-color: red;  }   .right {    float: right;    width: 100px;    height: 200px;    background-color: yellow;  }     
    
    
    
  

登录后复制

接下来再来看中间栏如何处理。我们知道对于float元素,其会脱离文档流,其他盒子也会无视这个元素。(但其他盒子内的文本依然会为这个元素让出位置,环绕在周围。)所以此时只需在container容器内添加一个正常的div,其会无视left和right,撑满整个container,只需再加上margin为left right流出空间即可:

   .left {     float: left;     width: 100px;     height: 200px;     background-color: red;   }     .right {     float: right;     width: 100px;     height: 200px;     background-color: yellow;   }     .main {     background-color: green;     height: 200px;     margin-left: 120px;     margin-right: 120px;   }     .container {     border: 1px solid black;   }     

登录后复制

优势:简单

劣势:中间部分最后加载,内容较多时影响体验

2. BFC 规则

BFC(块格式化上下文)规则规定:BFC不会和浮动元素重叠。所以如果将main元素设定为BFC元素即可:

  .left {    float: left;    width: 100px;    height: 200px;    background-color: red;  }   .right {    float: right;    width: 100px;    height: 200px;    background-color: yellow;  }   .main {    background-color: green;    height: 200px;    overflow: hidden;  }   

登录后复制

3. 圣杯布局

圣杯布局的核心是左、中、右三栏都通过float进行浮动,然后通过负值margin进行调整。

第一步,先来看下基本布局

    .left {        float: left;        width: 100px;        height: 200px;        background-color: red;    }     .right {        float: left;        width: 100px;        height: 200px;        background-color: yellow;    }     .main {        float: left;        width: 100%;        height: 200px;        background-color: blue;    }    
        
        
        
    

登录后复制

此时看到的效果是:左、右两栏被挤到第二行。这是因为main的宽度为100%。接下来我们通过调整左、右两栏的margin来将左、中、右放在一行中:

.left {    float: left;    width: 100px;    height: 200px;    margin-left: -100%;    background-color: red;} .right {    float: left;    width: 100px;    height: 200px;    margin-left: -100px;    background-color: yellow;}

登录后复制

第二步,将left的margin-left设置为-100%,此时左栏会移动到第一行的首部。然后再将right的margin-left设置为其宽度的负值:-100px,则右栏也会移动到和左、中栏一行中:

不过此时还没有大功告成,我们试着在main中加入一些文字:

    
        
fjlskdjflkasjdfljasdljlsjdljsdjflksadj
        
        
    

登录后复制

可以看到文字被压住了,接下来就要解决这个问题。

第三步,给container一个padding,该padding应该正好等于左、右栏的宽度:

.container {    padding-left: 100px;    padding-right: 100px;}

登录后复制

此时看到的结果是左、中、右三栏都整体收缩了,但文字依然被压住了。

第四步,给左、右两栏加上相对布局,然后再通过设置left和right值向外移动:

.left {    float: left;    width: 100px;    height: 200px;    margin-left: -100%;    position: relative;    left: -100px;    background-color: red;} .right {    float: left;    width: 100px;    height: 200px;    margin-left: -100px;    position: relative;    right: -100px;    background-color: yellow;}

登录后复制

到此为止,大功告成:

相信看了这些案例你已经掌握了方法,更多精彩请关注【创想鸟】其它相关文章!

相关阅读:

注意事项

注意事项

注意事项

注意事项

以上就是CSS的经典三栏布局如何实现的详细内容,更多请关注【创想鸟】其它相关文章!

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

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2900325.html

(0)
上一篇 2025年3月10日 23:56:51
下一篇 2025年3月1日 23:31:14

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • css3中的渐进增强和优雅降级如何使用

    这次给大家带来css3中的渐进增强和优雅降级如何使用,使用css3中的渐进增强和优雅降级的注意事项有哪些,下面就是实战案例,一起来看一下。 渐进增强和优雅降级这两个概念是在 CSS3 出现之后火起来的。由于低级浏览器不支持 CSS3,但是 …

    编程技术 2025年3月10日
    200
  • css怎么做出六边形图片

    这次给大家带来css怎么做出六边形图片,css做出六边形图片的注意事项有哪些,下面就是实战案例,一起来看一下。 用简单的div配合伪元素,即可‘画出’这幅六边形图片,原理是三个相同宽高的div,通过定位旋转拼合成一个六边形,再利用背景图层叠…

    编程技术 2025年3月10日
    200
  • CSS代码重构详解

    本文主要介绍css代码重构,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧,希望能帮助到大家。 1. 重构和架构 重构是指在不改变代码行为的前提下,重写代码,使其更加简洁、易于复用。 架构是指软件项目的各个不同部…

    编程技术 2025年3月10日
    200
  • CSS和JS实现唯美星空轨迹运动效果

    本文主要和大家分享一个使用css+js实现的唯美星空轨迹运动效果,效果非常逼真,下面小编给大家带来了实例代码,需要的朋友参考下,希望能帮助到大家。 先给大家分享效果图:   给大家分享一个使用CSS+JS实现的唯美星空轨迹运动效果, 这样的…

    2025年3月10日
    200
  • CSS选择器字段解析的实现方法

    根据上面所学的css基础语法知识,现在来实现字段的解析。首先还是解析标题。打开网页开发者工具,找到标题所对应的源代码。本文主要介绍了css选择器实现字段解析的相关资料,需要的朋友可以参考下,希望能帮助到大家 发现是在p class=&#82…

    2025年3月10日 编程技术
    200
  • CSS如何实现Tab页切换的代码分享

    tab页面切换的功能我们已经和大家分享过很多,本文我们主要和大家绍css实现tab页切换实例代码,需要的朋友可以参考下,希望能帮助到大家。 1.hover 移入其父元素.navI时,触发鼠标的hover态,给父元素添加样式为position…

    编程技术 2025年3月10日
    200
  • CSS使用position:sticky实现粘性布局实例详解

    本文主要和大家介绍css使用position:sticky 实现粘性布局的方法的相关资料,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧,希望能帮助到大家。 简介 前面写了一篇文章讲解了position常用的几个…

    2025年3月10日
    200
  • CSS里的BFC和IFC的用法实例分析

    之前一直听到有人提到 css里的bfc,正巧在 ife的练习里遇到了外边距折叠的问题,所以正好弄清楚bfc的机制。 (参考来源 见文末的 reference) 本文主要和大家介绍CSS里的BFC和IFC的用法的相关资料,小编觉得挺不错的,现…

    2025年3月10日 编程技术
    200
  • CSS定位实例讲解

    本文主要和大家介绍css定位的教程,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧,希望能帮助到大家。 1.文档流 简单说就是元素按照其在 HTML 中的位置顺序决定排布的过程。HTML的布局机制就是用文档流模型…

    编程技术 2025年3月10日
    200
  • CSS圆形缩放动画实现代码分享

    最近在做公司的登录页,ue同学希望第三方登录的图标在hover的时候有一个圆形的缩放效果(原话是波纹效果-_-||),效果参考腾讯新闻和网易新闻的分享按钮。 本文主要和大家介绍CSS圆形缩放动画简单实现的相关资料,小编觉得挺不错的,现在分享…

    2025年3月10日
    200

发表回复

登录后才能评论