CSS布局自适应高度解决方法

2016-02-19 19:42 4 1 收藏

今天天气好晴朗处处好风光,好天气好开始,图老师又来和大家分享啦。下面给大家推荐CSS布局自适应高度解决方法,希望大家看完后也有个好心情,快快行动吧!

【 tulaoshi.com - Web开发 】

  CSS布局自适应高度解决方法

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/webkaifa/)

  这是一个比较典型的三行二列布局,每列高度(事先并不能确定哪列的高度)的相同,是每个设计师追求的目标,按一般的做法,大多采用背景图填充、加JS脚本的方法使列的高度相同,本文要介绍的是采用容器溢出部分隐藏和列的负底边界和正的内补丁相结合的方法来解决列高度相同的问题。

  先看代码:

  #wrap{
  overflow: hidden;
  }
  #sideleft, #sideright{
  padding-bottom: 32767px;
  margin-bottom: -32767px;
  }

  实现原理:

  块元素必须包含在一个容器里。

  应用overflow: hidden 到容器里的元素。

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/webkaifa/)

  应用 padding-bottom(足够大的值)到列的块元素 。

  应用margin-bottom(足够大的值)到列的块元素。

  padding-bottom将列拉长变的一样高,而负的margin-bottom又使其回到底部开始的位置,同时,溢出部分隐藏掉了。

  兼容各浏览器

  IE Mac 5

  得到高度正确,所以要过滤掉上面的代码。

  #sideleft, #sideright{
  padding-bottom: 32767px;
  margin-bottom: -32767px;
  }

  Opera

  1. Opera7.0-7.2不能正确清除溢出部分,所以要加:

  #wrap:after
  {
  content: '[DO NOT LEAVE IT IS NOT REAL]';
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
  }
  #wrap
  {
  display: inline-block;
  }
  /**/
  #wrap
  {
  display: block;
  }
  /* end easy clearing */

  2. Opera8处理overflow: hidden有个BUG,还得加上以下代码:

  #sideleft, #sideright
  {
  padding-bottom: 32767px !important;
  margin-bottom: -32767px !important;
  }
  @media all and (min-width: 0px) {
  #sideleft, #sideright
  {
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
  }
  #sideleft:before, #sideright:before
  {
  content: '[DO NOT LEAVE IT IS NOT REAL]';
  display: block;
  background: inherit;
  padding-top: 32767px !important;
  margin-bottom: -32767px !important;
  height: 0;
  }
  }

  3.Opera9的B2在修正8的bug.

来源:http://www.tulaoshi.com/n/20160219/1621608.html

延伸阅读
标签: Web开发
htmlhead meta http-equiv="Content-Type" content="text/html; charset=gb2312" meta name="GENERATOR" content="Microsoft FrontPage 4.0" meta name="ProgId" content="FrontPage.Editor.Document" titleNew Page 1/title /head body IFRAME id="test" name="...
标签: Web开发
main.htm: html       head          meta  http-equiv='Content-Type'  content='text/html;  charset=gb2312' /          meta  name='author'  c...
标签: Web开发
流动网页设计有很多好处,但也只有在正确使用的时候。合适的技巧会使页面在大屏幕、小屏幕抑、PDA小屏幕上都能得到良好的呈现。但是,糟糕的代码结构,对于流动布局来说将是灾难性的。因此,我们需要针对大多数流动设计的缺点寻求可行的解决方案。 如果你作为设计师通过额外的付出创造了一个功能性流动布局,为什么不更进一步使其...
标签: Web开发
上中下三行布局,上下定高,中间栏自适应浏览器高度,且内容垂直居中。 firefox 2.0 / win ie 6/ win ie 7 /opera 8.5 cn/win safari 测试通过。 对于非ie内核浏览器,通过设定display:table、display:table-row和display:table-cell来模拟表格的表现形式。 最外层#box { display:table; },高度100%,其子层#header/#...
标签: Web开发
用脚本控制三行三列div高度自适应的设置方法,其实不必如此麻烦,只要给父div设置一个固定高度,比如10px,其子div的height:100%就可实现高度自适应,不信,看代码: head style body { font-family: arial, helvetica, sans-serif; color: black; margin: 5px; background:#ffc url(d:/8767a.gif) repeat-y; padding: 0; ...

经验教程

184

收藏

45
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部