文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

css宽度自适应怎么实现

2024-04-02 19:55

关注

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

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

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

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

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

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

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

  <divid="wrap">

  <divid="sidebar"style="height:500px;background:red;color:#fff;">固定宽度区</div>

  <divid="content"style="height:500px;background:#000;color:#fff;">自适应区</div>

  </div>

  #sidebar{

  float:right;width:300px;

  }#content{

  margin-right:300px;

  }

  注意:

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

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

  2、float与margin配合使用

  <divid="wrap">

  <divid="content"style="height:500px;background:#000;color:#fff;">

  <divclass="contentInner">

  自适应区</div>

  </div>

  <divid="sidebar"style="height:500px;background:red;color:#fff;">固定宽度区</div>

  </div>

  #content{

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

  }#content.contentInner{

  margin-left:300px;

  }#sidebar{

  float:right;width:300px;

  }

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

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

  <divid="wrap">

  <divid="content"style="height:500px;background:#000;color:#fff;">我现在的结构是在前面</div>

  <divid="sidebar"style="height:500px;background:red;color:#fff;">固定宽度区</div>

  </div>

  #wrap{

  position:relative;

  }#content{

  margin-right:300px;

  }#sidebar{

  position:absolute;

  width:300px;

  right:0;

  top:0;

  }

  4、使用display:table实现

  <divid="wrap">

  <divid="content"style="height:500px;background:#000;color:#fff;">我现在的结构是在前面</div>

  <divid="sidebar"style="height:500px;background:red;color:#fff;">固定宽度区</div>

  </div>

  #wrap{

  display:table;

  width:100%;

  }#content{

  display:table-cell;

  }#sidebar{

  width:300px;

  display:table-cell;

  }

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

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

  1、固定宽度三列布局

  <divclass="div0">

  <divclass="left">left</div>

  <divclass="middle">middle</div>

  <divclass="right">right</div>

  </div>

  *{

  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;

  text-align:center;

  }

  .right{

  width:150px;

  height:500px;

  background:#8F9068;

  float:right;

  text-align:center;

  }

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

  <!--<divclass="div0">-->

  <divclass="left">left</div>

  <divclass="middle">middle</div>

  <divclass="right">right</div>

  <!--</div>-->

  *{

  padding:0;

  margin:0;}

  

  .left{

  width:200px;

  height:500px;

  background:#6E6C8A;

  position:absolute;

  top:0;l

  eft:0;

  

  text-align:center;

  }

  .middle{

  height:500px;

  background:#806155;

  margin:0160px0210px;

  

  text-align:center;

  }

  .right{

  width:150px;

  height:500px;

  background:#8F9068;

  position:absolute;

  top:0;

  right:0;

  

  text-align:center;

  }

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

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

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-前端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