`
agevs
  • 浏览: 70254 次
  • 来自: 北京
博客专栏
924aba1e-229a-352e-b6d4-f15f3159a438
各种Web前端技巧经验分享...
浏览量:0
文章分类
社区版块
存档分类
最新评论

三种Div高度自适应的方法

阅读更多

让DIV高度自适应,这是在网页设计中常遇到的问题,为了给大家提供参考,这里提供3种div高度自适应的方法:一是JS法、二是背景图填充法、三是“补丁大法”(比较变态)。

1、JS法

代码如下。原理:用JS判断左右DIV的高度,若不一致则设为一致。前端资源分享

01 <div style="width:500px;background:#cccccc;height:0px;">
02 <div id="right" style="width:380%;height:100%;float:left;border:1px solid #265492;">left</div>
03 <div id="left" style="width:60%;;float:left;background:#376037;">
04 right<br>
05 right<br>
06 right<br>
07 right<br>
08 right<br>
09 right<br>
10 right<br>
11 </div>
12 </div>
13 <script type="text/javascript">
14 <!--
15 var a=document.getElementById("left");
16 var b=document.getElementById("right");
17 if(a.clientHeight<b.clientHeight){
18   a.style.height=b.clientHeight+"px";
19 }else{
20   b.style.height=a.clientHeight+"px";
21 }
22 -->
23 </script>

2、背景图填充法

这是大站用得比较多的方法,如163等,研究了一下,结果如下。

这里是给父DIV设置了背景图片填充,所有DIV都不设高度。前端资源分享

HTML代码:

1 <div class="endArea">
2 <div class="col1">第一列 左边正文</div>
3 <div class="col3">第二列 右边<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />字字</div>
4 <div class="col2">第三列 中间图片</div>
5 <div class="clear"></div>
6 </div>

CSS代码:

1 .endArea{margin:0 autowidth:960pxbackground:url(http://cimg2.163.com/cnews/img07/end_n_bg1.gif); clear:both;}
2 .endArea .col1{float:leftwidth:573px; }
3 .endArea .col2{float:leftwidth:25px; }
4 .endArea .col3{float:rightwidth:362px;}

3、补丁大法

就是“隐藏容器溢出”和“正内补丁”和“负外补丁”结合的方法。比较另类的方法,在IE6、IE7、FF3下测试通过。要点:

1、父DIV设置 overflow:hidden;框架资源分享

2、对要高度自适应的DIV设置 padding-bottom:100000px;margin-bottom:-100000px; 两列或多列同理。

代码如下:

01 <html>
02 <head>
03 <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
04 <title>Div高度自适应</title>
05 <style type="text/css">
06 #wrap{overflow:hidden;}
07 #sidebar_left,#sidebar_right{padding-bottom:100000px;margin-bottom:-100000px;}
08 </style>
09 </head>
10 <body>
11 <div id="wrap" style="width:300px; background:#FFFF00;">
12 <div id="sidebar_left" style="float:left;width:100px; background:#777;">居左</div>
13 <div id="sidebar_mid" style="float:left;width:100px; background:#999;">
14 居中<br />
15 居中<br />
16 居中<br />
17 居中<br />
18 居中<br />
19 居中<br />
20 居中<br />
21 </div><div id="sidebar_right" style="float:right;width:100px; background:#888;">居右</div></div>
22 </body>
23 </html>

以上三种方法都可以解决Div高度自适应,请根据你自己的需要,三选一。

分享到:
评论

相关推荐

    子div含float,父div高度自适应的div+css布局写法

    div+css高度自适应网页布局,子div含float,父div高度自适应,已经通过测试的浏览器:ie6、ie7、ie8、火狐、Chrome。 代码来源: http://www.positioniseverything.net/articles/onetruelayout/equalheight

    使用JS+CSS实现DIV层自适应高度和宽度

    这两种方法都可以获取浏览器窗口的高度,但是它们的使用场景不同。如果浏览器支持`window.innerHeight`,那么我们就可以使用它来获取浏览器窗口的高度。否则,我们就需要使用`document.documentElement.clientHeight...

    div+css高度自适应

    #### 三、高度自适应原理 要实现`div`的高度自适应,主要涉及到以下几个CSS属性: 1. **`height: auto;`**:这个属性可以让`div`的高度根据其内容自动调整。当设置为`auto`时,高度会依据内部元素的高度来确定。 ...

    div宽度自适应布局(左边自适应)

    总结起来,"div宽度自适应布局(左边自适应)"是一种结合了`div`元素、CSS样式以及响应式设计技术的布局方法,它确保了网页在不同屏幕尺寸下的可用性和可读性。通过理解并熟练运用这些技术,开发者可以构建出适应性强...

    css+div自适应窗口宽度

    这里展示了另一种自适应布局的方式,通过浮动元素和固定宽度来分配页面空间。 最后的代码示例中,`.wrap_l`, `.wrap_m`, 和 `.wrap_r`三个类分别代表左、中、右三栏布局。`.wrap_l`和`.wrap_r`分别设置为固定宽度并...

    JS实现DIV高度自适应窗口示例

    标题中提到的是“JS实现DIV高度自适应窗口示例”,这表示我们要探讨如何利用JavaScript(简称JS)编写代码,使得网页中的一个特定的 DIV(即文档对象模型中的一个容器元素)能够根据浏览器窗口大小的变化而动态调整...

    DIV 高度 自适应

    这篇博客《Div高度兼容性问题》(原链接:https://peacherdiy.iteye.com/blog/803569)可能探讨了如何处理`&lt;div&gt;`高度自适应时遇到的兼容性问题,这些问题通常涉及到不同的浏览器对CSS样式解析的差异,尤其是在旧...

    JS控制DIV自适应高度

    然而,这种方法不适用于所有情况,特别是当需要精确控制div高度时。 2. **JS监听内容变化**:可以使用JavaScript的事件监听器,如`MutationObserver`,来检测div内容的变化。一旦内容发生变化,就重新计算div的高度...

    div宽度自适应布局(右边自适应)

    在网页设计中,"div宽度自适应布局(右边自适应)"是一种常见的网页布局技术,它主要涉及CSS(层叠样式表)的运用,使网页内容能够根据不同的屏幕尺寸和设备进行适配,尤其是针对响应式设计。在这个布局模式下,通常...

    子元素div高度不确定时父div高度如何自适应

    此容器同样设置"clear:both"和"overflow:hidden",从而达到清除浮动并使父元素div高度自适应的效果。这种方法同样需要添加额外的HTML标签,同样存在不符合代码优化原则的问题。 第三种方法是使用HTML中的"br"标签,...

    怎样让一个div高度自适应浏览器高度

    在网页设计中,让一个`div`元素的高度自适应浏览器高度是一个常见的需求,尤其是在创建全屏背景、响应式布局或者动态内容填充时。这个需求看似简单,但有时却容易让人困惑,因为仅设置`div`的高度为`100%`并不总是...

    div自适应高度

    div+CSS自适应高度,需要的朋友请下载

    Iframe 高度自适应,js控制Iframe 高度自适应.docx

    方法三:使用 JavaScript 控制 iframe 高度自适应(未验证) 这种方法使用 JavaScript 语言来控制 iframe 的高度。首先,需要在 iframe 的 HTML 代码中添加一个 div 元素,并将其设置为 `display: block;`。然后,...

    div模拟textarea,解决高度自适应

    解决textarea文字太多无法高度自适应问题,使用div模拟textarea

    Iframe 高度自适应浏览器高度

    在网页开发中,Iframe...以上就是关于“Iframe高度自适应浏览器高度”的主要知识点,实践中可能需要结合具体场景和需求选择合适的方法。在实际应用中,还要考虑到兼容性问题,确保在不同浏览器和设备上都能正常工作。

    2列左窄右宽高度自适应且未知高度底部平齐CSS模板

    "2列左窄右宽高度自适应且未知高度底部平齐CSS模板"是一种常见的网页布局方式,这种布局通常用于创建内容丰富的网站,其中左侧栏提供导航或侧边信息,右侧栏展示主要内容。下面将详细介绍这种布局的实现原理和相关...

    关于div自适应高度/左右高度自适应一致的js代码

    通过上述两种方法的结合使用,我们就可以解决在网页布局中常见的左右两侧DIV自适应高度以及DIV高度自适应屏幕的布局问题。这不仅有助于保持页面布局的整洁和一致性,而且能够提升网页在不同设备和屏幕尺寸上的适应性...

    div ul li 嵌套后如何解决增加多个li后DIV高度自适应问题

    总的来说,通过合理设置 `li`、`ul` 和 `div` 的高度属性,以及使用 `clear:both` 解决浮动问题,我们可以实现 `div` 高度自适应 `li` 的功能。当在 `ul` 中添加更多 `li` 时,这个结构会自动扩展其高度以适应新的...

    DIV进阶效果集(圆角div、div自适应宽度、背景色渐变等)

    本篇文章将深入探讨`div`的一些进阶效果,包括圆角`div`、自适应宽度、背景色渐变、多行自适应高度以及固定高度与内容自动变高等CSS技术。 首先,让我们关注圆角`div`。CSS3引入了`border-radius`属性,使得我们...

Global site tag (gtag.js) - Google Analytics