CSS-两栏布局

逻辑沙漏
• 阅读 2534

布局是面试中和实际开发中经常遇到的问题,常见的有两栏布局、三栏布局等。想起来之前的一次某团的面试,要求用尽可能多的方法实现左侧固定宽度、右侧自适应的两栏布局,现整理一份最常见的实现两栏布局的几种方法,简单易懂,可作为前端面试准备资料。

0.HTML结构如下:
    <div class="main">
        <div class="left">
        </div>
        <div class="right">
        </div>
    </div>
1.利用浮动float
    <style>
        .main {
            overflow: hidden;
        }
        .left {
            /* 左栏设置左浮动 */
            float: left;
            width: 400px;
            height: 500px;
            background: red;
        }
        .right {
            /* 右栏设置一个左外间距,值为左栏的宽度 */
            margin-left: 400px;
            background: blue;
            height: 500px;
        }
    </style>
2.利用定位position
    <style>
        /* 子绝父相 */
        .main {
            overflow: hidden;
            position: relative;
        }
        .left {
            position: absolute;
            left: 0;
            top: 0;
            width: 400px;
            height: 500px;
            background: red;
        }
        .right {
            /* 右栏设置一个左外间距,值为左栏的宽度 */
            margin-left: 400px;
            height: 500px;
            background: blue;
        }
    </style>
3.利用弹性布局flex
    <style>
        .main {
            display: flex;
        }
        .left {
            height: 500px;
            background: red;
            flex: 0 0 400px
        }
        .right {
            background: blue;
            height: 500px;
            flex: 1;
        }
    </style>
4.利用表格布局table
    <style>
        .main {
            display: table;
            width: 100%;
        }
        .left {
            display: table-cell;
            width: 400px;
            height: 500px;
            background: red;
        }
        .right {
            display: table-cell;
            background:blue;
            height: 500px;
        }
    </style>

【作者水平有限,欢迎大家在评论区交流指正~】

点赞
收藏
评论区
推荐文章
菜园前端 菜园前端
2年前
CSS布局方式-静态布局
原文链接:什么是静态布局?静态布局是平时开发中最常见的一种布局。就是给布局的元素设置固定的宽度和高度,无论你的屏幕分辨率是多大,它永远都是固定大小。通常使用px单位来实现静态布局。优点它的优点也比较明显,是一种最简单的布局方式,开发者只需要按照设计图1:1
Wesley13 Wesley13
3年前
Android自定义ViewGroup:onMeasure与onLayout(1)
Android自定义ViewGroup:onMeasure与onLayout(1)Android自定义一个ViewGroup,需要重写ViewGrouo里面的两个最重要的回调函数onMeasure()与onLayout()。如果开发者自己摆脱Android为我们做好的几套布局(如常见的线1性布局、相对布局、帧布局等等),往底层实现vi
Wesley13 Wesley13
3年前
CSS 右侧固定宽度 左侧自适应 或者 三列布局 左右固定 中间自适应的问题
一: 右侧固定宽度左侧自适应  第一种方法:左侧用marginright,右侧float:right 就可以实现。    HTML代码可以如下写:   <div      <ahref""target"_blank"我是龙恩</a   </div <div
Wesley13 Wesley13
3年前
DLL 函数中使用结构体指针作函数参数(C# 调用 C++ 的 DLL)
存在的问题:问题1:C与C同样定义的结构体在内存布局上有时并不一致;问题2:C中引入了垃圾自动回收机制,其垃圾回收器可能会重新定位指针所指向的结构体变量。解决方案:问题1方案:强制指定C、C结构体的内存布局,使其一致(两者都固定为:结构体的成员按其声明时出现的顺序依次布局,结构体成员的内存对齐为1字节对齐);为题
Wesley13 Wesley13
3年前
HTML CSS布局定位
HTMLCSS布局定位我们在编写网页代码时,首先应该做的就是设计好页面的布局形式,然后再往里面填充内容。网页布局的好与坏,直接决定了网页最终的展示效果。PC端常见的网页布局形式有两列布局、三列布局等。在CSS中,我们通常使用浮动(float)、定位(position)、显示模式(display)相关属性结合使用,以达到预期效果
Wesley13 Wesley13
3年前
CSS瀑布流布局
瀑布流布局是什么瀑布流布局是一种常见的网页布局方式,视觉上给人一种参差不齐的多栏的效果,常用于图片为主的版块,如下图。!(https://timgsa.baidu.com/timg?image&quality80&sizeb9999_10000&sec1589721778046&dib34a014e7481f1a5685
布局王 布局王
2个月前
鸿蒙Next仓颉语言开发实战教程:聊天列表
昨天分享了消息列表页面,今天继续分享聊天页面的开发过程:这个页面又是常见的上中下布局,从上至下依次为导航栏、聊天列表和输入框工具栏,我们可以先写一下简单的结构,最上面导航栏是横向布局,所以写个Row容器,中间是List,底部仍然是Row容器,导航栏和底部输
布局王 布局王
2个月前
HarmonyOS NEXT仓颉开发语言实战案例:外卖App
各位周末好,今天为大家来仓颉语言外卖App的实战分享。我们可以先分析一下页面的布局结构,它是由导航栏和List容器组成的。幽蓝君目前依然没有找到仓颉语言导航栏的系统组件,还是要自定义,这个导航栏有三部分内容,可以使用两端对齐,要注意的是,如果需要中间部分在
GeorgeGcs GeorgeGcs
1个月前
【HarmonyOS 5】鸿蒙中常见的标题栏布局方案
鸿蒙开发能力HarmonyOSSDK应用服务鸿蒙金融类应用(金融理财一、问题背景:鸿蒙中常见的标题栏:矩形区域,左边是返回按钮,右边是问号帮助按钮,中间是标题文字。那有几种布局方式,分别怎么布局呢?常见的思维是,有老铁使用row去布局,怎么都对不齐。二、解
布局王 布局王
2个月前
HarmonyOS NEXT开发教程:全局悬浮窗
今天跟大家分享一下HarmonyOS开发中的悬浮窗。对于悬浮窗,可能有的同学会想到使用层叠布局是否可以实现,将悬浮窗叠在导航栏组件Tabs上,像这样:Stack(alignContent:Alignment.BottomEnd)Tabs(barPositi
布局王 布局王
2个月前
鸿蒙仓颉语言开发实战教程:商城应用个人中心页面
又到了高考的日子,幽蓝君在这里祝各位考生朋友冷静答题,超常发挥。今天要分享的内容是仓颉语言商城应用的个人中心页面,先看效果图:下面介绍下这个页面的实现过程。我们可以先分析下整个页面的布局结构。可以看出它是纵向的布局,整个页面由导航栏、个人资料、vip横条和