我有一些以预览比例显示的内容,通过对所有内容使用 em,然后在我想缩小/放大时缩放根字体大小,所以您可以通过单击预览查看完整内容,此时我使用 jQuery 将字体大小设置为 100% 的动画:
所以基本上:
CSS:
.example section {
font-size: 30%;
}
JS:
zoomed.animate({
fontSize: '100%'
});
但是请参阅小提琴以获得更好的主意。
问题是,尽管容器随着字体大小缩放,但浏览器会在整个动画中将文本包装在稍微不同的点 - 我理解为什么会发生这种情况的逻辑(以不同大小呈现时字符的不同比例/提示等.),但它看起来很糟糕。它在 Chrome 中比在 Firefox 中更明显。有趣的是,IE10 根本不会改变换行的位置。这是在 Windows 上 - 可能 OSX 上的字体渲染没有这个问题。
谁能想到某种修复或解决方法?
我最初考虑的一种解决方法是:
以 100% 字体大小创建预览,在空白处拆分文本,一次将一个单词添加到容器中,当容器增加高度时存储位置,然后将每一行包装在一个带有空白不换行的元素中并给出容器溢出:隐藏。
但是,由于我想使用任意 HTML(包括 em 大小的图像)进行预览,所以这并不可行。