html - 为什么css中用scale缩放之后,虽然内容缩小了,但是占用的空间却没有变化
高洛峰
高洛峰 2017-04-17 13:34:04
[HTML讨论组]

因为被要求在网页中显示12px以下的字体,但是

-webkit-text-size-adjust:none;

在现在的chrome版本里面没有任何效果,所以我正在采用transform:scale的方法来实现缩小字体的效果。
但是在这个过程中我发现,被缩小后的内容索然整体被缩小了,但是占用的空间却没有任何变化。
现在是这样的,没缩放之前:

这里黄线是我将要缩放的内容
我缩放之后,就变成了这个样子:

可以看到,内容确实缩小了,但是他占用的位置却没有变化。
我没有调整任何边距,只是设置了内容居中。
通过检查发现,缩小后的内容实际渲染的大小已经发生了变化:

但是不知道为什么黄色的内容仍然占用着原来没有缩放之前占用的地方。如果占用的位置缩小了,应该会影响到右边蓝色的部分,蓝色的部分会左移,但是蓝色的部分并没有变化
下面是渲染黄色部分的scss:

.footer-info {
    padding-top: 0.3%;
    padding-left: 0%;
    position: relative;
    left: 0;
    color: white;
    float: left;
    display: inline;
    line-height: 60%;
    transform:scale(0.83,0.83);
  -webkit-transform:scale(0.83,0.83);
  -moz-transform:scale(0.83,0.83);
  -o-transform:scale(0.83,0.83);
  font-size: 12px;
 .text {
 text-align: center;
 position: relative;

}
}

还有渲染蓝色部分的scss:

.footer-sns {
    position: relative;
    display: inline;
    margin-bottom: 1%;
    color: white;
    width: auto;
    padding: 0;

  transform:scale(0.75,0.75);
  -webkit-transform:scale(0.75,0.75);
  -moz-transform:scale(0.75,0.75);
  -o-transform:scale(0.75,0.75);
  font-size: 12px;
}

非常感谢!

高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

全部回复(6)
迷茫

transform 的所有属性都不改变页面元素的布局。

迷茫

Transformations do affect the visual layout on the canvas, but have no affect on the CSS layout itself. from W3.org《The Transform Rendering Model》 Standard

巴扎黑

本来就不会改变原来的文档流的,比如在图片hover样式上添加scale(1.5),图片会变大,但不会影响布局,所以应该是在 不影响原文档流的情况下,在Z轴上提升了,就和relative定位一样。

怪我咯

不改变布局,如果改变布局的话,想想这些css3属性那就得很谨慎的用了,布局变的话,挺可怕的

PHPz

scale只能引起重绘,而没有引起重排,所以页面外元素布局是不会改变,自身的样式会重新绘制

PHP中文网

如果想缩放盒模型可以试试zoom:0.5;

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号