千家信息网

css宽度自适应怎么实现

发表于:2024-10-05 作者:千家信息网编辑
千家信息网最后更新 2024年10月05日,这篇文章将为大家详细讲解有关css宽度自适应怎么实现,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。我们经常会看到这样的页面,左侧(或者右侧)为固定的导航或者菜单栏,
千家信息网最后更新 2024年10月05日css宽度自适应怎么实现

这篇文章将为大家详细讲解有关css宽度自适应怎么实现,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

  我们经常会看到这样的页面,左侧(或者右侧)为固定的导航或者菜单栏,另一侧将会随着浏览器的缩放而自适应改变其大小,这其实就是宽度自适应的实现。

  css宽度自适应中最常见的实现方法有两种,一种是两列布局,另一种是三列布局

  下面我们就来对这两种方法分别简单介绍一下。

  一.css宽度自适应之两列布局:

  我们以右侧宽度固定,左侧宽度自适应为例:

  1、固定宽度区浮动,自适应区不设宽度而设置margin

  

  固定宽度区

  自适应区

  

  #sidebar{

  float:right;width:300px;

  }#content{

  margin-right:300px;

  }

  注意:

  右侧一直固定不动,左侧根据屏幕的剩余大小自适应。

  但实际上这个方法是有局限性的,那就是html结构中sidebar必须在content之前才行。

  2、float与margin配合使用

  

  

  

  自适应区

  

  固定宽度区

  

  #content{

  margin-left:-300px;float:left;width:100%;

  }#content.contentInner{

  margin-left:300px;

  }#sidebar{

  float:right;width:300px;

  }

  说明:这样实现,contentInner的实际宽度就是屏幕宽度-300px。

  3、固定宽度区使用绝对定位,自适应区设置margin

  

  我现在的结构是在前面

  固定宽度区

  

  #wrap{

  position:relative;

  }#content{

  margin-right:300px;

  }#sidebar{

  position:absolute;

  width:300px;

  right:0;

  top:0;

  }

  4、使用display:table实现

  

  我现在的结构是在前面

  固定宽度区

  

  #wrap{

  display:table;

  width:100%;

  }#content{

  display:table-cell;

  }#sidebar{

  width:300px;

  display:table-cell;

  }

  注意:这一种方法在IE7以及以下浏览器不兼容,因为IE7设置display为table不识别。

  二.css宽度自适应之三列布局:

  1、固定宽度三列布局

  

  left

  middle

  right

  

  *{

  padding:0;

  margin:0;

  }

  .div0{

  width:800px;

  height:500px;/*设置高度只为结果更直观,高度可根据内容自适应*/

  margin:50pxauto;

  border:2pxsolid#E51414;/*添加边框只为结果更直观*/

  }

  .left{

  width:200px;

  height:500px;/*设置高度只为结果更直观,高度可根据内容自适应*/

  background:#6E6C8A;

  float:left;/*设为左浮动*/

  text-align:center;

  }

  .middle{

  width:430px;

  height:500px;/*设置高度只为结果更直观,高度可根据内容自适应*/

  background:#806155;

  float:left;/*设为左浮动*/

  margin:010px010px;/*左右各加10px使得三列之间有间隙*/

  text-align:center;

  }

  .right{

  width:150px;

  height:500px;/*设置高度只为结果更直观,高度可根据内容自适应*/

  background:#8F9068;

  float:right;/*设为右浮动*/

  text-align:center;

  }

  2、左右固定宽度、中间自适应宽度的三列布局

  

  left

  middle

  right

  

  *{

  padding:0;

  margin:0;}

  /*.div0{

  width:800px;

  height:500px;

  margin:50pxauto;

  position:relative;

  border:2pxsolid#E51414;

  }

  可以不要这个父元素div0(即默认父元素为body),如果有,需将这个父元素设置为相对定位*/

  .left{

  width:200px;

  height:500px;

  background:#6E6C8A;

  position:absolute;

  top:0;l

  eft:0;

  /*设为绝对定位并且与其父元素的top、left距离都为0*/

  text-align:center;

  }

  .middle{

  height:500px;

  background:#806155;

  margin:0160px0210px;

  /*左右各加10px使得三列之间有间隙*/

  text-align:center;

  }

  .right{

  width:150px;

  height:500px;

  background:#8F9068;

  position:absolute;

  top:0;

  right:0;

  /*设为绝对定位并且与其父元素的top、right距离都为0*/

  text-align:center;

  }

  说明:当左右两个div宽度固定,中间的div宽度未知时,使用浮动不能实现三列布局。使用绝对定位才能实现三列布局:需要将左边和右边的元素设置为绝对定位,将中间的元素margin值的左右分别设置为右边元素和左边元素的宽度。不需要父元素的包裹,即可实现三列布局,如果有父元素,需要将父元素设置为相对定位。

关于"css宽度自适应怎么实现"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

很赞哦!
宽度 元素 布局 高度 定位 直观 内容 结果 浮动 方法 应区 右侧 就是 篇文章 结构 之间 右边 大小 实际 屏幕 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 快递管理系统数据库sql pdn服务器上行通下行不通 联想服务器机箱钥匙 百度学术数据库如何导出论文 如何开一家网络安全公司 怎么更换服务器前端包 电脑网络安全检查重点 网络安全博士招聘信息 mac登录阿里云服务器 h3c服务器退税率 江苏电话软件开发哪家好 京门风月手游旧服务器 数据库逻辑模型与物理模型 科学计算服务器 CPU 闵行区网络技术服务 社交电商app软件开发服务 创业服务器芯片 数学专业从事软件开发 万方数据库下载医学文献 视频监控网络服务器 360网络安全运营 联想服务器机箱钥匙 天津仓储生鲜配送软件开发 ibm服务器备份硬盘 浙江专业软件开发以客为尊 云端知识数据库 网络技术咨询 公司地址 金山区营销软件开发制造价格 数据库查询后几条数据类型 啥事网络安全密钥
0