千家信息网

css宽度自适应怎么实现

发表于:2025-01-19 作者:千家信息网编辑
千家信息网最后更新 2025年01月19日,这篇文章将为大家详细讲解有关css宽度自适应怎么实现,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。我们经常会看到这样的页面,左侧(或者右侧)为固定的导航或者菜单栏,
千家信息网最后更新 2025年01月19日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安全错误 数据库的锁怎样保障安全 java数据库和java 如何取消网络服务器 发票内容软件开发入什么科目 GISAlD数据库 安卓手机访问数据库文件 招聘系统数据库背景 上海服务器机柜尺寸 无尽贪婪和等价交换服务器 数据库一致hash pvp服务器断开连接 计算机网络技术华为 数据库field怎么填 描述数据库技术 安徽高清视频会议服务器云服务器 sql数据库项目部署文件 数据库 表名称长度 php数据库后台密码是 江西商业软件开发服务价格 网络安全主管部门是什么 指弋上海网络技术有限公司 如何安装mysql数据库网站 苹果id联接服务器失败 企业环保投资数据库 sw版本比服务器还新 云实互联网信息科技有限公司 服务器安全模式下拷贝东西吗 医院金保网服务器要求 数据库的r x权限 方舟手游联机无法获取服务器 黄埔区无源网络技术开发咨询报价
0