css - 使用 css3 根据主体宽度设置字体大小

标签 css responsive-design font-size

我想设置 font-size<body>为自身宽度的 5%(body)。

是否有纯 css3 方法来做到这一点?

我现在正在用 jquery 做这个,但我希望它更简单:

$(function() {

    var $body = $('body');

    function adjust_font_size() {
        $body.css('font-size', $body.width()*0.05+'px');
    }
    adjust_font_size();
    $(window).resize(adjust_font_size);


});

最佳答案

如果您的 <body>标签具有与视口(viewport)相同的宽度,您可以使用vw单位:

vw : 1/100th of the width of the viewport.( source MDN)

DEMO

body{
    font-size:5vw;
}

如果您的 <body>标签有一个百分比宽度vw单位也可以使用(考虑到 <html> 标签没有固定宽度)。

示例:

body{ 
    width:50%; /* = 100% / 2 */
    font-size:2.5vw; /* = 5vw / 2 */
}

如果您的 body 标签具有固定宽度(以 px、em... 为单位),则字体大小设置为 vw不会适应它的宽度。


vw 单位的浏览器支持是 IE9+,canIuse了解更多信息。

关于css - 使用 css3 根据主体宽度设置字体大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24818282/

相关文章:

css - 是否可以根据溢出调整文本大小?

html - CSS 对齐 :vertical; not working properly in Firefox

javascript - 链接两个不同形式的单选按钮

javascript - 带有 block 显示的 Canvas 在 div 和 Canvas 元素之间仍然有间隙

css - 页脚上方的空白使用 CSS 位置 :fixed

html - 关于使用 Twitter Bootstrap 2.0 的元素顺序的移动响应问题

jquery - 使用 jquery 的 wordpress 主题中的响应式菜单

javascript - 响应式图像向右裁剪

javascript - DOM 元素计算样式字体大小太小

javascript - 高度为 15px,宽度为 7px 的等宽字体