#my-div {
height: 100vh;
@Lamar 您应该使用 * { box-sizing: border-box; } 来防止这种情况发生。
值得检查 caniuse 浏览器对视口单元的支持:caniuse.com/#feat=viewport-units
huntsbot.com洞察每一个产品背后的需求与收益,从而捕获灵感
在这种情况下,您可以使用 vh,它相对于视口 1% 的高度…
这意味着如果您想遮住高度,只需使用 100vh。
看看我在这里为你画的下图:
https://i.stack.imgur.com/g0kUu.jpg
试试我为你创建的片段如下:
.left { 高度:100vh;宽度:50%;背景颜色:灰色;向左飘浮; } .right { 高度:100vh;宽度:50%;背景颜色:红色;浮动:对; }
给 100vh 为页面添加了一个垂直滚动,所以跟着这个但没有用。 stackoverflow.com/questions/44645465/…。有什么办法可以避免垂直滚动并让 div 在没有任何内容的情况下触摸底部?
@DILEEPTHOMAS 寻找现有的 paddings/margins
@Legends 在根文件中我尝试给出 * {margin: 0, padding: 0} 但没有奏效
@DILEEPTHOMAS 看看 Alireza 提供的这个例子,它也有一个滚动条,因为 body 元素有一个边距。如果删除边距,滚动条就消失了。它可能有不同的原因,但我会先检查这个原因。
HuntsBot周刊–不定时分享成功产品案例,学习他们如何成功建立自己的副业–huntsbot.com
与 flex model 解决方案相比,所有其他解决方案(包括投票最多的带有 vh 的解决方案)都不是最佳解决方案。
随着 CSS flex model 的出现,解决 100% 高度问题变得非常非常容易:在父元素上使用 height: 100%; display: flex,在子元素上使用 flex: 1。它们会自动占用容器中的所有可用空间。
请注意标记和 CSS 是多么简单。没有桌子黑客或任何东西。
弹性模型是 supported by all major browsers 以及 IE11+。
html, 身体 { 高度:100%; } 身体 { 显示:弹性; } .left, .right { 弹性:1; } .left { 背景:橙色; } .right { 背景:青色; } 左 右
在此处了解有关 flex model 的更多信息。
一个警告:当左/右容器之一的内容超过原来的身体高度时,对面的容器不会被调整大小,所以容器最终会有不同的高度。
Schellmax 指出的问题示例:jsfiddle.net/Arete/b4g0o3pq
根据设计,overflow-y: auto; 可能会避免“容器超出原始车身高度”。
body 还需要 margin: 0px
huntsbot.com – 高效赚钱,自由工作
你没有提到一些重要的细节,比如:
布局是固定宽度吗?
两列或两列的宽度是否固定?
这是一种可能性:
身体,div {边距:0;边框:0 无;填充:0; } html, body, #wrapper, #left, #right { 高度:100%;最小高度:100%; } #wrapper { 边距:0 自动;溢出:隐藏;宽度:960px; // 宽度可选 } #left { 背景:黄色;向左飘浮;宽度:360px; // 宽度可选但推荐 } #right { 背景:灰色;左边距:360px; // 必须和之前的宽度一致 } Example Left
根据需要固定哪些色谱柱以及哪些色谱柱是液体,对此有许多变化。您也可以使用绝对定位来做到这一点,但我通常会发现使用浮动来获得更好的结果(特别是在跨浏览器方面)。
huntsbot.com全球7大洲远程工作机会,探索不一样的工作方式
这对我有用:
使用 position:fixed 而不是 position:absolute,这样即使您向下滚动,分区也会扩展到屏幕的末尾。
这段带有“位置:[固定|绝对]”的代码非常适合弹出窗口的背景(例如当您单击以缩放图片时),但在您需要实际向下滚动的情况下不太确定。还是有用的面团!
保持自己快人一步,享受全网独家提供的一站式外包任务、远程工作、创意产品订阅服务–huntsbot.com
这是高度的修复。
在您的 CSS 中使用:
#your-object: height: 100vh;
对于不支持 vh-units 的浏览器,请使用 modernizr。
添加此脚本(为 vh-units 添加检测)
Modernizr.addTest('cssvhunit', function() {
var bool;
Modernizr.testStyles("#modernizr { height: 50vh; }", function(elem, rule) {
var height = parseInt(window.innerHeight/2,10),
compStyle = parseInt((window.getComputedStyle ?
getComputedStyle(elem, null) :
elem.currentStyle)["height"],10);
bool= !!(compStyle == height);
});
return bool;
});
最后,如果浏览器不支持 vh-units,则使用此函数将视口的高度添加到 #your-object:
$(function() {
if (!Modernizr.cssvhunit) {
var windowH = $(window).height();
$('#your-object').css({'height':($(window).height())+'px'});
});
一个优秀的自由职业者,应该有对需求敏感和精准需求捕获的能力,而huntsbot.com提供了这个机会
即使这里有所有的答案,我惊讶地发现没有一个能真正解决问题。如果我使用 100vh height/min-height,当内容超过一页时,布局会中断。如果我改为使用 100% height/min-height,则当内容小于页面高度时布局会中断。
我发现解决这两种情况的解决方案是结合前两个答案:
html, body, #mydiv {
height: 100%;
min-height: 100vh;
我有一个固定的 90px 高度导航栏,所以我只需要将“100vh”更改为“calc(100vh - 90px)”
huntsbot.com – 高效赚钱,自由工作
100vw = 视口宽度的 100%。
100vh = 视口高度的 100%。
如果您想将 div 宽度或高度设置为 browser-window-size 的 100%,您应该使用:
对于宽度:100vw
对于高度:100vh
或者,如果您想将其设置为更小,请使用 CSS calc 函数。例子:
#example {
width: calc(100vw - 32px)
原文链接:https://www.huntsbot.com/qa/3VWv/how-to-make-a-div-100-height-of-the-browser-window?lang=zh_CN&from=csdn
huntsbot.com – 高效赚钱,自由工作
我有一个包含两列的布局 - 左 div 和右 div。右边的 div 有一个灰色的 background-color,我需要它根据用户浏览器窗口的高度垂直展开。现在,background-color 结束于该 div 中的最后一段内容。我试过 height:100%、min-height:100%; 等。
直接使用如下代码设置div的宽度和高度时,div宽度会铺满屏幕,而高度为零。<div style="width:100%;height:100%"></div>原因:浏览器会直接计算窗口的宽度,作为容器宽度的缺省值。但是并不会计算窗口的高度,只是简单的向下堆砌。解决方法:
1.为该元素的所有父元素设置宽度为100%。<html style="height: 100%;padding: 0;marg
在html布局中body内第一个div盒子对象设置100%高度height样式,是无法成功显示100%高度的。这个是因为body高度默认值为自适应的,所以及时设置body第一个布局div高度为百分比也是无效的,因为div解析上级高度为0,自然div height 100%实际高度也为0。
浏览器根本就不计算内容的高度,除非内容超出了视窗范围(导致滚动条出现)。或者你给整个页面设置一个绝对高度。否则,浏览器就会简单的让内容往下堆砌,页面的高度根本就无需考虑。
因为页面并没有缺省的高度值,所以,当你让...
设置DIV大小的有两个属性width和height,以前在学习DIV每次给DIV设置100%宽度或高度时都很迷惑,不明白这个100%的宽度(高度)到底有多宽有多高?这个100%是从哪里得到的从哪里继承的?今天我们的话题就是有关div高度100%的问题!
其实,要弄懂div宽度|width100%、div高度|height100%到底是怎么实现的,只需弄懂一个简单的问题就可以了,即100%的基数...
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X...
可以使用CSS中的`height`属性和JavaScript来实现将一个`<div>`元素的高度设置为浏览器窗口的高度。具体方法如下:
1. 首先,在CSS中为`<div>`元素设置`height: 100vh;`,其中`vh`是视口高度的单位,表示百分之一的视口高度。这个样式会将`<div>`元素的高度设置为浏览器窗口高度的百分之百。
```css
div {
height: 100vh;
2. 接下来,在JavaScript中获取浏览器窗口高度,并将其赋值给`<div>`元素的`height`属性。
```javascript
var div = document.querySelector('div');
var windowHeight = window.innerHeight;
div.style.height = windowHeight + 'px';
这样,就可以将`<div>`元素的高度设置为浏览器窗口的高度了。注意,如果浏览器窗口大小改变,`<div>`元素的高度也需要相应地更新,可以通过监听`resize`事件来实现。