css之页面三列布局
左右两边宽度固定,中间自适应
左右两边绝对定位
可以利用浮动,左边的左浮动,右边的右浮动
css3 flex布局(html http://www.cnblogs.com/myzy/p/5919814.html)
table布局
grid布局 (https://www.w3cplus.com/css3/line-base-placement-layout.html)
第一种方法:左右两边绝对定位
html代码
<div class="left"></div>
<div class="middle"></div>
<div class="right"></div>
css代码
.left {
height: 200px;
width: 300px;
background-color: blue;
position: absolute;
left: ;
top:
}
.right {
width:300px;
height: 200px;
background-color: red;
position: absolute;
right: ;
top:;
}
.middle{
height: 300px;
background-color: yellow;
margin: 300px;
}
优点:快捷,不容易出问题
缺点:子元素也脱离的文档流,这样有效性就相对还说比较差
如果高度不固定, 两边的模块不会随中间的部分改变而改变
第二种方法:可以利用浮动,左边的左浮动,右边的右浮动
css部分
#left {
width: 100px;
float: left;
background: green;
height: 300px;
}
#right {
width: 100px;
float: right;
background: red;
height: 300px;
}
#middle {
margin-right: 110px;
margin-left: 110px;
height: 300px;
background: #ccc;
}
html部分;
<div id="left">
</div>
<div id="right">
</div>
<div id="middle">
</div>
优点:兼容性好(处理好清除浮动,和周边元素的关系)
缺点:float后脱离文档流,处理不好会有很多问题,这个是这种排版的局限性。
如果高度不固定,不做修改,此方法不再好使,因为中间的部分会超出两边的部分。
第三种方法:css3 flex布局
css:
.content{
display:flex;
}
.left {
height: 200px;
width: 300px;
background-color:red
}
.right {
width:300px;
height: 200px;
background-color:blue;
}
.middle{
height: 300px;
background-color: yellow;
flex:;
}
html
<div class="content">
<div class="left"></div>
<div class="middle"></div>
<div class="right"></div>
</div>
优点:吸收了前面两个的优点
缺点:兼容性问题
如果高度不固定,两边的部分会随着中间部分变高。
第四种方法:table布局
css
.content{
display:table;
width:100%;
height: 100px;
}
.content>div{
display: table-cell;
}
.left {
height: 200px;
width: 300px;
background-color:red
}
.right {
width:300px;
height: 200px;
background-color:blue;
}
.middle{
height: 300px;
background-color: yellow;
}
html:
<div class="content">
<div class="left"></div>
<div class="middle"></div>
<div class="right"></div>
</div>
优点:兼容性特别好,例如ie8
缺点:同时增高的高度
如果高度不固定,两边的部分会随着中间部分变高。
第五种方法:grid布局
css:
.content{
display:grid;
width:100%;
grid-template-rows:100px;
grid-template-columns:300px auto 300px;
}
.left {
height: 200px;
width: 300px;
background-color:red
}
.right {
width:300px;
height: 200px;
background-color:blue;
}
.middle{
height: 300px;
background-color: yellow;
}
html
<div class="content">
<div class="left"></div>
<div class="middle"></div>
<div class="right"></div>
</div>
如果高度不固定,所有的模块不会所内容增加而变高
上下固定中间自适应解决办法:http://www.cnblogs.com/pigtail/archive/2012/11/25/2787508.html
css之页面三列布局的更多相关文章
- css之页面三列布局之左右两边宽度固定,中间自适应
左右两边宽度固定,中间自适应 左右两边绝对定位 可以利用浮动,左边的左浮动,右边的右浮动 css3 flex布局(html http://www.cnblogs.com/myzy/p/5919814. ...
- css之页面三列布局之左右上下高度固定,中间自适应
第一种,绝对定位 !DOCTYPE HTML> <html> <head> <meta charset="gb2312"> <tit ...
- HTML/CSS学习之 三列布局,其中左侧和右侧的部分宽度固定,中间部分宽度随浏览器宽度的变化而自适应变化
第一种方法:绝对定位 <!DOCTYPE html> <html> <head> <title>三列布局</title> <link ...
- CSS如何实现三列布局?如果两端固定、中间是自适应又该如何做?
使用浮动布局来实现 左侧元素与右侧元素优先渲染,分别向左和向右浮动 中间元素在文档流的最后渲染,并将 width 设为 100%,则会自动压到左右两个浮动元素的下面,随后在中间元素中再添加一个div元 ...
- css之页面两列布局
两列布局:左边固定,后边自适应 第一种方法:左边的div左浮动或者是绝对定位,右边的div加margin-left:左边div的宽度 html部分 <div class="left&q ...
- CSS设计一个三列布局的页面
探讨这种布局是因为最近对话框组件以及信息系统B/S界面布局的需要.无论是什么,我们在写CSS之前首先引入reset.css,我使用的是淘宝的reset. 01 /* 02 KISSY CSS Rese ...
- css实现三列布局,左右固定值,中间自适应。
这里主要用到的是position:absolute;及margin属性;代码很简单,一看就明白. <!DOCTYPE html> <html lang="zh_CN&quo ...
- css常见的各种布局下----三列布局
css 三列布局,左右固定宽度右边自适应 1不使用定位,只使用浮动可以实现左右固定,中间宽度自适应布局 1.1.1 自适应部分一定要放第一个位子,使用浮动,并且设置宽度为100%,不设置浮动元素内容不 ...
- CSS常用布局方式-两列布局、三列布局
CSS基础 2.几种布局方式1)table布局 当年主流的布局方式,第一种是通过table tr td布局 示例: <style type="text/css"> ta ...
随机推荐
- Linux LVM硬盘管理之一:概念介绍
一.LVM概念介绍: LVM是 Logical Volume Manager(逻辑卷管理)的简写,它由Heinz Mauelshagen在Linux 2.4内核上实现.LVM将一个或多个硬盘的分区在逻 ...
- C++ 资源大全
http://www.uml.org.cn/c++/201411145.asp http://ezlippi.com/blog/2014/12/c-open-project.html <C++ ...
- 一个简易的反射类库NMSReflector
转自:http://blog.csdn.net/lanx_fly/article/details/53914338 背景简介 以前看过一些代码,是简单的读取SqlReader然后赋值给Model,我不 ...
- hosts立即生效的方法
做web开发和测试的,难免需要经常修改hosts来指定某个域名访问某个特定的IP:在windows中,每次修改了C:\windows\system32\drivers\etc\hosts,都需要重启 ...
- [Maven] - Eclipse "maven compiler plugin" 冲突解决
刚安装最新的Maven 3.2.5,在eclipse中使用maven的Run As->Maven Install,总会提示: Failed to execute goal org.apache. ...
- PChar,PAnsiChar,String,AnsiString,Char数组,AnsiChar数组转换
PChar,PAnsiChar,String,AnsiString,Char数组,AnsiChar数组之间的转换关系见下图 通过转换链,可以实现任意两个类型之间的互转.如PChar转PAnsiChar ...
- day1作业--登录入口
作业概述: 编写一个登录入口,实现如下功能: (1)输入用户名和密码 (2)认证成功后显示欢迎信息 (3)输错三次后锁定 流程图: readme: 1.程序配置文件: 黑名单文件blacklist.t ...
- 逐行读取txt文件,使用Linq与StreamReader的Readline方法
List<string[]> list = File.ReadLines("YourFile.txt") .Select(r => r.TrimEnd('#')) ...
- (C#) 使用Nullable类型
有个case,对一个double数设置初始值,然后,在程序运行中,为double赋值.(注意,也可能没有赋值). 这个时候,可以用Nullable 来设置初始值,在程序的最后做个判断. 参考:
- C# 托管和非托管混合编程
在非托管模块中实现你比较重要的算法,然后通过 CLR 的平台互操作,来使托管代码调用它,这样程序仍然能够正常工作,但对非托管的本地代码进行反编译,就很困难. 最直接的实现托管与非托管编程的方法就是 ...