让内层将外层撑开

 在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> 

 

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索属性
, 滚动
, overflow
, 高度
, js溢出滚动
, 内层
外层
内层div撑开外层div、内层vlan 外层vlan、外层vlan和内层vlan、内层包封和外层包封、内层div超出外层,以便于您获取更多的相关知识。

时间: 2024-08-03 16:08:05

让内层将外层撑开的相关文章

CSS中BFC的概念及外层div包裹内层div处理方法

 对于div和css的用法,自己认为还是比较熟练的.但是对于一些概念性的东西,知之甚少,比如,今天看到有个BFC的概念,不知道CSS的BFC是啥意思.经过查阅资料,才知道这个概念.其实,虽然我们并不知道BFC是啥意思,因为在项目中,没有人会说什么BFC.但是我们在项目中经常用到BFC,每一个css布局基本上都会用到.为了消灭这一盲点,今天说一下什么是BFC吧.   BFC的概念   BFC全称Block Formatting Context ,直译"块级格式化上下文",也有译作&quo

java内部类的总结

内部类总结: 1内部类的嵌套可以理解成类的链关系,在构造一个内部类(非static)的实例的时候,会将直接外层类的实例作为参数传进构造函数,而外层类的实例也是用其外层类的实例构造,所以是一种链状关系,内部的类可以使用所有外层的类的实例,而外层的类不能使用内层的类, 应用a.this(最外层类实例) ,a.b.c.this(链中某个外层的实例). class TheOuter{ class kk { class gg { int tt = 100; } } class aa { class bb

心得共享:Oracle经验技巧集锦

oracle|技巧|心得 1.删除表空间 DROP TABLESPACE TableSpaceName [INCLUDING CONTENTS [AND DATAFILES]] 2.删除用户 DROP USER User_Name CASCADE 3.删除表的注意事项 在删除一个表中的全部数据时,须使用TRUNCATE TABLE 表名;因为用DROP TABLE,DELETE * FROM 表名时,TABLESPACE表空间该表的占用空间并未释放,反复几次DROP,DELETE操作后,该TAB

Oracle经验技巧集

oracle|技巧  Oracle经验技巧集1.删除表空间    DROP TABLESPACE TableSpaceName [INCLUDING CONTENTS [AND DATAFILES]]2.删除用户    DROP USER User_Name CASCADE3.删除表的注意事项    在删除一个表中的全部数据时,须使用TRUNCATE TABLE 表名;因为用DROP TABLE,DELETE * FROM 表名时,TABLESPACE表空间该表的占用空间并未释放,反复几次DRO

汇编教程:控制转移(3)

3.关于实例四的说明 程序中部分片段的背景和实现方法在前面的实例中做过介绍,下面主要就如何实现任务内特权级变换做些说明: (1)通过段间返回指令实现特权级变换 实例在两处使用段间返回指令实现任务内的特权级变换.一处是在0级的过渡代码段中用段间RET指令从特权级0变换到特权级3的演示代码段.该处RET指令并不对应CALL指令.实例从实模式切换到保护模式后CPL=0.为了演示如何通过调用门调用内层程序,要设法使CPL>0.为此,实例先建立一个已发生的从外层到内层变换的环境,即按上图所示在当前堆栈(0

汇编教程:控制转移(2)

2.关于实例三的说明 有些步骤的实现方法已在前面的实例中做过介绍,下面就任务内无特权级变换的转移和使用局部描述符LDT等作些说明: (1)实模式下初始化LDT 演示任务使用了局部描述符表LDT,本实例中该LDT在实模式下初始化(当然,也可以在使用LDT前的保护模式初始化).为了简便,LDT中各描述符的界限和属性值在定义时预置,利用一个子程序设置各段的段基地址.为方便起见,在定义时把各段的段值安排在相应描述符的段基地址低16位字段中.由于实例中各段在实模式下定位(这是因为程序是从实模式下启动执行的

布线知识:电缆束丝、绞线产品的质量缺陷和预防

束线.绞线的不良品.废品,主要问题有过扭.内层或外层单线断裂.缺股.单线或绞线表面擦伤.单线背股.单线起皮.斑疤.脆断.拱起.有夹杂物.线径超差或掺错.绞合方向错.蛇形.绞合节距大.长度不合格.绞合松股.排线乱和压伤.刮伤.撞伤.电线电缆导电线芯直流电阻不合格等. 1.过扭 过扭是指绞合过程中,扭绞过度呈麻花形现象. 产生的原因:一是绞线在牵引轮上绕的圈数不够,一般少于4圈,摩擦力过小而打滑,造成扭绞过度.二是收线张力松或收线盘不转,而转体仍在旋转,而造成扭绞过度. 排除方法:如果外层单线已经剧

浅谈查询优化器中的JOIN算法

查询优化器都是支持JOIN操作的,而SQL Server 中主要有以下三类JOIN算法:Nested Loop.Sort-Merge以及Hash Join.尽管每种算法都并不是很复杂,但考虑到性能优化,在产品级的优化器实现时往往使用的是改进过的变种算法.譬如SQL Server 支持block nested loops.index nexted loops.sort-merge.hash join以及hash team.我们在这里只对上述三种基本算法的原型做一个简单的介绍. [假设]有两张表R和

SQL Server三大算法的I/O成本

1. Nested Loop Join(嵌套循环联结) 算法: 其思路相当的简单和直接:对于关系R的每个元组 r 将其与关系S的每个元组 s 在JOIN条件的字段上直接比较并筛选出符合条件的元组.写成伪代码就是: 代价: 被联结的表所处内层或外层的顺序对磁盘I/O开销有着非常重要的影响.而CPU开销相对来说影响较小,主要是元组读入内存以后(in-memory)的开销,是 O (n * m) 对于I/O开销,根据 page-at-a-time 的前提条件,I/O cost = M + M * N,