你对Div高度自适应的方法是否了解,这里和大家分享一下5种常用Div高度自适应的方法,希望对你的学习有所帮助。

成都创新互联公司专注于沅陵网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供沅陵营销型网站建设,沅陵网站制作、沅陵网页设计、沅陵网站官网定制、重庆小程序开发公司服务,打造沅陵网络公司原创品牌,更为您提供沅陵网站排名全网营销落地服务。
5种常用Div高度自适应的方法
1.背景图填充
这是使用最广泛的一种做法,无hacks,推荐使用:
SourceCodetoRun
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
 Equalheight(列高度相同的方法) title> - body{
 - padding:0;
 - margin:0;
 - font-size:12px;
 - font-family:Arial,Helvetica,sans-serif;
 - line-height:140%;
 - background:#E7DFD3;
 - }
 - #middle{
 - width:580px;
 - float:left;
 - background:#FFFFFF;
 - text-align:left;
 - }
 - #header,#footer{
 - background:#E8E8E8;
 - width:750px;
 - text-align:center;
 - }
 - #sideleft{
 - width:580px;
 - float:left;
 - position:relative;
 - margin-left:-580px;
 - }
 - #sideright{
 - width:170px;
 - float:right;
 - position:relative;
 - margin:0-170px00;
 - background:#F0F0F0;
 - }
 - #footer{
 - clear:both;
 - }
 - h1,h2,address,p{
 - margin:0;
 - padding:.8em;
 - }
 - h1,h2{font-size:20px;}
 - style>
 - //
 - functiontoggleContent(name,n){
 - vari,t='',el=document.getElementById(name);
 - if(!el.origCont)el.origCont=el.innerHTML;
 - for(i=0;i
 - el.innerHTML=t;
 - }
 - //]]>
 - < span>script>
 - < span>head>
 - <body>
 - <dividdivid="header">
 - <h1>Head< span>h1>
 - <dividdivid="middle">
 - <dividdivid="sideright">
 - <dividdivid="sideleft">
 - <h2>sideleft< span>h2>
 - <p>默认长度加长页面< span>p>
 - <p>要从固定的、基于像素的设计方法转到弹性的、相对的设计方法并不容易。
 - 但是如果恰当利用,就可以成为增强亲和力和易用性的一个自然选择,
 - 同时又无须做出设计上的牺牲。< span>p>
 - <p>像素是计算机屏幕上的不可缩放的点,而一个
 - h3就是一个字大小的方块。由于字体大小的变化,h3
 - 代表用户喜欢的文字大小的相对单位。< span>p>
 - <p>采用印刷式的固定设计方案或许要容易些,
 - 因为如果尺寸不变,则考虑的东西就相对较少。可是如果采用弹性的设计方法,
 - 就可以充分利用电脑的显示器和浏览器。< span>p>
 - <p>也许你想你的网站以某种特定的方式显示,
 - 但是你的用户想看到的可能不一样。任何强加于用户的东西都不利于易用性,
 - 从而对网站的成功造成损害。< span>p>
 - <p>要从固定的、基于像素的设计方法转到弹性的、
 - 相对的设计方法并不容易。但是如果恰当利用,
 - 就可以成为增强亲和力和易用性的一个自然选择,同时又无须做出设计上的牺牲。< span>p>
 - < span>div>
 - <h2>sideright< span>h2>
 - <p>要从固定的、基于像素的设计方法转到弹性的、
 - 相对的设计方法并不容易。但是如果恰当利用,
 - 就可以成为增强亲和力和易用性的一个自然选择,
 - 同时又无须做出设计上的牺牲。< span>p>
 - <p>像素是计算机屏幕上的不可缩放的点,而一个
 - h3就是一个字大小的方块。由于字体大小的变化,h3
 - 代表用户喜欢的文字大小的相对单位。< span>p>
 - <p>采用印刷式的固定设计方案或许要容易些,因为如果尺寸不变,
 - 则考虑的东西就相对较少。
 - 可是如果采用弹性的设计方法,就可以充分利用电脑的显示器和浏览器。< span>p>
 - <p>也许你想你的网站以某种特定的方式显示,但是你的用户想看到的可能不一样。
 - 任何强加于用户的东西都不利于易用性,从而对网站的成功造成损害。< span>p>
 - < span>div>< span>div>
 - <dividdivid="footer">
 - Footer
 - < span>address>
 - <p>制作:Yzci.Com< span>p>
 - < span>div>
 - < span>body>
 - < span>html>
 
[可先修改部分代码再运行查看效果]#p#
2.采用脚本控制列的高度(一)
需要事先知道哪列的高度,以此为基准用脚本控制。
document.getElementById("sideleft").style.height=document.getElementById("sideright").scrollHeight+"px"
上面的代码是以sideright的基准高度来控制sideleft的高度。
代码简单,但比较被动:
SourceCodetoRun 
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
 - <htmlxmlnshtmlxmlns="http://www.w3.org/1999/xhtml">
 - <head>
 - <metahttp-equivmetahttp-equiv="Content-Type"
 - content="text/html;charset=utf-8"/>
 - <title>Equalheight(使用JS实现列高度相同的方法)< span>title>
 - <styletypestyletype="text/css">
 - body{
 - padding:0;
 - margin:0;
 - font-size:12px;
 - font-family:Arial,Helvetica,sans-serif;
 - line-height:140%;
 - text-align:center;
 - background:#E7DFD3;
 - }
 - #wrap{
 - width:750px;
 - margin:0auto;
 - /*overflow:hidden;*/
 - }
 - #header{
 - background:#E8E8E8;
 - }
 - #sideleft{
 - width:580px;
 - float:left;
 - background:#FFF;
 - text-align:left;
 - }
 - #sideright{
 - width:170px;
 - float:left;
 - background:#F0F0F0;
 - text-align:left;
 - }
 - #footer{
 - background:#E8E8E8;
 - width:100%;
 - float:left;
 - }
 - h1,h2,address,p{
 - margin:0;
 - padding:.8em;
 - }
 - h1,h2{font-size:20px;}
 - < span>style>
 - < span>head>
 - <body>
 - <dividdivid="wrap">
 - <dividdivid="header">
 - <h1>Head< span>h1>
 - < span>div>
 - <dividdivid="sideleft">
 - <h2>sideleft< span>h2>
 - <p>要从固定的、基于像素的设计方法转到弹性的、相对的设计方法并不容易。但是如果恰当利用,
 - 就可以成为增强亲和力和易用性的一个自然选择,同时又无须做出设计上的牺牲。< span>p>
 - <p>像素是计算机屏幕上的不可缩放的点,而一个
 - h3就是一个字大小的方块。由于字体大小的变化,h3
 - 代表用户喜欢的文字大小的相对单位。< span>p>
 - <p>采用印刷式的固定设计方案或许要容易些,因为如果尺寸不变,则考虑的东西就相对较少。
 - 可是如果采用弹性的设计方法,就可以充分利用电脑的显示器和浏览器。< span>p>
 - <p>也许你想你的网站以某种特定的方式显示,但是你的用户想看到的可能不一样。
 - 任何强加于用户的东西都不利于易用性,从而对网站的成功造成损害。< span>p>
 - <p>要从固定的、基于像素的设计方法转到弹性的、相对的设计方法并不容易。但是如果恰当利用,
 - 就可以成为增强亲和力和易用性的一个自然选择,同时又无须做出设计上的牺牲。< span>p>
 - <p>像素是计算机屏幕上的不可缩放的点,而一个
 - h3就是一个字大小的方块。由于字体大小的变化,h3
 - 代表用户喜欢的文字大小的相对单位。< span>p>
 - <p>采用印刷式的固定设计方案或许要容易些,因为如果尺寸不变,则考虑的东西就相对较少。
 - 可是如果采用弹性的设计方法,就可以充分利用电脑的显示器和浏览器。< span>p>
 - <p>也许你想你的网站以某种特定的方式显示,但是你的用户想看到的可能不一样。
 - 任何强加于用户的东西都不利于易用性,从而对网站的成功造成损害。< span>p>
 - < span>div>
 - <dividdivid="sideright">
 - <h2>sideright< span>h2>
 - <p>要从固定的、基于像素的设计方法转到弹性的、相对的设计方法并不容易。但是如果恰当利用,
 - 就可以成为增强亲和力和易用性的一个自然选择,同时又无须做出设计上的牺牲。< span>p>
 - <p>像素是计算机屏幕上的不可缩放的点,而一个
 - h3就是一个字大小的方块。由于字体大小的变化,h3
 - 代表用户喜欢的文字大小的相对单位。< span>p>
 - <p>采用印刷式的固定设计方案或许要容易些,因为如果尺寸不变,则考虑的东西就相对较少。
 - 可是如果采用弹性的设计方法,就可以充分利用电脑的显示器和浏览器。< span>p>
 - <p>也许你想你的网站以某种特定的方式显示,但是你的用户想看到的可能不一样。
 - 任何强加于用户的东西都不利于易用性,从而对网站的成功造成损害。< span>p>
 - < span>div>
 - <scripttypescripttype="text/javascript">
 - document.getElementById("sideleft").style.height
 - =document.getElementById("sideright").scrollHeight+"px"
 - < span>script>
 - <dividdivid="footer">
 - Footer
 - < span>address>
 - <p>制作:Yzci.Com< span>p>
 - < span>div>
 - < span>div>
 - < span>body>
 - < span>html>
 
