`
xinklabi
  • 浏览: 1591812 次
  • 性别: Icon_minigender_1
  • 来自: 吉林
文章分类
社区版块
存档分类
最新评论

让Div内层将DIV外层撑开(转)

 
阅读更多

遇到过的问题:内层div中有button,且div是浮动的,外层div设置的高度是auto(还是没设置?),最外围的div.body中既没有float=left|right,又没有overflow-y控制(好像加上这两个之一也会解决接下来描述的问题),那么外层div之后的文字就会挤进来与button并列了。解决方法是设置外层的div的height,当然要大于内层div的高度的。

 

在CSS排版中,如果一个层中的层使用了float浮动的话,那么就有可能会出现外层没有被内层撑开的情况,如以下代码所示:

  1. <div style="width:300px; background-color:Red;">
  2. 测试
  3. <div style="width:100px; height:100px; background-color:Green; float:left; margin:10px;">
  4. 左边
  5. </div>
  6. </div>

如果要解决这个问题,可以在外层的CSS中加上“overflow:auto”。

在CSS中overflow属于用来说明当内容溢出元素框时要怎么处理,从上图中可以看出,内层已经溢出了外层,所以需要使用overflow属性来指如何显示内层中。overflow属性的默认值是visible,也就是不管它是怎么溢出的,溢出的内容不裁剪,任其显示在元素框外面。

除了visible值之后,overflow属性还有以下几个值:

  • hidden:内容会被裁剪,溢出的部分看不到。
  • scroll:使用滚动条来查看溢出的部分,始终显示滚动条。
  • auto:如果内容需要裁剪,则等于scroll,显示滚动条;否则不显示滚动条。
  • inherit:从父元素中继承overflow属性值。不过以前的IE版本都不支持该属性值,包括IE8,IE9还没试过。

由于本例中,外层的CSS没有指定overflow属性,所以默认为visible,也就是不管它怎么个溢出法,所以,只要将外层的CSS中加上overflow:auto,如以下代码所示:

  1. <div style="width:300px; background-color:Red; overflow:auto;">
  2. 外层
  3. <div style="width:100px; height:100px; background-color:Green; float:left; margin:10px;">
  4. 内层
  5. </div>
  6. </div>

也许有人会说,为什么设置overflow:auto之后,外层就包含了内层,而不是将溢出的那部分使用滚动条显示出来呢?这是因为没有指定外层的高度,所以它就自适应了。如果指定了外层的高度,而内层的高度又大于外层的高度,那么就会显示滚动条了。如以下代码所示。

  1. <div style="width:300px; background-color:Red; overflow:auto; height:80px;">
  2. 外层
  3. <div style="width:100px; height:100px; background-color:Green; float:left; margin:10px;">
  4. 内层
  5. </div>
  6. </div>
分享到:
评论

相关推荐

    外部DIV如何强制宽度不被内部DIV撑开

    本文将详细探讨如何通过CSS属性实现这一目标,确保外部`&lt;div&gt;`的宽度不会被内部`&lt;div&gt;`撑开。 ### CSS中的`overflow`属性 在HTML文档中,当内部元素的尺寸超过其父级元素的尺寸时,默认情况下,父级元素会自动调整...

    html div没有被撑开的原因及解决办法

    通过使用`lj_设置子dom的height 100%即可.png`、`必须清除子dom的float才能撑开父dom.txt`、`absolute存在的时候floate会失效.txt`、`css - div层为什么没有被自动撑开-.url`这些资源,你可以更深入地学习和实践这些...

    里面的div怎么撑开外面的div让高度自适应

    当涉及到容器(外层 `div`)和内容元素(内层 `div`)时,有时我们需要实现一个动态高度的效果,即容器的高度能够根据其内容自动调整。标题和描述中提到的问题正是关于这个需求:如何让内部的 `div` 撑开外部的 `div...

    DIV遮罩层 div div

    ### DIV遮罩层:一种简单高效的工作区域遮罩方法 在网页设计与开发领域,DIV遮罩层是一种常用的UI技术,用于暂时性地遮挡页面的其他部分,从而聚焦用户的注意力于特定区域或操作上。这种方法尤其适用于弹出窗口、...

    table转div工具

    "table转div工具"就是为了帮助开发者将原有的基于table的布局转换成更现代、更优化的div+CSS布局。 首先,我们需要理解table和div之间的主要差异。Table元素主要用于显示结构化数据,如表格或矩阵。它的布局是固定...

    div层的使用,div层的基本使用

    &lt;div&gt;这里是div内的内容&lt;/div&gt; ``` 二、`div`层的属性 `div`层本身没有特定的属性,但可以通过CSS来设置各种属性,如宽度、高度、边距、填充等。例如: ```html &lt;div style="width: 200px; height: 100px; ...

    JS+DIV以层代替弹出窗口的例子,弹出DIV层窗口

    JS+DIV以层代替弹出窗口的例子,弹出DIV层窗口 JS+DIV以层代替弹出窗口的例子,弹出DIV层窗口 JS+DIV以层代替弹出窗口的例子,弹出DIV层窗口 JS+DIV以层代替弹出窗口的例子,弹出DIV层窗口 JS+DIV以层代替弹出窗口的例子...

    div内容转成图片格式

    这个任务的标题"div内容转成图片格式"以及描述"可以将div里面的内容转换为图片,并且保存下载到本地"都指向了一个基于HTML5的解决方案。标签"div 图片 转换 canvas html5"进一步明确了我们是通过`canvas`来实现这一...

    Table转div+css工具

    在网页设计领域,布局方式的发展经历了从表格(Table)到层(Div)+CSS的转变。"Table转div+css工具"就是专为此目的而设计的一款实用软件,它能够帮助开发者将原有的基于表格的HTML代码转换成使用Div和CSS进行布局的...

    漂亮div层 精美div层

    下面我们将深入探讨Div层的重要性和使用技巧,以及如何通过CSS(Cascading Style Sheets)来实现这样的效果。 1. **Div层的基本概念**: Div是一个HTML(HyperText Markup Language)标签,用于创建一个内容区域,...

    table布局网页转换为div+CSS布局的转换软件

    2. **创建div结构**:然后,它会将这些表格元素转换为相应的`div`元素,并根据表格的结构来组织这些`div`。 3. **应用CSS样式**:接着,软件会给这些`div`添加适当的样式,如宽度、高度、边距等,以重现原有的表格...

    table转div、table转css

    标题"table转div、table转css"所指的就是这一过程,即利用特定工具将原本用表格布局的内容转化为更灵活的div+CSS布局。这种转换可以提高页面加载速度,提升用户体验,并更好地适应不同设备的显示需求。 描述中提到...

    JS弹DIVJS弹DIV,遮罩层JS弹DIV,遮罩层

    JS弹DIV,遮罩层JS弹DIV,遮罩层JS弹DIV,遮罩层

    闪烁的div、高亮的div层

    在网页设计和开发中,"闪烁的div"和"高亮的div层"通常涉及到动态效果和用户交互的实现。这些技术主要应用于吸引用户的注意力,提供反馈,或者创建引人入胜的用户体验。下面我们将详细探讨这个主题,包括相关概念、...

    漂亮遮罩层css+div

    漂亮遮罩层css+div 漂亮遮罩层css+div 漂亮遮罩层css+div 漂亮遮罩层css+div 漂亮遮罩层css+div 漂亮遮罩层css+div 漂亮遮罩层css+div 漂亮遮罩层css+div 漂亮遮罩层css+div 漂亮遮罩层css+div 漂亮遮罩层css+div ...

    DIV弹出层+定位

    在这个“DIV弹出层+定位”的例子中,我们关注的是如何利用`DIV`来创建一个可滑动的弹出层,并且使其在页面上保持固定的位置。这种功能通常用于显示提示信息、模态对话框或者加载额外的内容。 首先,`DIV弹出层`是指...

    将DIV中的内容转成PDF

    将DIV中的内容转成PDF,有时候会遇到要把网页内容转换成pdf文件,这能很好的帮助大家解决这个问题

    DIV锁层,遮罩层

    锁层通常指的是将一个`&lt;div&gt;`设置为固定位置,使其在页面滚动时保持在视口的特定位置,比如顶部导航栏。这种技术可以通过设置CSS的`position`属性为`fixed`来实现。当用户滚动页面时,这个锁定的层会始终可见,增强...

    弹出div拖动层

    在网页设计和开发中,创建一个可拖动的弹出div层是非常常见且实用的技术,尤其是在构建用户交互界面时。标题“弹出div拖动层”所指的就是这样一个功能,它允许用户通过鼠标来移动一个浮层div,这种功能常见于对话框...

    div弹出层 定位问题的 处理

    下面我们将详细探讨`div`弹出层定位问题的处理方法。 首先,让我们理解`div`的基本概念。`div`是HTML中的一个块级元素,它本身没有特定的样式,但可以作为容器来容纳其他HTML元素,并通过CSS进行样式定义。在实现弹...

Global site tag (gtag.js) - Google Analytics