☊【实现要求】:CSS实现左边固定,右边自适应父容器宽度的两栏布局。

<body>
<div class="left"></div>
<div class="main"></div>
</body>

√【实现】:

// html 和 body 的高度默认为0,因此要先设置为100%,并且清除默认样式(margin:0; padding:0)
html,body {
/*width: 100%;*/
height: 100%; // html,body 默认高度为 0
margin: 0;
padding: 0;
} .left {
width: 200px;
height: 100%; // 撑满整个页面高度
float: left; // 左边浮动
background: orange;
} .main {
height: 100%; // 撑满整个页面高度
margin-left: 200px; //距左边距200px
background: green;
}

注意: 如果浮动非替换元素,则要指明一个明确的宽度;否则,它们会尽可能地窄。

假如在一行之上只有极少的空间可供浮动元素,那么这个元素会跳至下一行,这个过程会持续到某一行拥有足够的空间为止。

实现效果:


☊【实现要求】: CSS实现右侧宽度为200px,左侧自动扩展的两栏布局。

<body>
<div class="right"></div> <!-- 注意用 float 方式, 该行必须写在 main 上面 -->
<div class="main"></div>
</body>

√【实现】:

body, html {
height: 100%;
/*width: 100%;*/
margin: 0;
padding: 0;
} .main {
height: 100%;
margin-right: 200px;
background: green;
} .right {
width: 200px;
height: 100%;
float: right;
background: orange;
}


☊【实现要求】:两栏布局,左边固定,右边自适应

<div class="demo3">
<div class="col-1"></div>
<div class="col-2"></div>
</div>

√【实现】:

float 布局

.demo3 {
.col-1 {
width: 150px;
float: left; // 脱离文档流
}
.col-2 {
// 不需要设置 margin-left, float会形成包围文字效果,虽然col-2的左边部分被col-1覆盖
}
}

如果设置 margin-left: 170px; 则 col-2 会向右偏移:

给 col-2 添加 overflow: hidden;,则不需要设置 margin-left,自动偏右:

position: absolute; 左边元素相对于父元素绝对定位

*floatposition:absolute; 都脱离文档流

.demo3 {
position: relative; // 定位父元素 .col-1 {
width: 150px;
position: absolute; // 脱离文档流
}
.col-2 {
margin-left: 150px; // absolute不会形成文字环绕效果,因此col-2会向上浮,
// 左边部分(包括文字)会隐藏在col-1下面,需要设置 margin-left
}
}

若 col-2 不设置 margin-left:

设置 margin-left 后:

注意:这种情况下,对 col-2 使用 overflow: hidden 不起作用,只能通过偏移量来进行定位

flex 布局

.demo3 {
display: flex;
display: -webkit-flex; .col-1 {
width: 150px;
}
.col-2 {
flex: 1; // flex:1; 自动撑满剩余宽度
-webkit-flex: 1;
}
}