[可先修改部分代码再运行查看效果]#p#
3.采用脚本控制列的高度(二)
不需要事先知道哪列的高度,脚本自动判断。
代码较复杂,有点延时:
SourceCodetoRun
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 - <htmlxmlnshtmlxmlns="http://www.w3.org/1999/xhtml"xml:lang="en"lang="en">
 - <head>
 - <title>脚本控制三行三列自适应高度DIV布局< span>title>
 - <scriptsrcscriptsrc="../js/eqCols.js"type="text/javascript">< span>script>
 - <styletypestyletype="text/css">
 - body{
 - font-size:75%;
 - font-family:Verdana,Geneva,Arial,Helvetica,sans-serif;
 - line-height:100%;
 - margin:5px;
 - padding:0px;
 - }
 - #header,#mid,#footer{
 - width:760px;
 - margin:0pxauto;
 - padding:0px;
 - }
 - #header{
 - background:#F4F4F4;
 - height:60px;
 - margin-bottom:5px;
 - }
 - h3,h5{
 - padding-top:25px;
 - color:#708090;
 - text-align:center;
 - margin:0;
 - }
 - #fbox{
 - background:#F1F1F1;
 - width:195px;
 - float:left;
 - }
 - #mbox{
 - background:#DFF7FF;
 - margin:0px5px0px;
 - padding:0px;
 - float:left;
 - width:360px;
 - }
 - #sbox{
 - background:#FFEBCC;
 - width:195px;
 - float:right;
 - }
 - p{
 - margin:0px;
 - padding:10px;
 - text-indent:2em;
 - line-height:130%;
 - }
 - #footer{
 - background:#CDDBED;
 - border-top:solid5px#FFFFFF;
 - text-align:center;
 - height:60px;
 - clear:both;
 - }
 - < span>style>
 - < span>head>
 - <bodyonloadbodyonload="P7_equalCols('fbox','mbox','sbox')">
 - <dividdivid="header"><h3>脚本控制三行三列自适应高度DIV布局< span>h3>< span>div>
 - <dividdivid="mid">
 - <dividdivid="fbox"><p>
 - 亲和力指的并不只是关于盲人和屏幕阅读器。还有许多人虽然不是盲人,
 - 但是有视力障碍-你我变老时就会成为他们的一员。
 - 使网站变得更具亲和力的一个最简单的方法就是允许用户改变文字大小;
 - 拒绝提供这样的选择就剥夺了用户的主导权,很可能使用户无法舒适地阅读。
 - < span>p><p>
 - 亲和力指的并不只是关于盲人和屏幕阅读器。还有许多人虽然不是盲人,
 - 但是有视力障碍-你我变老时就会成为他们的一员。
 - 使网站变得更具亲和力的一个最简单的方法就是允许用户改变文字大小;
 - 拒绝提供这样的选择就剥夺了用户的主导权,很可能使用户无法舒适地阅读。
 - < span>p>< span>div>
 - <dividdivid="mbox"><p>
 - 亲和力指的并不只是关于盲人和屏幕阅读器。还有许多人虽然不是盲人,
 - 但是有视力障碍-你我变老时就会成为他们的一员。
 - 使网站变得更具亲和力的一个最简单的方法就是允许用户改变文字大小;
 - 拒绝提供这样的选择就剥夺了用户的主导权,很可能使用户无法舒适地阅读。
 - < span>p>
 - <p>
 - 如果设计者使用像素为单位指定文字大小,大多数的用户将无法缩放文字,
 - 因为InternetExplorer改变文字大小的方式与别的浏览器不同。
 - Mozilla和Opera可以缩放已经设定像素大小的文字,而Windows下的IE却不能。
 - < span>p>
 - <p>
 - 亲和力指的并不只是关于盲人和屏幕阅读器。还有许多人虽然不是盲人,
 - 但是有视力障碍-你我变老时就会成为他们的一员。
 - 使网站变得更具亲和力的一个最简单的方法就是允许用户改变文字大小;
 - 拒绝提供这样的选择就剥夺了用户的主导权,很可能使用户无法舒适地阅读。
 - < span>p>
 - <p>
 - 如果设计者使用像素为单位指定文字大小,大多数的用户将无法缩放文字,
 - 因为InternetExplorer改变文字大小的方式与别的浏览器不同。Mozilla和Opera可以缩放
 - 已经设定像素大小的文字,而Windows下的IE却不能。
 - < span>p>
 - < span>div><dividdivid="sbox"><p>
 - 亲和力指的并不只是关于盲人和屏幕阅读器。还有许多人虽然不是盲人,
 - 但是有视力障碍-你我变老时就会成为他们的一员。
 - 使网站变得更具亲和力的一个最简单的方法就是允许用户改变文字大小;
 - 拒绝提供这样的选择就剥夺了用户的主导权,很可能使用户无法舒适地阅读。
 - < span>p>< span>div>
 - < span>div>
 - <dividdivid="footer"><h5>制作:Yzci.Com< span>h5>< span>div>
 - < span>body>
 - < span>html>
 
