Html 基于窗口宽度自动调整div高度

Html 基于窗口宽度自动调整div高度,html,height,media-queries,Html,Height,Media Queries,我好像弄不懂这个。我有一个590px屏幕宽度的媒体查询,以便使用此CSS创建一个div #slider { width:100%; height:250px; background-color:#FF0000; 然而,现在我想让高度调整更小(从250px),因为你不断减少屏幕宽度(与一个响应设计工作)。自动,100%不会工作,因为我需要指定一个250像素的起始高度;“最大高度”不起任何作用 您必须同时放置两个CSS属性 max-height:250px; height:100%; 您必须同时

我好像弄不懂这个。我有一个590px屏幕宽度的媒体查询,以便使用此CSS创建一个div

#slider {
width:100%;
height:250px;
background-color:#FF0000;

然而,现在我想让高度调整更小(从250px),因为你不断减少屏幕宽度(与一个响应设计工作)。自动,100%不会工作,因为我需要指定一个250像素的起始高度;“最大高度”不起任何作用

您必须同时放置两个CSS属性

max-height:250px;
height:100%;

您必须同时放置两个CSS属性

max-height:250px;
height:100%;

有一个可怕的,可怕的黑客做这件事。但是它通常比使用JavaScript来调整元素的大小更加流畅

利用填充值(事件垂直值)始终相对于容器宽度这一事实。用一个百分比值设置一个<代码>填充顶部(你必须自己计算,因为你没有在滑块元素本身上指定你认为的“正常屏幕宽度”),或者如果把这些东西弄乱了,在里面加上一个额外的元素并在上面设置填充。这当然会将所有正常的流内容向下推,所以您必须绝对地将它们放置在magicpadding div的顶部


另外,除非您完全定位,否则块元素上的
宽度:100%
在您的情况下可能没有任何用处。

有一种可怕的、可怕的方法可以做到这一点。但是它通常比使用JavaScript来调整元素的大小更加流畅

利用填充值(事件垂直值)始终相对于容器宽度这一事实。用一个百分比值设置一个<代码>填充顶部(你必须自己计算,因为你没有在滑块元素本身上指定你认为的“正常屏幕宽度”),或者如果把这些东西弄乱了,在里面加上一个额外的元素并在上面设置填充。这当然会将所有正常的流内容向下推,所以您必须绝对地将它们放置在magicpadding div的顶部


另外,除非您完全定位,否则块元素上的
宽度:100%
在您的情况下可能没有任何用处。

您可以通过将窗口宽度存储在变量中,然后将此变量应用于元素的高度来轻松实现这一点:

function changeHeight() {
    var width = $(window).width();
    $("div").css({
        "height": width
    });
}
window.addEventListener('resize', changeHeight);
changeHeight();
由于此javascript代码使用CSS更改元素的高度,因此您甚至可以应用CSS
transition
s使动画更平滑


通过将窗口宽度存储在变量中,然后将该变量应用于元素的高度,您可以轻松地使用:

function changeHeight() {
    var width = $(window).width();
    $("div").css({
        "height": width
    });
}
window.addEventListener('resize', changeHeight);
changeHeight();
由于此javascript代码使用CSS更改元素的高度,因此您甚至可以应用CSS
transition
s使动画更平滑


尝试过这个。更换高度:250px;容器高度为0表示它不显示。请尝试此操作。更换高度:250px;容器高度为0表示它不显示。理论上可以工作,但内部元素div不显示,因为我看到的只是填充空间。要从内部有子元素的高度固定宽度,请使用:padding:0.0001%对我起作用。理论上,tipworks的Thx有效,但内部元素div没有显示,因为我看到的只是填充空间。要将我的宽度与内部儿童的高度固定,请使用:padding:0.0001%对我有效。TIP的Thx将第4行更改为:
“高度”:数学最大值(宽度,X)
并以所需的最小高度更改
X
。您可以在此处了解有关JavaScript
max()
方法的更多信息:。使用以下内容更改第4行:
“height”:Math.max(width,X)
并以所需的最小高度更改
X
。您可以在此处了解有关JavaScript
max()
方法的更多信息:。