zoukankan      html  css  js  c++  java
  • DIV布局之头尾固定中间自适应

    这篇文章在我的机器里呆了很长时间了,一直犹豫着到底发还是不发呢。

      其原因是这个Demo还有一些不完善的地方,所以一直没发,但又一直想要完善它,所以今天还是打算将它发出来,因为人民的智慧是无穷的。

      该布局的重点在于头部和底部的高度固定,并且位置需始终保持不变,中间部分的可视高度为除去头和尾的剩余部分,实际高度则随内容的多少自适应,如果实际高度超出了超出可视高度则出现滚动条(当然,如果是通过JS的话,可以轻而易举的实现,但如果是纯粹的CSS的话...其实也很容易实现,只不过为了能在IE中向下兼容才颇费了一番功夫)。

      这听起来似乎有点象框架了,其实就是在模拟那种效果:)

      [效果演示:http://www.doyoe.com/model/xhtmlcss/layout/7.htm]

      下图就是该Demo的效果:

      单看这张图,是不是感觉实现起来应该不复杂呢?是的,确实不复杂,在ie6以上及非IE浏览器中都很好实现。

      闲话不多说,先看实现代码:

    CSS部分:

    html,body {
     margin:0;
     font:14px/200% tahoma, "宋体", Simsun, Arial, Helvetica;
     height:100%;
     overflow:hidden;
    }
    #dyhead,#dyfoot {
     background:#eee;
     100%;
     height:30px;
     position:absolute;
     z-index:100;
    }
    #dyhead {
     top:0;
    }
    #dyfoot {
     bottom:0;
    }
    #dycontent {
     100%;
     background:#f7f7f7;
     overflow:auto;
     top:30px;
     bottom:30px;
     position:absolute;
     z-index:99;
     _height:100%;
     _border-top:30px solid #eee;
     _border-bottom:30px solid #eee;
     _top:0;
    }

    XHTML部分:

    <!--Quirks Mode-->
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
    <meta http-equiv="Content-Language" content="gb2312" />
    <title>DY CSS Layout</title>
    <meta name="Author" content="Doyoe(飘零雾雨), edzmaster@gmail.com" />
    </head>
    <body>
    <div id="dyhead">Header</div>
    <div id="dycontent">Begin<br />中间大段的内容<br />中间大段的内容<br />中间大段的内容<br />中间大段的内容<br />中间大段的内容<br />中间大段的内容<br />中间大段的内容<br />中间大段的内容<br />中间大段的内容<br />中间大段的内容<br />中间大段的内容<br />中间大段的内容<br />中间大段的内容<br />中间大段的内容<br />中间大段的内容<br />中间大段的内容<br />中间大段的内容<br />中间大段的内容<br />中间大段的内容<br />中间大段的内容<br />中间大段的内容<br />End</div>
    <div id="dyfoot">Footer</div>
    </body>
    </html>

       代码看完了,是不是蛮简单又蛮复杂的:)

      其实在不考虑ie6及更早的浏览器的情况下,以上CSS中的Hack是可以去掉的,而且也不需要进入怪异模式(Quirks Mode)就可以实现。

      当然,我也希望大家可以提出在考虑ie6及更早浏览器的情况下也可以不需要进入怪异模式就能实现的的方法,所以今天还是发出来大家共同讨论一下。

  • 相关阅读:
    iOS uiscrollView 嵌套 问题 的解决
    NSURLConnection 网络超时的那些事(转别人整理的)
    IOS 开发中判断NSString是否为空字符
    iOS- SQLite3的基本使用
    怎么应对 domino文档损坏然后损坏文档别删除导致数据丢失
    为什么Log.nsf中存储的日志只有最近7天的原因
    Struts,Spring,Hibernate优缺点
    Java面试之List的三个子类ArrayList,LinkedList,Vector区别
    Java面试之同步/异步/阻塞/非阻塞/BIO/NIO/AIO
    如何设置 Windows 开机启动项
  • 原文地址:https://www.cnblogs.com/ckmouse/p/2351043.html
Copyright © 2011-2022 走看看