首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

css两栏

CSS两栏布局基础概念

CSS两栏布局是一种常见的网页设计布局方式,它将页面内容分为左右两栏,通常左边栏宽度固定,右边栏宽度自适应。这种布局方式可以有效地组织页面内容,提高页面的可读性和美观性。

相关优势

  1. 灵活性:可以根据需要调整左右两栏的宽度比例。
  2. 响应式设计:可以轻松实现响应式布局,适应不同屏幕尺寸的设备。
  3. 内容分离:将主要内容与辅助内容分离,提高页面的可读性和用户体验。

类型

  1. 浮动布局:使用 float 属性将两栏浮动到左右两侧。
  2. Flexbox布局:使用 display: flex 实现两栏布局。
  3. Grid布局:使用 display: grid 实现两栏布局。

应用场景

  1. 博客文章:左边栏可以放置作者信息、分类导航等,右边栏放置文章内容。
  2. 产品展示:左边栏可以放置产品分类,右边栏展示具体产品信息。
  3. 新闻网站:左边栏可以放置新闻分类,右边栏展示新闻内容。

示例代码

浮动布局

代码语言:txt
复制
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>CSS两栏布局 - 浮动布局</title>
    <style>
        .container {
            overflow: hidden;
        }
        .left {
            float: left;
            width: 200px;
            background-color: #f1f1f1;
        }
        .right {
            margin-left: 200px;
            background-color: #ddd;
        }
    </style>
</head>
<body>
    <div class="container">
        <div class="left">左边栏</div>
        <div class="right">右边栏</div>
    </div>
</body>
</html>

Flexbox布局

代码语言:txt
复制
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>CSS两栏布局 - Flexbox布局</title>
    <style>
        .container {
            display: flex;
        }
        .left {
            width: 200px;
            background-color: #f1f1f1;
        }
        .right {
            flex-grow: 1;
            background-color: #ddd;
        }
    </style>
</head>
<body>
    <div class="container">
        <div class="left">左边栏</div>
        <div class="right">右边栏</div>
    </div>
</body>
</html>

Grid布局

代码语言:txt
复制
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>CSS两栏布局 - Grid布局</title>
    <style>
        .container {
            display: grid;
            grid-template-columns: 200px 1fr;
        }
        .left {
            background-color: #f1f1f1;
        }
        .right {
            background-color: #ddd;
        }
    </style>
</head>
<body>
    <div class="container">
        <div class="left">左边栏</div>
        <div class="right">右边栏</div>
    </div>
</body>
</html>

常见问题及解决方法

问题:浮动元素导致父元素高度塌陷

原因:浮动元素脱离文档流,导致父元素无法正确计算高度。

解决方法:使用 overflow: hiddenclearfix 技术。

代码语言:txt
复制
.container {
    overflow: hidden;
}

问题:Flexbox布局中子元素宽度不均匀

原因:Flexbox布局中,子元素的宽度默认根据内容自适应。

解决方法:使用 flex 属性控制子元素的宽度比例。

代码语言:txt
复制
.left {
    flex: 0 0 200px;
}
.right {
    flex-grow: 1;
}

问题:Grid布局中列宽设置不正确

原因:Grid布局中,列宽设置不正确可能导致布局错乱。

解决方法:检查 grid-template-columns 属性的设置。

代码语言:txt
复制
.container {
    display: grid;
    grid-template-columns: 200px 1fr;
}

参考链接

希望这些信息对你有所帮助!

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

css布局 - 两栏自适应布局的几种实现方法汇总

css: /*不好意系,可以6到不用css*/ 哈哈哈~ table布局实现关键点解析 结构放到tbale中 两列分别放到两个td中,固宽的td...如果需要垂直居中可以两列都设置vertical-align:middle; 这种也可以实现垂直居中布局。  ...垂直居中布局-两列都这么设置:   display: inline-block;   vertical-align: middle; *最后说明: 这些都是自己照着设计稿现撸的不成熟的实现条件,具体工作中用的方法也就其中两三个...另外,css真的相当灵活有趣,每一个方法中css的属性不一定非要是我列举的这几条。 比如absolute和float的txt里边,就有好几种写法可以解决。任选其一就好。...总结于:2019-01-06 15:54:48 下篇预告:常见的两栏布局案例及分析 声明:   请尊重博客园原创精神,转载或使用图片请注明:   博主:xing.org1^   出处:http://www.cnblogs.com

1.9K20

css布局 - 工作中常见的两栏布局案例及分析

目录: 一、大结构上的导航栏和内容区域两栏布局     1、博客园为例     2、腾讯课堂个人中心页     3、慕课网个人中心页     4、github个人中心页 二、mini版的nav...一、大结构上的导航栏和内容区域两栏布局 首先我们从 大结构上 说起,因为我发现很多网站从整个首屏的大结构上都是这种两栏布局: 旁边是侧边栏导航,中间是大块内容区域。...具体下边css代码中体现。...css代码: ? 简陋效果: ? 惊悚的是,我居然没有找到他的清除浮动。在哪~ 三、类似九宫格布局的两列结构 ? github的实现方法是flex的两端对齐: ?...而至于两端布局见下边。 五、左右两端布局 下边画了三处: ? 这个嵌套结构你看出来了吗?事先没看源码前,我一打眼觉得是左边一大块,右边一小块的两端布局。