[可先修改部分代码再运行查看效果]#p#
4.采用负的外边界和内补丁相结合
不需要事先知道哪列的高度。
hacks比较多(主要是opera的),但容易使用,推荐:
SourceCodetoRun
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
 - <htmlxmlnshtmlxmlns="http://www.w3.org/1999/xhtml">
 - <head>
 - <metahttp-equivmetahttp-equiv="Content-Type"content="text/html;charset=utf-8"/>
 - <title>Equalheight(DIV+CSS布局中自适应高度的解决方法)< span>title>
 - <styletypestyletype="text/css">
 - body{
 - padding:0;
 - margin:0;
 - font-size:12px;
 - font-family:Arial,Helvetica,sans-serif;
 - line-height:140%;
 - text-align:center;
 - background:#E7DFD3;
 - }
 - #wrap{
 - width:750px;
 - margin:0auto;
 - overflow:hidden;
 - }
 - #header{
 - background:#E8E8E8;
 - }
 - #sideleft{
 - width:580px;
 - float:left;
 - background:#FFF;
 - text-align:left;
 - }
 - #sideright{
 - width:170px;
 - float:left;
 - background:#F0F0F0;
 - text-align:left;
 - }
 - /*easyclearing*/
 - #wrap:after
 - {
 - content:'[DONOTLEAVEITISNOTREAL]';
 - display:block;
 - height:0;
 - clear:both;
 - visibility:hidden;
 - }
 - #wrap
 - {
 - display:inline-block;
 - }
 - /*\*/
 - #wrap
 - {
 - display:block;
 - }
 - /*endeasyclearing*/
 - /*\*/
 - #sideleft,#sideright
 - {
 - padding-bottom:32767px!important;
 - margin-bottom:-32767px!important;
 - }
 - @mediaalland(min-width:0px){
 - #sideleft,#sideright
 - {
 - padding-bottom:0!important;
 - margin-bottom:0!important;
 - }
 - #sideleft:before,#sideright:before
 - {
 - content:'[DONOTLEAVEITISNOTREAL]';
 - display:block;
 - background:inherit;
 - padding-top:32767px!important;
 - margin-bottom:-32767px!important;
 - height:0;
 - }
 - }
 - /**/
 - #footer{
 - background:#E8E8E8;
 - width:100%;
 - float:left;
 - }
 - h1,h2,address,p{
 - margin:0;
 - padding:.8em;
 - }
 - h1,h2{font-size:20px;}
 - < span>style>
 - < span>head>
 - <body>
 - <dividdivid="wrap">
 - <dividdivid="header">
 - <h1>Head< span>h1>
 - < span>div>
 - <dividdivid="sideleft">
 - <h2>sideleft< span>h2>
 - <p>要从固定的、基于像素的设计方法转到弹性的、相对的设计方法并不容易。但是如果恰当利用,
 - 就可以成为增强亲和力和易用性的一个自然选择,同时又无须做出设计上的牺牲。< span>p>
 - <p>像素是计算机屏幕上的不可缩放的点,而一个
 - h3就是一个字大小的方块。由于字体大小的变化,h3
 - 代表用户喜欢的文字大小的相对单位。< span>p>
 - <p>采用印刷式的固定设计方案或许要容易些,因为如果尺寸不变,则考虑的东西就相对较少。
 - 可是如果采用弹性的设计方法,就可以充分利用电脑的显示器和浏览器。< span>p>
 - <p>也许你想你的网站以某种特定的方式显示,但是你的用户想看到的可能不一样。
 - 任何强加于用户的东西都不利于易用性,从而对网站的成功造成损害。< span>p>
 - <p>要从固定的、基于像素的设计方法转到弹性的、相对的设计方法并不容易。但是如果恰当利用,
 - 就可以成为增强亲和力和易用性的一个自然选择,同时又无须做出设计上的牺牲。< span>p>
 - <p>像素是计算机屏幕上的不可缩放的点,而一个
 - h3就是一个字大小的方块。由于字体大小的变化,h3
 - 代表用户喜欢的文字大小的相对单位。< span>p>
 - <p>采用印刷式的固定设计方案或许要容易些,因为如果尺寸不变,则考虑的东西就相对较少。
 - 可是如果采用弹性的设计方法,就可以充分利用电脑的显示器和浏览器。< span>p>
 - <p>也许你想你的网站以某种特定的方式显示,但是你的用户想看到的可能不一样。
 - 任何强加于用户的东西都不利于易用性,从而对网站的成功造成损害。< span>p>
 - < span>div>
 - <dividdivid="sideright">
 - <h2>sideright< span>h2>
 - <p>要从固定的、基于像素的设计方法转到弹性的、相对的设计方法并不容易。但是如果恰当利用,
 - 就可以成为增强亲和力和易用性的一个自然选择,同时又无须做出设计上的牺牲。< span>p>
 - <p>像素是计算机屏幕上的不可缩放的点,而一个
 本文题目:五大常用Div高度自适应的方法 
分享链接:http://wtcwzsj.com/article/cocooog.html
Copyright © 2009-2022 www.wtcwzsj.com 青羊区广皓图文设计工作室(个体工商户) 版权所有 蜀ICP备19037934号