css实现三列布局有哪些方法

css实现三列布局的方法:1、float浮动布局;2、绝对定位布局;3、flexbox弹性布局,存在IE上兼容性问题,只能支持IE9以上;4、table表格布局,不利于搜索引擎抓取信息;5、gird网格布局,兼容性差。

css实现三列布局有哪些方法

本教程操作环境:windows7系统、CSS3&&HTML5版、Dell G3电脑。

三栏布局,顾名思义就是两边固定,中间自适应。三栏布局在实际的开发十分常见,比如淘宝网的首页,就是个典型的三栏布局:即左边商品导航和右边导航固定宽度,中间的主要内容随浏览器宽度自适应。

css实现三列布局有哪些方法

我们不妨假定这样一个布局:高度已知,其中左栏、右栏宽度各为300px,中间自适应,可以通过几种方法来实现?以及各自的优缺点是什么?

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

一、浮动布局

nbsp;html>        Layout            html * {            padding: 0;            margin: 0;        }        .layout article div {            min-height: 150px;        }            
         .layout.float .left { float: left; width: 300px; background: red; } .layout.float .center { background: yellow; } .layout.float .right { float: right; width: 300px; background: blue; }         

三栏布局

        
            
            
 // 右栏部分要写在中间内容之前            
                

浮动解决方案

                1.这是三栏布局的浮动解决方案; 2.这是三栏布局的浮动解决方案; 3.这是三栏布局的浮动解决方案; 4.这是三栏布局的浮动解决方案; 5.这是三栏布局的浮动解决方案; 6.这是三栏布局的浮动解决方案;            
        
    

登录后复制

这种布局方式,dom结构必须是先写浮动部分,然后再中间块,否则右浮动块会掉到下一行。
浮动布局的优点就是比较简单,兼容性也比较好。但浮动布局是有局限性的,浮动元素脱离文档流,要做清除浮动,这个处理不好的话,会带来很多问题,比如父容器高度塌陷等。 