CSS 实现:两栏布局(一边固定,一边自适应)的更多相关文章

  1. css 关于两栏布局,左边固定,右边自适应

    好几个星期都没写博客了,最近不忙也不闲,稀里糊涂过了两个星期,之前几个月内天天坚持签到.最近也没签到.哈哈,说正事. 今天做东钿互金平台后台页面,昨天做了一个登录页面,业偶碰到了一个难题.等下也要把它 ...

  2. CSS实现两栏布局

    写在前面 两栏布局是指页面布局由主栏和边栏组成,是许多网页的布局方式,一般使用CSS去实现两栏布局. 实现两栏布局的方式有多种,这里采用四种比较常见的实现方式.主要是流体布局(liquid layou ...

  3. css实现两栏布局,左侧固定宽,右侧自适应的7中方法

    一个面试会问的问题,如何实现两个盒子,左侧固定宽度,右侧自适应. 1.利用 calc 计算宽度的方法 css代码如下: .box{overflow: hidden;height: 100px;marg ...

  4. css的两栏布局

    经典的实现左边固定宽度,右边宽度自适应的几种方法 利用float和margin-left属性(margin-left的值可以稍稍大于或者等于.left的宽度) .left{ width: 30px; ...

  5. CSS 实现左侧固定,右侧自适应两栏布局的方法

    "左边固定,右边自适应的两栏布局",其中有老生常谈的float方法,BFC方法,也有CSS3的flex布局与grid布局.并非所有的布局都会在开发中使用,但是其中也会涉及一些知识点 ...

  6. 七种CSS左侧固定,右侧自适应两栏布局

    一 两栏布局基本HTML和CSS 首先创建基本的HTML布局和最基本的样式. 基本的样式是,两个盒子相距20px, 左侧盒子宽120px,右侧盒子宽度自适应 <div class="w ...

  7. 如何用CSS实现左侧宽度固定,右侧自适应(两栏布局)?左右固定中间自适应(三栏布局)呢?

    在前端日常布局中,会经常遇到左侧宽度固定,右侧自适应或者左右两边固定,中间部分自适应的实用场景.本文例子中将列举出两种常用的两栏布局,左侧固定右侧自适应的常用方法以及代码和五种左右固定中间自适应的常用 ...

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

    突然想到要整理这么一篇平时工作中相当常见但是我们又很忽视的布局的多种处理方法.临时就在我经常浏览的网站上抓的相对应的截图.(以后看到其他类型的我再补充) 既然截了图,咱们就直接看人家使用的布局方式,毕 ...

  9. css两栏布局、圣杯布局、双飞翼布局

    最近几个月一直用vue在写手机端的项目,主要写业务逻辑,在js方面投入的时间和精力也比较多.这两天写页面明显感觉css布局方面的知识有不足,所以复习一下布局方法. 两栏布局 1.浮动 .box1 .l ...

随机推荐

  1. BZOJ3058 四叶草魔杖

    Poetize11的T3 蒟蒻非常欢脱的写完了费用流,发现...边的cost竟然只算一次!!! 然后就跪了... Orz题解:"类型:Floyd传递闭包+最小生成树+状态压缩动态规划首先Fl ...

  2. 解决Putty连接不上服务器的方法

    1.vi /etc/ssh/sshd_config 将PermitRootLogin的注释取消,或者将no改为yes. 2.service sshd restart 3.setup命令进入将防火墙关闭 ...

  3. Redis persistence demystified - part 1

    关于Redis我的一部分工作是阅读博客,论坛以及twitter时间线(time line).对于开发者来说,能够了解用户社区,非用户社区如果理解他正在开发的产品是非常重要的.据我所知,持久化特性是最易 ...

  4. 构建之法<第四章>之感悟

    第四章:两人合作内容出处:4.6 两人合作的不同阶段和技巧 本章主要是讲关于合作方面的,文章以刚刚认识的两个人为例!也就是说,他们之前的关系是陌生人,然而在现实当中两人合作也可以有其它的关系,比如说合 ...

  5. S1 :闭包

    闭包是指有权访问另一个函数作用域中的变量的函数.创建闭包的常见方式,就是在一个函数内部创建另一个函数,以createComparisonFunction()函数为例 function createCo ...

  6. PowerMock使用遇到的问题——2

    如果在测一个类的某一个方法时,这个方法还调用了此类的其他方法,那么如何指定其他方法的返回值呢? Partial mock local private method or public method i ...

  7. visual studio 2013连接Oracle 11g并获取数据:(二:实现)

    1.VS中新建一个winform窗体 (1)一个按钮 (2)一个数据表格视图(在里面显示得到的数据表) 2.双击按钮进入代码 (1)添加 using System.Data.OracleClient; ...

  8. UITableViewCell 单元格样式

    UITableViewCell 单元格样式作用 typedef NS_ENUM(NSInteger, UITableViewCellStyle) { UITableViewCellStyleDefau ...

  9. java.io.IOException: open failed: EACCES (Permission denied)问题解决

    1.  问题描述:在Android中,用程序访问Sdcard时,有时出现“java.io.IOException: open failed: EACCES (Permission denied)&qu ...

  10. [流媒体]VLC主要模块

    libvlccore vlcthread: vlc线程是libvlccore的重要组成部分,我们在src文件夹下面android.os2.posix.win32等文件夹下包含thread.c文件,说明 ...