使用CSS实现三栏自适应布局(两边宽度固定,中间自适应)
所谓三列自适应布局指的是两边定宽,中间block宽度自适应。这里主要分为两大类,一类是基于position传统的实现,一类是基于css3新特性弹性盒模型布局实现。
1. 基于传统的position和margin等属性进行布局
1).绝对定位法
绝对定位法原理是将左右两边使用absolute定位,因为绝对定位使其脱离文档流,后面的center会自然流动到他们上面,然后使用margin属性,留出左右元素的宽度,既可以使中间元素自适应屏幕宽度。
<!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><title>Document</title><style type="text/css">* {margin: 0;padding: 0;}#left {width: 100px;height: 200px;background-color: red;position: absolute;top:120px;left: 0;}#right {width: 100px;height: 200px;background-color: green;position: absolute;top:120px;right: 0;}#middle {height: 200px;margin: 2px 200px;background-color: saddlebrown;}</style> </head> <body><div id="content"><div id="left">左侧</div><div id="middle">中间</div><div id="right">右侧</div></div> </body> </html>
2).使用自身浮动法
<!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><title>Document</title><style type="text/css">* {margin: 0;padding: 0;}#left {width: 100px;height: 200px;background-color: red;float: left;}#right {width: 100px;height: 200px;background-color: green;float: right;}#middle {height: 200px;margin: 2px 200px;background-color: saddlebrown;}</style> </head> <body><div id="content"><div id="left">左侧</div><div id="right">右侧</div><div id="middle">中间</div></div> </body> </html>
该布局法的好处是受外界影响小,但是不足是 三个元素的顺序,center一定要放在最后,这是和绝对定位不一样的地方,center占据文档流位置,所以一定要放在最后,左右两个元素位置没有关系。当浏览器窗口很小的时候,右边元素会被击倒下一行。
2 , css3新特性
在外围包裹一层div,设置为display:flex;中间设置flex:1;但是盒模型默认紧紧挨着,可以使用margin控制外边距。
<!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><title>Document</title><style type="text/css">* {margin: 0;padding: 0;}#wrap {width: 100%;height: 100%;display: flex;margin: 10px;}#left {width: 100px;height: 200px;background-color: red;margin: 10px;}#right {width: 100px;height: 200px;background-color: green; margin: 10px; }#middle {flex: 1;height: 200px;margin: 10px;background-color: saddlebrown;}</style> </head> <body><div id="wrap"> <div id="left"></div><div id="middle"></div><div id="right"></div></div> </body> </html>
注意: center一定要放到中间。
转载于:https://www.cnblogs.com/zhaosijia----1234/p/8778711.html
使用CSS实现三栏自适应布局(两边宽度固定,中间自适应)相关推荐
- css 两边宽度固定中间自适应宽度
#content_left{ //左 width:73px; height:100px; vertical-align:middle; margin-right:-100px; float:lef ...
- css的经典三栏布局如何实现,css 实现三栏布局的四种方式
三栏布局就是左中右,左右两边固定,中间自适应. 1. 绝对定位 左边 中间 右边 body { padding: ; margin: ; } /* 绝对定位 */ .left, .right { po ...
- 用CSS的float和clear创建三栏液态布局的方法(转载)
三栏布局是目前最常见的网页布局,主要页内容放在中间一栏,边上的两栏放置导航链接之类的内容.基本布局一般是标题之下放置三栏,三栏占据整个页面的宽度,最后在页的底端放置页脚,页脚也占据整个页面宽度. ...
- 左中右 三栏式 布局
一.中间 自适应,左右两边 宽度固定 方法1:box容器 Flex布局,center设置为 flex:1 <!DOCTYPE html> <html lang="en&qu ...
- 【三栏式布局、双飞翼布局、圣杯布局】09
三栏式布局 文章目录 三栏式布局 1. 用calc函数实现三栏式布局 2. 双飞翼布局 3. 圣杯布局 两边盒子固定宽度,中间盒子自适应的布局. 1. 用calc函数实现三栏式布局 <div c ...
- HCJ2:页面两栏式或三栏式布局
2.1 简介 大家在进行页面布局的时候,可能会遇见两栏式布局与三栏式布局,如下图所示: 两栏式 例子: 三栏式 2.2 方法 2.2.1 两栏式 .left-pane{width: 14%;heigh ...
- 三个经典布局:三栏式布局、双飞翼布局、圣杯布局
1.三栏式布局 三栏式布局就是左栏定宽左浮动,右栏定宽右浮动. <div class="wrap"><div class="left"> ...
- HTML(十二)三种常见布局:三栏式布局 双飞翼布局 圣杯布局
一.三栏式布局 顾名思义,即是将主页分成三部分(左,中,右),给左边和右边的块定宽,中间的块占据余下部分.以下是几种常用的实现方法 1.巧用浮动 优点:兼容性好,实现简单 缺点:必须先写浮动元素,再写 ...
- html如何左侧固定div,详解左右宽度固定中间自适应html布局解决方案
原标题:详解左右宽度固定中间自适应html布局解决方案 本文介绍了详解左右宽度固定中间自适应html布局解决方案,分享给大家,具体如下: a.使用浮动布局 html结构如下 left right ce ...
最新文章
- 第二十四章:页面导航(六)
- Android实战技巧之三十七:图片的Base64编解码
- Unable to compile class for JSP的解决方法
- 随便玩玩系列之一:SPOJ-RNG+51nod 算法马拉松17F+51nod 1034 骨牌覆盖v3
- ETL PostgreSQL in Oracle ODI 12c
- Office365—Exchange管理2—连接Exchange PowerShell
- AutoRunner检查点之校验消息框
- 联想台式计算机设置u盘启动不了,联想台式电脑bios设置u盘启动教程
- 下拉框输入模糊查询_高考英语听力考试查询、网上填报志愿时间、诈骗陷阱提防!全在这里了...
- Linux设置和取消定时关机,修改 linux 默认启动级别 设置系统时间 定时关机
- B站总结某up主面试题(持续等待更新......)
- 【成功实现】python对tif图片的读取与保存
- EMERSON艾默生AMS巡检仪维修TREX通讯器维修注意事项
- 适配80mm打印机网页打印自动高度问题
- 工作日,我们又团建了!
- linux配置git
- iPhone 5s--- iPhone x越狱详细教程,MacOS系统
- 如何使用Github学生包申请JET BRAINS
- 接口返回值转成json
- Deepin系统正版官方下载站
热门文章
- java concurrency_Java Concurrency - Lock
- 浅析企业网站建设潜在价值有哪些?
- 内存淘汰算法_「承」Redis 原理篇——Redis 的内存回收机制
- php 图片地址用变量,php使用ob_start()实现图片存入变量的方法
- java链式编程_Java 链式编程 和 lombok 实现链式编程
- php把表情去掉,php如何去除表情
- 区块链带来的价值包括哪些_爱链社区干货:区块链技术为冷链物流带来的了那些价值?...
- html语言的空格键,如何在如何在HTML中插入空格中插入空格
- java jframe显示图片_java怎么在JFrame中显示动态图片
- Resources$NotFoundException Resource is not a Drawable (color or path) 问题解决