1、两栏

<div class="wrapper">
<div class="half left">left box
<p>自适应</p>
</div>
<div class="half right">right box 固定</div>
</div>

1.1、左侧宽度固定,右侧自适应

方式一、float+margin

.wrapper{
width: 100%;
overflow: auto; //清浮动
}
.left{
float: left;
width: 200px;
background-color: #5cb85c;
}
.right{
margin-left: 230px;
background-color: #66afe9;
}

方式二、float+overflow

.wrapper{
width: 100%;
overflow: auto; //清浮动,或overflow:hidden
}
.left{
float: left;
width: 200px;
margin-left: 30px;
background-color: #5cb85c;
}
.right{
overflow: hidden; //或overflow: auto
background-color: #66afe9;
}

方式三、float+position

.wrapper{
position: relative;
width: 100%;
overflow: auto; //清浮动,或overflow:hidden
}
.left{
float: left;
width: 200px;
background-color: #5cb85c;
}
.right{
position: absolute;
left: 230px;
right: 0;
background-color: #66afe9;
}

方式四、flex

.wrapper{
display: flex;
flex-direction: row;
width: 100%;
}
.left{
flex: 0 0 auto;
width: 200px;
margin-right: 30px;
background-color: #5cb85c;
}
.right{
flex: 1;
background-color: #66afe9;
}

2、三栏

两边固定中间自适应

方式一、float+margin

<div class="wrapper">
<div class="left">left box
<p>固定</p>
</div>
<div class="right">right box
<h4>ssss</h4>
<h5>ddddd</h5>
</div>
<div class="middle">中间自适应</div>
</div>
//css
.wrapper{
width: %;
overflow: auto;
} .wrapper .left{
float: left;
width: 200px;
background-color: #5cb85c;
}
.wrapper .right{
float: right;
width: 100px;
background-color: #66afe9;
}
.wrapper .middle{
margin: 110px 230px;
background-color: #A3AEFF;
}

方式二、position+margin (这种方式的父元素高度取决于中间部分的高度,当两侧高度大于中间高度时,则出现高度塌陷,除非指定父元素的高度,当两侧高度小于中间部分时,可以使用。)

.wrapper{
position: relative;
width: 100%;
} .wrapper .left{
position: absolute;
left: 0;
width: 200px;
background-color: #5cb85c;
}
.wrapper .right{
position: absolute;
right: 0;
width: 100px;
background-color: #66afe9;
}
.wrapper .middle{
margin: 0 110px 0 230px;
background-color: #A3AEFF;
}

方式三、flex

<div class="wrapper">
<div class="left">left box
<p>固定</p>
</div>
<div class="middle">中间自适应</div>
<div class="right">right box
<h4>ssss</h4>
<h5>ddddd</h5>
</div>
</div> .wrapper{
display: flex;
flex-direction: row;
width: %;
.left{
width: 200px;
background-color: #5cb85c;
}
.right{
width: 100px;
background-color: #66afe9;
}
.middle{
flex: ;
margin: 10px 30px;
background-color: #A3AEFF;
}
}

css实现常用的两栏三栏布局的更多相关文章

  1. css中常用的七种三栏布局技巧总结

    三栏布局,顾名思义就是两边固定,中间自适应.三栏布局在开发十分常见,那么什么是三栏布局?例如当当网首页边商品导航和右边导航固定宽度,中间的主要内容随浏览器宽度自适应.效果如下图所示: 下面围绕的这样的 ...

  2. 【css】css2实现两列三列布局的方法

    前言 对于 flex 弹性布局相信大家都有所了解,它是 css3 中的属性,然而它具有一定的兼容性问题.楼主前几天面试时遇到了面试官需要设计一个两列布局,我当然就说父元素 flex 吧哩吧啦,然而需要 ...

  3. css实现等高布局 两栏自适应布局 三栏自适应布局

    等高布局: HTML结构如下: <div class="wrapper"> <div class="box"> <h1>.. ...

  4. 【CSS】三栏/两栏宽高自适应布局大全

    页面布局 注意方案多样性.各自原理.各自优缺点.如果不定高呢.兼容性如何 三栏自适应布局,左右两侧300px,中间宽度自适应 (1) 给出5种方案 方案一: float (左右浮动,中间不用给宽,设置 ...

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

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

  6. css三栏布局方案整理

    日常开发中,经常会用到css三栏布局,现将工作中常用的css 三栏布局整理如下: 什么是三栏布局: 三栏布局,顾名思义就是两边固定,中间自适应. 一. float布局 <!DOCTYPE htm ...

  7. 从三栏自适应宽度布局到css布局的讨论

    如何实现一个三栏自适应布局,左右各100px,中间随着浏览器宽度自适应? 第一个想到的是使用table布局,设置table的宽度为100%,三个td,第1个和第3个固定宽度为100px,那么中间那个就 ...

  8. CSS布局 - 三栏布局

    CSS布局技术可谓是前端技术中最基础的技术,就是因为基础,所以我认为要更加熟练,深入的去掌握,去梳理. 一. 传统 ---> 浮动实现的三栏布局 采用浮动实现的三栏布局有以下特点及注意事项: · ...

  9. CSS布局:Float布局过程与老生常谈的三栏布局

    原文见博客主站,欢迎大家去评论. 使用CSS布局网页,那是前端的基本功了,什么两栏布局,三栏布局,那也是前端面试的基本题了.一般来说,可以使用CSSposition属性进行布局,或者使用CSSfloa ...

随机推荐

  1. 我的Visual Studio必用工具

    自己备用 代码生成工具:Resharper 代码颜色:supercharger 高亮单词 Word highlight with margin Productivity Power Tools 详细介 ...

  2. sql union 语句 case语句

    1:Union语句: 把两个结果合为一体(但是完全重复的数据会去掉) Eg1: select name, age, ‘学生无工资’ from student        union         ...

  3. JS继承实现的几种方式

    //继承的几种实现: //解决方案1.通过原型继承 function Parent1(){ this.name = 'Parent1'; } function Child1(){} Child1.pr ...

  4. vue项目webpack打包后图片路径错误

    首先项目是vue-cli搭建的,项目结构如下: 然后发现在css里写的图片引用地址在开发时正常显示,但在打包扔上服务器之后报错 报的是404,路径前面多了/static/css,不知道为啥. 在自己慢 ...

  5. Jquery/js引入的button的onclik事件只触发一次

    目标描述 我要实现的是:通过监听button的click事件,从而通过ajax向servlet发送请求获取数据库中的数据,然后返回的页面,并要求局部刷新 一次页面的加载是html直接页面初始化本身的 ...

  6. gradle tool升级到3.0注意事项

    Gradle版本升级 其实当AS升级到3.0之后,Gradle Plugin和Gradle不升级也是可以继续使用的,但很多新的特性如:Java8支持.新的依赖匹配机制.AAPT2等新功能都无法正常使用 ...

  7. python-观察者模式

    源码地址:https://github.com/weilanhanf/PythonDesignPatterns 说明: 存在这样的一种情况:公司领导再开例会那天临时有事,他让秘书给所有会上员工群发了一 ...

  8. git 报错:error: failed to push some refs to 'https://github.com/Anderson-An/******.git'(已解决)

    提交push 报错: $ git push origin masterTo https://github.com/Anderson-An/******.git ! [rejected] master ...

  9. [HNOI2011]括号修复

    设\(nd[4]\) 0--多出来的右括号 1--多出来的左括号 2--取反后多出来的右括号 3--取反后多出来的左括号 这样一来 Swap: swap(0,3),swap(1,2),swap(sn[ ...

  10. 【代码笔记】iOS-UILabel根据内容自动调整高度

    一,效果图. 二,代码. - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the ...