CSS布局 -- 左右定宽,中间自适应
左右定宽,中间自适应
有几种方法可以实现
改变窗口大小看看?
方案一:
左右设置绝对定位,定宽,中间设置margin-left margin-right
查看 demo
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
- <html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <meta charset="utf-8">
- <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
- <title>左右定宽,中间自适应(1)</title>
- <style type="text/css">
- *{margin: 0;padding: 0;}
- .left{
- position: absolute;
- top: 0;
- left: 0;
- width: 200px;
- border: 1px solid #333;
- background: #aaa;
- }
- .right{
- position: absolute;
- top: 0;
- right: 0;
- width: 220px;
- background: #aaa;
- }
- .middle{
- margin-left: 200px;
- margin-right: 220px;
- border: 1px solid #333;
- background: #ccc;
- word-break: break-all;
- }
- </style>
- </head>
- <body>
- <div class="left">
- <h4>left</h4>
- <p>oooooooooooooo
- 0000000000000000
- 00000000000000000
- ooooooooooooooo
- ooooooooooooooo
- 000000000000000</p>
- </div>
- <div class="middle">
- <h4>middle</h4>
- <p>HHHHHHHHHHHHHHHHHHHHHH
- hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
- HHHHHHHHHHHHHHHHHHHHHH
- hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
- </p>
- </div>
- <div class="right">
- <h4>right</h4>
- <p>BBBBBBBBBBBBBB
- 888888888888888888
- BBBBBBBBBBBBBBBBBB
- 88888888888888888888</p>
- </div>
- </body>
- </html>
方案二:
采用负边距处理。左中右都float:left;
中间的div里边再设置一个div ,外层div占满 width:100%; 内层div使用margin-left 和margin-right
左边加上负边距 margin-left:-100% 拉回最左端
右边加上负边距 margin-left:-220px (即为右边的宽度)拉回最右端
查看 demo
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
- <html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <meta charset="utf-8">
- <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
- <title>左右定宽,中间自适应(2)</title>
- <style type="text/css">
- *{margin: 0;padding: 0;}
- .left{
- float: left;
- margin-left: -100%;
- width: 200px;
- border: 1px solid #333;
- background: #aaa;
- }
- .right{
- float: left;
- margin-left: -220px;
- width: 220px;
- background: #aaa;
- }
- .middle{
- float: left;
- width: 100%;
- }
- .middle-inner{
- margin-left: 200px;
- margin-right: 220px;
- border: 1px solid #333;
- background: #ccc;
- word-break: break-all;
- }
- </style>
- </head>
- <body>
- <div class="middle">
- <div class="middle-inner">
- <h4>middle</h4>
- <p>HHHHHHHHHHHHHHHHHHHHHH
- hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
- HHHHHHHHHHHHHHHHHHHHHH
- hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
- </p>
- </div>
- </div>
- <div class="left">
- <h4>left</h4>
- <p>oooooooooooooo
- 0000000000000000
- 00000000000000000
- ooooooooooooooo
- ooooooooooooooo
- 000000000000000</p>
- </div>
- <div class="right">
- <h4>right</h4>
- <p>BBBBBBBBBBBBBB
- 888888888888888888
- BBBBBBBBBBBBBBBBBB
- 88888888888888888888</p>
- </div>
- </body>
- </html>
方案三:
左边使用float:left 右边用float:right,html代码中的中间部分要放后边
查看 demo
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
- <html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <meta charset="utf-8">
- <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
- <title>左右定宽,中间自适应(3)</title>
- <style type="text/css">
- *{margin: 0;padding: 0;}
- .left{
- float: left;
- width: 200px;
- border: 1px solid #333;
- background: #aaa;
- }
- .right{
- float: right;
- width: 220px;
- background: #aaa;
- }
- .middle{
- margin-left: 200px;
- margin-right: 220px;
- border: 1px solid #333;
- background: #ccc;
- word-break: break-all;
- }
- </style>
- </head>
- <body>
- <div class="left">
- <h4>left</h4>
- <p>oooooooooooooo
- 0000000000000000
- 00000000000000000
- ooooooooooooooo
- ooooooooooooooo
- 000000000000000</p>
- </div>
- <div class="right">
- <h4>right</h4>
- <p>BBBBBBBBBBBBBB
- 888888888888888888
- BBBBBBBBBBBBBBBBBB
- 88888888888888888888</p>
- </div>
- <div class="middle">
- <h4>middle</h4>
- <p>HHHHHHHHHHHHHHHHHHHHHH
- hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
- HHHHHHHHHHHHHHHHHHHHHH
- hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
- </p>
- </div>
- </body>
- </html>
CSS布局 -- 左右定宽,中间自适应的更多相关文章
- css布局:定宽,自适应
css三栏布局:1.中自:float,absolute,margin三种方法.2.中固:margin,table两种方法. 两边定宽,中间自适应: float: #left{ float:left; ...
- css实现左边定宽右边自适应的5种方法总汇
在网页布局中,通常需要实现左边定宽右边自适应布局,默认html的结构如下: <div class="box"> <div class="left&quo ...
- CSS布局 -- 左侧定宽,右侧自适应
左侧定宽,右侧自适应 有很多种方法可以实现 缩小窗口试试看? 方案一: 左边左浮动,右边加个margin-left 查看 demo <!DOCTYPE html PUBLIC "-// ...
- CSS布局——左定宽度右自适应宽度并且等高布局
方法一: 别的不多说,直接上代码,或者参考在线DEMO,下面所有的DEMO都有HTML和CSS代码,感兴趣的同学自己慢慢看吧. HTML Markup <div id="contain ...
- CSS布局 两列布局之单列定宽,单列自适应布局思路
前言 说起自适应布局方式,单列定宽单列自适应布局是最基本的布局形式.比如斗鱼的直播间,后台管理系统都是常用的 我们将从 float, inline-block, table, absolute, fl ...
- css 两列布局中单列定宽单列自适应布局的6种思路
前面的话 说起自适应布局方式,单列定宽单列自适应布局是最基本的布局形式.本文将从float.inline-block.table.absolute.flex和grid这六种思路来详细说明如何巧妙地实现 ...
- CSS基础布局--居中对齐,左侧定宽右侧自适应
CSS页面布局是web前端开发的最基本的技能,本文将介绍一些常见的布局方法,涉及到盒子布局,column布局,flex布局等内容.本文中,你可以看到一些水平垂直居中的方法,左侧固定宽度,右侧自适应的一 ...
- 请给出一个左侧定宽右侧自适应的HTML结构及样式
<!DOCTYPE HTML><html><head><meta http-equiv="Content-Type" content=&q ...
- Layout两列定宽中间自适应三列布局
最容易理解的一种方法,以中间内容为主体,通过 margin 或者 padding 将两侧撑开,最后用 absolute 定位两侧 html: <div class="container ...
随机推荐
- ELK——Logstash 2.2 date 插件【翻译+实践】
官网地址 本文内容 语法 测试数据 可配置选项 参考资料 date 插件是日期插件,这个插件,常用而重要. 如果不用 date 插件,那么 Logstash 将处理时间作为时间戳.时间戳字段是 Log ...
- std::bind和std::function
std::bind 用于绑定一个函数,返回另外一种调用方式的函数对象 ,可以改变参数顺序 和个数,特别是在多线程的程序中,经常用它将函数进行包装,然后打包发送给工作线程,让工作线程去执行我们的任务. ...
- hive中grouping sets的使用
hive中grouping sets 数量较多时如何处理? 可以使用如下设置来 set hive.new.job.grouping.set.cardinality = 30; 这条设置的意义在于 ...
- 对list集合中的对象按照对象的某一属性进行排序
/** * 重新对list中的CmsCyUser对象按照最终的票数进行排序 * @param list */ private void reSort(List list) { Object[ ...
- C语言代写
MTRX1702 - C ProgrammingAssignment 2This assignment requires you to design and build a program that ...
- how to use javap command
SYNOPSIS javap [options] classes DESCRIPTION The javap command is called "disassembler" be ...
- Android获取TextView显示的字符串宽度
工作上有业务需要判断textview是否换行,我的做法是判断textview要显示的字符串的宽度是否超过我设定的宽度,若超过则会执行换行. 项目中的其他地方也有这样的需求,故直接使用了那一块的代码.如 ...
- openssl命令行工具简介 - RSA操作
原文链接: http://www.cnblogs.com/aLittleBitCool/archive/2011/09/22/2185418.html 首先介绍下命令台下openssl工具的简单使用: ...
- 从逆向的角度去理解C++虚函数表
很久没有写过文章了,自己一直是做C/C++开发的,我一直认为,作为一个C/C++程序员,如果能够好好学一下汇编和逆向分析,那么对于我们去理解C/C++将会有很大的帮助,因为程序中所有的奥秘都藏在汇编中 ...
- [原]运行编译好的Android模拟器
Android源码编译好了之后,我们就可以运行它了. 1.配置环境变量: /data/data/Android$ export PATH=$PATH:$(pwd)/out/host/linux-x86 ...