`
zhanchaojiang
  • 浏览: 112973 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

DIV+CSS布局的网页高度不能自适应问题

阅读更多

 

在FF下一个自适应高度的简单做法
加上
height: 100%;
overflow: auto;

自动换行的简单做法
table-layout: fixed;
WORD-BREAK: break-all;
WORD-WRAP: break-word;

下面通过DIV+CSS布局的网页高度不能自适应一个例子,来说明如何解决这个问题

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1- transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http- equiv="Content-Type" c />
<title>DIV高度无法自适应</title>
<style type="text/css">
#all {
  width:240px;
  padding:10px;
  font-size:12px;
  color:#FFF;
  background-color:#CCC;
}
#sub {
  float:left;
  width:230px;
  line-height:20px;
  padding:0 5px;
  background-color:#F90;
}
</style>
</head>

<body>
<div id="all">
<div id="sub">
  外层DIV高度无法自适应。
</div>
</div>
</body>
</html>

1、问题:运行这段代码可以看到,在IE下一切正常,但在FireFox或IE7下,父对象All没有适应子对象Sub的高。
2、解决方法:
例中,XHTML代码:“<div id="all"><div id="sub">外层DIV高度无法自适应。 </div></div>”,其CSS为:“#all {width:240px;...} #sub {float:left;...}”。

由于子对象Sub设置了浮动(float:left),而父对象All没有设置浮动,所以才会出现这样的问题。
(1)将父对象也设置浮动。即把“float:left;”加到“#all {...}”中。
(2)将子对象的浮动属性去掉。即把“float:left;”从“#sub {...}”中删除。
(3)在“<div id="sub">外层DIV高度无法自适应。</div>”的后面加一个空的块级对象,并设置 “clear:both;”取消浮动。如“<div style="clear:both"></div>” 。但此方法在IE中仅限于有两个或两个以上的浮动子对象时才生效,只有一个浮动子对象,用此方法底下会多出10px的高度。

由方法(2)又想到了一个新问题,如果类似论坛中,一个话题分左右两边的布局,而且左右分别都有固定的宽度时就必须要用到浮动属性。如:
<div id="all">
<div class="sub"><div class="left">左边是用户头像</div><div class="right">右边是话题内容</div></div>
........
</div>

这种情况下方法(2)和方法(3)就不适用了。因为方法(2)是将子对象的浮动属性去掉,而去掉浮动属性就不可能实现;方法(3)仅适用于有多个浮 动对象,但如果恰巧只有1条记录呢?除非下面不在乎那10px。此时我向最适用的就是方法(1)了。

解决方法小结:
1、父元素也浮动 (没有指定宽度的float应当伸缩包装到浮动内容的宽度)
2、clear属性
3、为父层设置 {overflow:auto; _height:1%;} 前者针对火狐IE7(overflow:auto 或hidden) 后者针对IE6(_height:1% 或he\ight:1%)
* html .clear{height:1%}
4、父元素设置高度宽度
5、针对 火狐
#d1:after
{
content:".";
height:0;
visibility:hidden;
display:block;
clear:both;
}

其他小技巧:

html也要设置100%     ,对后面的div可能会有影响
html,body{
height:100%;
margin:0;
}

设置 div为绝对定位.
style="width:500px; height:100%!important; background:#003333; position:absolute;"
./#/需要自动高度的地方
{
min-height:500px;
height:auto;/*IE7*/
_height:500px;/*IE6*/
display:table;/*firefox,opera*/}

 

分享到:
评论

相关推荐

    简单设计DIV+CSS模板

    在Div+CSS布局中,图像不仅可以作为内容的一部分,还可以作为背景图,通过CSS的background-image属性进行设置,实现背景平铺、裁剪、定位等效果。 学习Div+CSS,首先要熟悉HTML的基本结构和Div元素的用法,然后掌握...

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

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

    Div+CSS 布局大全.pdf

    文档通过提供CSS布局实例,一步步地引导读者从确定布局开始,到定义body样式和主要div,最终实现100%自适应高度的布局。这包括了不用表格实现的菜单布局,无论是纵向还是横向。 ### 常见错误和校验 文档还指出了...

    DIV+CSS布局练习

    这个压缩包文件"DIV+CSS布局练习"显然旨在帮助初学者通过实践掌握这一基础技能。以下是关于`DIV+CSS`布局的一些详细知识点: 1. **DIV元素**:`&lt;div&gt;`(division)是HTML中的一个通用容器元素,用于组织页面内容。...

    div+css高度自适应

    通过上述讲解和示例,我们可以看出利用`div+css`实现高度自适应并非难事,关键在于合理运用CSS中的各种布局特性。在实际开发过程中,开发者还需要结合项目的具体需求和目标用户群体的特点,选择最适合的技术方案。...

    Div+CSS网页样式与布局从入门到精通 实例

    2. **Div+CSS布局**:在网页布局中,Div是容器,CSS负责样式和定位。常见的布局模式有流式布局、固定布局、响应式布局等。流式布局让元素按顺序排列;固定布局适用于屏幕尺寸固定的设备,元素的位置和大小固定;响应...

    网页设计div+CSS布局大全

    网页设计作为IT行业中重要的领域之一,其中的div+CSS布局技术是前端开发的基础,也是每个网站开发者必须掌握的核心技能。div元素和CSS样式表共同构成了现代网页设计的基础框架,通过合理使用div对页面进行布局,再...

    DIV+CSS网页布局商业案例精粹-配书源代码

    《DIV+CSS网页布局商业案例精粹》是一本专注于网页设计和开发的专业书籍,其配书源代码提供了丰富的实例,让读者能够深入理解和实践DIV+CSS技术。在网页设计领域,DIV(Division)和CSS(Cascading Style Sheets)是...

    DIVCSS布局大全---12天学会DIV+CSS教程

    12天学会DIV+CSS从理论到实践的教程,强烈推介。 第一天:选择什么样的DOCTYPE 第二天:什么是名字空间 第三天:定义语言编码 ...第十天:自适应高度 十一天:不用表格的菜单 十二天:校验及常见的错误

    适合初学者的39个div+css网页布局例子

    8. **Flexbox布局**:现代CSS布局模型,能够轻松处理各种复杂的弹性布局,如居中对齐、自适应高度等。 9. **Grid布局**:CSS Grid提供二维布局,可以方便地创建复杂的、响应式的网格系统。 通过实践这些例子,初学...

    div+css布局资料.zip

    《深入理解Div+CSS布局:构建高效网页设计》 在网页设计领域,Div+CSS布局是一种广泛应用的技术,它能够帮助开发者实现清晰、灵活且高效的页面布局。本资料将全面解析Div+CSS布局的核心概念和实战技巧,旨在提升...

    div+CSS购物网站模板

    5. **易用性和可访问性**:良好的CSS布局和样式设计能够提高网站的易用性和可访问性,例如通过清晰的色彩对比、合理的字体大小和间距,以及无障碍设计(如ARIA属性)来满足不同用户的需求。 6. **SEO优化**:通过...

    div+css布局大全..rar

    这个RAR压缩包包含了一份名为“DIVCSS布局大全.pdf”的文档,旨在全面介绍如何利用HTML中的div元素和CSS(层叠样式表)进行高效、灵活的网页布局设计。下面将详细阐述div+css布局的核心知识点。 1. **div元素**:在...

    外国个性的DIV+CSS页面布局实例98个

    【描述】中的“国外的div页面布局”指的是这些实例采用了国际上流行的网页设计趋势,可能包括响应式设计、自适应布局、栅格系统等。"个性"一词表明每个布局都有其独特的设计元素和创意,可能涉及非传统布局、创新的...

    《Div+CSS布局大全》.zip

    8. **浮动与清除**:在早期的Div+CSS布局中,浮动(float)常用于创建多列布局,但可能导致父元素高度塌陷的问题。因此,理解和使用clear属性来清除浮动是必要的。 9. **响应式设计**:随着移动设备的普及,响应式...

    Div+CSS布局大全

    综上所述,《Div+CSS布局大全》将带领读者全面掌握网页布局技术,无论你是初学者还是有一定经验的开发者,都能从中受益匪浅,提升网页设计和开发的技能。通过学习和实践,你可以创建出更具视觉吸引力和用户体验的...

    div+css 网页布局教程+例题...

    `div+css`是一种常见的网页布局技术,广泛应用于现代网页开发中。本教程旨在深入解析`div`与`css`如何协同工作,构建出美观且响应式的网页布局。 `div`(division)在HTML中是一个通用的容器元素,用于组织和分隔...

    div+css布局三行三列中间自适应

    div+css布局 三行三列 中间自适应

    div+csspdf版

    `DIV+CSS布局大全.pdf`可能是一本全面介绍如何使用Div和CSS进行网页布局的教程,涵盖了各种布局模式,如流式布局、网格布局、响应式布局等。 1. **流式布局**:流式布局适合单栏布局,随着浏览器窗口大小的变化,...

    Div+CSS 布局大全.zip

    6. **Flexbox弹性盒布局**:虽然不是Div+CSS的原始概念,但Flexbox是现代CSS布局的重要组成部分,能轻松处理一维布局(行或列)问题,如自适应内容、对齐和顺序调整。 7. **Grid布局**:CSS Grid提供了二维布局能力...

Global site tag (gtag.js) - Google Analytics