按比例缩小 DIV 类似于响应式图片?
Proportionally shrink a DIV similar to a responsive image?
这可能是个愚蠢的问题...但在 CSS 中,"responsive image" 通常是这样的:
img {
max-width: 100%;
height: auto;
}
是否可以使用 div(或嵌套的 div 系列)来代替与响应式图片行为相同的图片?您需要定义一个宽度为 1000 像素、高度为 200 像素的 div,但随着容器宽度的缩小,它会按比例缩小。
基本上,是否有可能做出这样的事情:
http://codepen.io/jakobud/pen/jEKVRZ
表现如下:
http://codepen.io/jakobud/pen/MYXbZB
这有可能吗?如果不是,为什么?您显然不能将 height: auto
添加到 div.two
,因为那样会覆盖 DIV 的定义高度。
我为这种方法考虑过的一种解决方法是创建一个 1000x200 完全透明的 PNG,您可以将其放置在容器中,这会产生所需的结果,但这完全是一种 hack。看起来你应该可以用 CSS 来做,但我不确定怎么做。
我也在寻找不需要 jQuery 的解决方案。
我要求这样做的原因是有时设计师会要求这样的东西,其中有一个容器的大小具有特定的纵横比,但没有使用背景图像。在某些情况下,设计者想对背景使用 CSS 渐变,所以我不能只使用容器的纵横比 <img>
。显然我不能依靠内容(<h1>
或其他东西)来决定容器 shape/aspect 比率。
div
s 本质上没有像图像那样的宽高比,但您可以在包装器 div 上使用带有绝对定位子元素的填充来模拟宽高比。这是处理响应式视频的常用方法。
.one {
position: relative;
padding-bottom: 20%; /* 1000:200 */
height: 0;
}
.two {
width: 1000px;
height: 200px;
background: #999;
color: #FFF;
text-align: center;
font-family: sans-serif;
max-width: 100%;
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
这可能是个愚蠢的问题...但在 CSS 中,"responsive image" 通常是这样的:
img {
max-width: 100%;
height: auto;
}
是否可以使用 div(或嵌套的 div 系列)来代替与响应式图片行为相同的图片?您需要定义一个宽度为 1000 像素、高度为 200 像素的 div,但随着容器宽度的缩小,它会按比例缩小。
基本上,是否有可能做出这样的事情:
http://codepen.io/jakobud/pen/jEKVRZ
表现如下:
http://codepen.io/jakobud/pen/MYXbZB
这有可能吗?如果不是,为什么?您显然不能将 height: auto
添加到 div.two
,因为那样会覆盖 DIV 的定义高度。
我为这种方法考虑过的一种解决方法是创建一个 1000x200 完全透明的 PNG,您可以将其放置在容器中,这会产生所需的结果,但这完全是一种 hack。看起来你应该可以用 CSS 来做,但我不确定怎么做。
我也在寻找不需要 jQuery 的解决方案。
我要求这样做的原因是有时设计师会要求这样的东西,其中有一个容器的大小具有特定的纵横比,但没有使用背景图像。在某些情况下,设计者想对背景使用 CSS 渐变,所以我不能只使用容器的纵横比 <img>
。显然我不能依靠内容(<h1>
或其他东西)来决定容器 shape/aspect 比率。
div
s 本质上没有像图像那样的宽高比,但您可以在包装器 div 上使用带有绝对定位子元素的填充来模拟宽高比。这是处理响应式视频的常用方法。
.one {
position: relative;
padding-bottom: 20%; /* 1000:200 */
height: 0;
}
.two {
width: 1000px;
height: 200px;
background: #999;
color: #FFF;
text-align: center;
font-family: sans-serif;
max-width: 100%;
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}