Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html 将div定位在中心,但具有动态高度? 我想把一个div放在页面中间。我在互联网上找到的解决方案假设div是静态大小的。我需要div在中间,如果内容是正确的大小,但是如果它超过div的大小,它应该变得更大,并且最终允许滚动而不改变宽度。_Html_Css - Fatal编程技术网

Html 将div定位在中心,但具有动态高度? 我想把一个div放在页面中间。我在互联网上找到的解决方案假设div是静态大小的。我需要div在中间,如果内容是正确的大小,但是如果它超过div的大小,它应该变得更大,并且最终允许滚动而不改变宽度。

Html 将div定位在中心,但具有动态高度? 我想把一个div放在页面中间。我在互联网上找到的解决方案假设div是静态大小的。我需要div在中间,如果内容是正确的大小,但是如果它超过div的大小,它应该变得更大,并且最终允许滚动而不改变宽度。,html,css,Html,Css,PS:我不需要IE的支持,只需要XULRunner(Firefox)和基于Webkit的浏览器 编辑:整个页面必须是可滚动的,而不仅仅是内容分区。我需要保留所有换行符。 给你: <style> .container{ border: 1px solid Red; width: 300px; height: 500px; display:table-cell; vertical-align:m

PS:我不需要IE的支持,只需要XULRunner(Firefox)和基于Webkit的浏览器

编辑:整个页面必须是可滚动的,而不仅仅是内容分区。我需要保留所有换行符。

给你:

<style>
    .container{
        border: 1px solid Red; 
        width: 300px; 
        height: 500px;
        display:table-cell;
        vertical-align:middle;
    }
    .content{
        border: 1px solid Blue; 
        width: 100px; 
        height:auto;
        min-height: 100px;
        max-height:200px;
        margin-left:auto;
        margin-right:auto;
        overflow:auto;
    }
</style>
<div class="container">
    <div class="content">
        add content here
    </div>
</div>

.集装箱{
边框:1px纯红;
宽度:300px;
高度:500px;
显示:表格单元格;
垂直对齐:中间对齐;
}
.内容{
边框:1px纯蓝色;
宽度:100px;
高度:自动;
最小高度:100px;
最大高度:200px;
左边距:自动;
右边距:自动;
溢出:自动;
}
在此处添加内容
它看起来是什么样子:


如果不需要IE支持,请使用垂直对齐属性:

  • 使主体显示为表格
  • 将外部div设置为表格单元格,并将其垂直对齐设置为“中间”
  • 比如:

    <style type="text/css" media="screen">
      html{
        height: 100%;
      }
      body {
        width: 100%;
        height: 100%;
        display: table;
        margin: 0;
      }
    
      #div_1 {
        display: table-cell;
        text-align: center;
        vertical-align: middle;
        line-height: 100%;
      }
    
      #div_2 {
        width: 200px;
        padding: 10px;
        border: 1px solid black;
        margin: auto;
      }
    
    </style>
    
    <body>
      <div id="div_1">
        <div id="div_2">
          Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
        </div>
      </div>
    </body>
    
    
    html{
    身高:100%;
    }
    身体{
    宽度:100%;
    身高:100%;
    显示:表格;
    保证金:0;
    }
    #第一分区{
    显示:表格单元格;
    文本对齐:居中;
    垂直对齐:中间对齐;
    线高:100%;
    }
    #分区2{
    宽度:200px;
    填充:10px;
    边框:1px纯黑;
    保证金:自动;
    }
    知识产权是一种权利,是一种精英的权利,是劳动和财富的暂时性权利。但是,在最低限度上,我们需要一个实验室来进行日常工作。两人或两人在一个无教区的房间里互相指责。除偶尔因疏忽而死亡外,不得因疏忽而导致动物死亡。
    
    编辑:一个更跨浏览器的实现,您可以使主体如下所示:

    <body>
      <table>
        <tr><td>
          <div>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</div>
        </td></tr>
      </table>
    </body>
    
    
    知识产权是一种权利,是一种精英的权利,是劳动和财富的暂时性权利。但是,在最低限度上,我们需要一个实验室来进行日常工作。两人或两人在一个无教区的房间里互相指责。除偶尔因疏忽而死亡外,不得因疏忽而导致动物死亡。
    

    一次显示:table与IE7和early不兼容(看起来应该可以与ie8兼容,但我还是做不到)

    可能重复[position div center horizontal and vertical]()上述问题的公认答案应该可以帮助您。@Stephen我认为这不是重复。@alin不,不完全是,但是这个解决方案是可行的。+1,显示的有趣用法。这在所有的浏览器中都会发生吗?@Stephen No。只有IE8和现代浏览器。这种解决方案似乎不会保留换行符。而且整个页面必须是可滚动的。当我们添加内容时,DIV必须扩展。