使用Firefox浏览器,您可以通过按下CTRL +键来放大整个网页。这样做会比例放大整个网页(包括字体、图片等)。
如何只使用CSS复制相同的功能?
是否有类似于page-size: 150%
的东西(它会将整个页面部分增加x%?)
使用Firefox浏览器,您可以通过按下CTRL +键来放大整个网页。这样做会比例放大整个网页(包括字体、图片等)。
如何只使用CSS复制相同的功能?
是否有类似于page-size: 150%
的东西(它会将整个页面部分增加x%?)
您可能可以使用CSS的zoom
属性 - 支持IE 5.5+、Opera、Safari 4和Chrome。
Firefox是唯一不支持缩放的主流浏览器(bugzilla item here),但您可以在Firefox 3.5中使用"专有的"-moz-transform属性。
因此,您可以使用:
div.zoomed {
zoom: 3;
-moz-transform: scale(3);
-moz-transform-origin: 0 0;
}
transform:scale
(有-webkit-
、-moz-
、-o-
和-ms-
前缀)。假设这些实际上可以工作(从快速测试中似乎是这样),那么使用zoom
的唯一原因就是为了IE8及以下版本? - Peter Boughton这是一个比较晚的答案,但是你可以使用
。body {
transform: scale(1.1);
transform-origin: 0 0;
// add prefixed versions too.
}
将页面缩放110%。
尽管存在zoom
样式,但遗憾的是Firefox仍不支持。
此外,这与您的缩放略有不同。css transform
类似于图像缩放,因此它会放大您的页面,但不会导致重新布局等问题。
编辑更新了变换起点。
transform-origin: 0 0;
可以达到我想要的效果。例如,将页面缩放至150%:transform: scale(1.5); transform-origin: 0 0;
。我认为@kumar_harsh 的回答在其他方面是正确的,但需要纠正这一点。 - Kai Carverex
或者em
单位,那么这种方式可能是可行的。你只需要在body
或html
的样式中声明font-size: 150%
,这应该会导致所有其他长度按比例缩放。但是在大多数网站上,这是一个很大的前提条件。规模并非最佳选择
它需要一些其他的调整,例如边距,填充等...
但正确的选择是
zoom: 75%
var zoom = 1;
var width = 100;
function bigger() {
zoom = zoom + 0.1;
width = 100 / zoom;
document.body.style.transformOrigin = "left top";
document.body.style.transform = "scale(" + zoom + ")";
document.body.style.width = width + "%";
}
function smaller() {
zoom = zoom - 0.1;
width = 100 / zoom;
document.body.style.transformOrigin = "left top";
document.body.style.transform = "scale(" + zoom + ")";
document.body.style.width = width + "%";
}
body{font-size:125%}
,一切-包括图像-将是原始尺寸的两倍。实现跨浏览器兼容性:
示例代码如下:
<html><body class="entire-webpage"></body></html>
.entire-webpage{
zoom: 2;
-moz-transform: scale(2);/* Firefox Property */
-moz-transform-origin: 0 0;
-o-transform: scale(2);/* Opera Property */
-o-transform-origin: 0 0;
-webkit-transform: scale(2);/* Safari Property */
-webkit-transform-origin: 0 0;
transform: scale(2); /* Standard Property */
transform-origin: 0 0; /* Standard Property */
}
document.body.style.fontSize = ((window.innerHeight/100)*6.25)+"%"
你需要在样式中设置缩放属性。有趣的部分是如何计算它。这是我所做的。
let zoom = Number((window.innerWidth / window.screen.width).toFixed(3));
document.firstElementChild.style.zoom = zoom;
document.firstElementChild
访问顶级html元素。
您可以将此代码放在window.onresize
函数中,以使整个页面相应地缩放。
将主包装器div的高度设置为100%,以防止缩放时出现白色空间。