2.9K11
  • 两栏自适应布局延展到多栏自适应布局

    说到两栏自适应布局,估计很多人看到这样类似的文章,我经常也看过,但是那些实现方式跟我所经常使用的两种方法不一样,经常使用的意思是,我一遇到这种布局,立马想到的就是使用这种。...所以,当我们看到多种实现方式的时候,一定要学会比较,然后选择其中一两种作为常用布局记到深处,就是想都不用想就用的。 ...4、 多栏布局      延展到多栏布局,是一样的,其实没啥可说的,就是把所有固定宽度的栏目放在最前面浮动起来,把自适应的部分放在最后即可。...6、其他几种方式       还有其他很多很多种方式,大家随便一搜就能搜到,比如CSS3的 calc(100% – x)这个其实我在移动端也经常使用,它的缺点就是旧版浏览器的兼容问题。

    66660

    【CSS】课程网站横版导航栏 ( 横版导航栏测量及样式 | 代码示例 )

    文章目录 一、盒子测量及样式 1、总体盒子测量及样式 2、左侧盒子测量及样式 3、中间盒子测量及样式 4、右侧盒子测量及样式 二、横版导航栏代码示例 1、HTML 标签结构 2、CSS 样式 3、显示效果...2px 2px rgba(0, 0, 0, .2); } 2、左侧盒子测量及样式 左侧盒子区域如下 , 盒子高度充满父容器 , 继承父容器的高度为 60 像素 , 行高继承父容器也是 60 像素 , 左右两侧各有...href="#">MySQL | JavaWeb 中间黑盒子的大概区域如下 , 竖线中间的文字都是链接标签 , 每个链接标签左右两侧各有...-- 横向导航栏 模块 - 结束 --> 2、CSS 样式 核心代码 : /* 横向导航栏模块 总体盒子模型 样式 */ .goods { /* 内容高度 60 像素...样式 */ /* 侧导航栏 样式 */ .subnav { /* 设置左浮动 */ float: left; /* 左侧侧导航栏 190 x 420 , 左右两侧各 20 像素内边距 */ width

    5.2K30

    【CSS】课程网站头部制作 ⑤ ( 用户栏测量 | 用户栏代码编写 | 代码示例 )

    文章目录 一、用户栏测量 1、头像文字测量 2、头像切图 二、用户栏代码编写 1、HTML 结构 2、CSS 样式 3、展示效果 一、用户栏测量 ---- 1、头像文字测量 用户与左侧搜索栏 , 间隔...; 导出的切片如下 : 二、用户栏代码编写 ---- 1、HTML 结构 头像 与 名称 单独放在一个 div 盒子中 , 这两个元素都要垂直居中对齐 , 分别需要单独设置 ; 头像垂直居中对齐...> 课程网站 css...-- 头部模块 - 结束 --> 2、CSS 样式 核心代码样式 : 首先 , 设置用户栏盒子 为浮动 , 这样才可以与 logo 盒子 , 导航栏盒子 , 搜索栏盒子...放置在一行 ; 然后 , 设置用户栏头像 盒子样式 , 为其设置 6 像素 上下内边距 , 使得头像图片垂直居中 ; 整体 用户栏盒子 高度 42 像素 ; 头像图片宽高均为 30 像素 ; 头像

    2.5K30

    CSS BFC实现多栏自适应布局

    一、开篇之言 要说web上实现两栏自适应布局的方法,一双手都数不过来。不知大家有没有细想过,为什么这些方法可以实现自适应布局呢?...本文就将深入探讨下流体特性和BFC特性下的两栏自适应布局,还是针对传统布局。一些现代布局,如弹性盒子模型布局(Flexbox Layout),格栅布局(Grid Layout)不在本文探讨之类。...此时,我们需要好好利用左侧150像素的留白间距,岂不是就可以实现两栏自适应效果!?...于是,我们不仅可以实现两栏自适应效果,多栏自适应效果也不在话下。 然而,利用块状元素流体特性实现的自适应布局有个不足,就是,我们需要知道浮动或绝对定位内容的尺寸。...类似清除浮动的通用类语句: .clearfix { *zoom: 1; } .clearfix:after { content: ''; display: table; clear: both; } 两栏或多栏自适应布局的通用类语句是

    1.6K40

    【CSS】828- 纯CSS导航栏下划线跟随效果

    所以我一直在想,有没有可能只使用 CSS 完成这个效果呢?...定义需求 我们定义一下简单的规则,要求如下: 不可思议的CSS 导航栏 光标小下划线跟随 PURE CSS...实现需求 第一眼看到这个效果,感觉这个跟随动画,仅靠 CSS 是不可能完成的。如果想只用 CSS 实现,只能另辟蹊径,使用一些讨巧的方法。...好,下面就借助一些奇技淫巧,使用 CSS 一步一步完成这个效果。分析一下难点: 宽度不固定 第一个难点, li 的宽度是不固定的。所以,我们可能需要从 li 本身的宽度上做文章。...额,仔细对比两张图,第二种效果其实是捡了芝麻丢了西瓜。第一个 li 的方向是正确了,但是第二个 li 下划线的移动方向又错误了。 ?

    3K20
    领券