【发布时间】:2014-11-17 09:46:26
【问题描述】:
有没有办法根据浏览器宽度缩小/放大所有元素,包括文本、图像等?这就像使用浏览器“缩小”只是为了避免浏览器水平滚动条。
【问题讨论】:
有没有办法根据浏览器宽度缩小/放大所有元素,包括文本、图像等?这就像使用浏览器“缩小”只是为了避免浏览器水平滚动条。
【问题讨论】:
您可以仅使用此 css 规则调整图像和视频的大小。
img, video { max-width: 100%; }
对于文本,您可以使用em 来调整视口和分辨率。您还应该在 html 和 body 元素上设置字体大小
html {
font-size: 100%;
}
body {
font-size: 1em;
}
/* Adjust the font size here to upscale the font when you've resized the page to 700px */
@media screen and (max-width: 700px) {
html { font-size: 110%; }
}
如果您确实在考虑从字面上放大/缩小某些视口,只需使用媒体查询。像这样:
@media all and (max-width: 700px) and (min-width: 400px) {
/* some funky stuff */
}
额外
要平滑不同视口之间的过渡,请在 html 标记上使用此 css 属性
transition: all 1s ease;
【讨论】:
font-size: 1vw 上应该使用vw 单位。尝试在http://oneapi.ru/showcases/上扩大/缩小浏览器
body { font-size: 1vw }而不是html,并且所有站点都在em的相对测量中定义,可以在上述站点中检查。
是的,尽管它需要 JavaScript 并且不适用于所有浏览器,只有那些支持 CSS 缩放的浏览器(我知道至少 Firefox 不支持)。我是怎么做的,比如说标准的非缩放页面宽度是 1024,我使用 jQuery 与行
$("html").css("zoom",window.innerWidth/1024);
每次调整窗口大小时(使用 window.onresize)。我使用它的网站仍然是非公开的,所以我无法向您展示示例,但它运行良好。
【讨论】: