我希望我的所有文字都在我的文档中。<p>
标记,没有<p>
标记,<span>
,所有h {'1}}等在h1,h2,h3,h4
中增加1个额外像素(来自样式表中的样式)仅font-size:
秒或.5
秒。 1
然后恢复原始布局样式大小。
注意:此外,必须有平滑过渡选项。
答案 0 :(得分:1)
你必须在元素周围循环才能完成一个像素:
$('h1, h2, h3, h4, h5, h6, p').each( function () {
var $e = $(this);
var size = parseInt($e.css('font-size'), 10);
$e.css('font-size', (size + 1) + 'px');
window.setTimeout(function () {
$e.css('font-size', size + 'px');
}, 1000);
$e.html(size);
});
使用相对字体大小设计页面效率会更高一些,然后将body
字体调整为1px。
您可以使用以下方式平滑过渡:
h1, h2, h3, h4, h5, h6, p {
transition: all 0.5s ease;
}
警告 - 如果您在大量文本中使用此功能,浏览器可能难以顺利回流页面(即,它看起来比仅仅1px移位更加锯齿状)。
答案 1 :(得分:1)
我建议使用rem
或em
等相对单位,以便获得更多控制权。
在下面的示例中,所有字体大小都与根元素相关(在本例中为html
)。
当页面最初加载时,字体较大,然后切换一个类,字体大小会过渡减少。
setTimeout(function() {
$('html').addClass('smaller-font');
}, 1000);
&#13;
html { font-size: 17px; }
html.smaller-font { font-size: 16px; transition: 2s font-size; }
h1 { font-size: 1.6rem; }
h2 { font-size: 1.4rem; }
h3 { font-size: 1.2rem; }
p { font-size: 1rem; }
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<h1>H1 element</h1>
<h2>H2 element</h2>
<h3>H3 element</h3>
<p>Paragraph</p>
&#13;