二、绝对定位布局

 
      .layout.absolute .left-center-right>div{ position: absolute;//三块都是绝对定位 } .layout.absolute .left { left:0; width: 300px; background: red; } .layout.absolute .center { right: 300px; left: 300px;//离左右各三百 background: yellow; } .layout.absolute .right { right: 0; width: 300px; background: blue; }      

三栏布局

     
         
         
             

绝对定位解决方案

             1.这是三栏布局的浮动解决方案; 2.这是三栏布局的浮动解决方案; 3.这是三栏布局的浮动解决方案; 4.这是三栏布局的浮动解决方案; 5.这是三栏布局的浮动解决方案; 6.这是三栏布局的浮动解决方案;         
         
     
 

登录后复制

绝对定位布局优点就是快捷,设置很方便,而且也不容易出问题。缺点就是,容器脱离了文档流,后代元素也脱离了文档流,高度未知的时候,会有问题,这就导致了这种方法的有效性和可使用性是比较差的。 

三、flexbox布局

     .layout.flexbox .left-center-right{ display: flex; } .layout.flexbox .left { width: 300px; background: red; } .layout.flexbox .center { background: yellow; flex: 1; } .layout.flexbox .right { width: 300px; background: blue; }     

三栏布局

    
        
        
            

flexbox解决方案

            1.这是三栏布局的浮动解决方案; 2.这是三栏布局的浮动解决方案; 3.这是三栏布局的浮动解决方案; 4.这是三栏布局的浮动解决方案; 5.这是三栏布局的浮动解决方案; 6.这是三栏布局的浮动解决方案;        
        
    

登录后复制

flexbox布局是css3里新出的一个,它就是为了解决上述两种方式的不足出现的,是比较完美的一个。目前移动端的布局也都是用flexbox。 flexbox的缺点就是IE10开始支持,但是IE10的是-ms形式的。 

四、表格布局

    
         .layout.table .left-center-right { display: table; height: 150px; width: 100%; } .layout.table .left-center-right>div { display: table-cell; } .layout.table .left { width: 300px; background: red; } .layout.table .center { background: yellow; } .layout.table .right { width: 300px; background: blue; }         

三栏布局

        
            
            
                

表格布局解决方案

                1.这是三栏布局的浮动解决方案; 2.这是三栏布局的浮动解决方案; 3.这是三栏布局的浮动解决方案; 4.这是三栏布局的浮动解决方案; 5.这是三栏布局的浮动解决方案; 6.这是三栏布局的浮动解决方案;            
            
        
    

登录后复制

表格布局的兼容性很好(见下图),在flex布局不兼容的时候,可以尝试表格布局。当内容溢出时会自动撑开父元素。

表格布局也是有缺陷:①无法设置栏边距;②对seo不友好;③当其中一个单元格高度超出的时候,两侧的单元格也是会跟着一起变高的,然而有时候这并不是我们想要的效果。

css实现三列布局有哪些方法

五、网格布局  

     .layout.grid .left-center-right { display: grid; width: 100%; grid-template-columns: 300px auto 300px; grid-template-rows: 150px;//行高 } .layout.grid .left { background: red; } .layout.grid .center { background: yellow; } .layout.grid .right { background: blue; }     

三栏布局

    
        
        
            

网格布局解决方案

            1.这是三栏布局的浮动解决方案; 2.这是三栏布局的浮动解决方案; 3.这是三栏布局的浮动解决方案; 4.这是三栏布局的浮动解决方案; 5.这是三栏布局的浮动解决方案; 6.这是三栏布局的浮动解决方案;        
        
    

登录后复制

CSS Grid是创建网格布局最强大和最简单的工具。就像表格一样,网格布局可以让Web设计师根据元素按列或行对齐排列,但他和表格不同,网格布局没有内容结构,从而使各种布局不可能与表格一样。例如,一个网格布局中的子元素都可以定位自己的位置,这样他们可以重叠和类似元素定位。

但网格布局的兼容性不好。IE10+上支持,而且也仅支持部分属性。

六、总结

1、float布局是现在用的比较多的布局很多门户网站目前使用这个布局方式,使用的时候只需要注意一定要清除浮动。

2、Position布局只是根据定位属性去直接设置元素位置,个人感觉不太适合用做页面布局

3、table布局使用起来方便,兼容性也不存在问题,不利于搜索引擎抓取信息

4、flex布局比较强大,但是还是存在IE上兼容性问题,只能支持到IE9以上

5、grid布局很强大,但是兼容性很差。

学习视频分享:css视频教程

以上就是css实现三列布局有哪些方法的详细内容,更多请关注【创想鸟】其它相关文章!

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

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

(0)
上一篇 2025年3月10日 19:06:14
下一篇 2025年2月23日 06:59:21

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

相关推荐

  • css怎么设置左边距

    css设置左边距的方法:1、使用margin-left属性,可以设置元素的左外边距,语法格式“margin-left:边距值;”;2、使用padding-left属性,可以设置元素的左内边距,语法格式“padding-left:边距值;”。…

    2025年3月10日
    200
  • css怎么设置滚动条的高度

    css设置滚动条高度的方法:首先使用“::-webkit-scrollbar”选择器选中整个滚动条,然后使用height属性设置滚动条的高度,语法格式“::-webkit-scrollbar{height:高度值;}”。 css/edite…

    2025年3月10日
    200
  • css怎么设置字体颜色渐变

    css设置字体颜色渐变的方法:1、使用“background-cli”和“text-fill-color”实现字体颜色渐变;2、使用“mask-imag”设置字体颜色渐变;3、使用“linearGradient、fill”设置字体颜色渐变。…

    2025年3月10日
    200
  • css怎么实现响应式布局

    css实现响应式布局的方法:1、使用flex布局,优点是代码简单、布局方便;2、使用绝对布局,结合使用media可以实现响应式布局;3、使用grid布局,优点是写法简便;4、使用float布局,优点是兼容性比较好。 本教程操作环境:wind…

    2025年3月10日 编程技术
    200
  • css怎么设置字母大写

    css中可以使用text-transform属性设置字母大写,语法格式为“text-transform:capitalize|uppercase;”;其中值“capitalize”可设置首字母大写,值“uppercase”可设置字母全大写。…

    2025年3月10日
    200
  • css怎么设置分割线

    css设置分割线的方法:首先创建一个HTML实例文件;然后在body中创建三个div;最后给第二个div设置样式为“padding-top:3px;width:40%;border-top:1px solid #666666;”即可。 本文…

    2025年3月10日
    200
  • css怎么隐藏元素但保留位置

    在css中,可以使用visibility属性来隐藏元素但保留元素位置,只需要给元素设置“visibility: hidden;”样式即可;这样元素会被隐藏,但是不会消失,依然占据空间,隐藏后不会改变html原有样式。 本教程操作环境:win…

    2025年3月10日
    200
  • 怎么用css设置字体颜色

    用css设置字体颜色的方法:1、直接在文字所在标签中使用“style=”color:颜色值””代码来设置字体颜色;2、使用id或class引入外部或内嵌的CSS字体颜色样式,从而设置字体颜色。 本教程操作环境:win…

    2025年3月10日
    200
  • css怎么实现瀑布流布局

    css实现瀑布流布局的方法:1、利用multi-column多列布局实现。2、利用flex布局实现;只需将外层设置为row布局,然后再设置一个容器并设置为column布局,它是将列作为一个整体,然后在对列进行划分,在列里进行宽固定即可。 本…

    2025年3月10日 编程技术
    200
  • css中怎么进行注释

    在css中注释的方法是使用符号【/**/】,例如【/*定义网页的头部样式*/】。在css中所有被放在【/*】和【*/】分隔符之间的文本信息都被称为注释。 本文操作环境:windows10系统、css 3、thinkpad t480电脑。 在…

    2025年3月10日
    200

发表回复

登录后才能评论