用屏幕大小缩放字体大小? [英] Scaling font size with screen size?

查看:38
本文介绍了用屏幕大小缩放字体大小?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用 AngularJS 1.x 和 Angular Material 开发一个网络应用程序.我正在尝试在 md-display-4 处创建一个带有大标题的登录页面.

这是它的样子:

如您所见,标题很好地填满了整个页面,并且排成一行.

但是,这是在 1680x1050 显示器上.如果我将浏览器窗口移动到较小的 1366x768 显示器,我会得到这个:

如您所见,字体保持相同的物理大小并溢出到下一行,并且不再居中.

如何确保字体根据屏幕大小缩放的一致外观?

这是我的代码:

<头><title>FOOBY DOOBY</title><link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/angular_material/1.1.0-rc2/angular-material.min.css"><link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,400,500,700,400italic"><link rel="stylesheet" href="styles.css"/><!-- Angular Material 需要 Angular.js 库 --><script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.5.3/angular.min.js"></script><script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.5.3/angular-animate.min.js"></script><script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.5.3/angular-aria.min.js"></script><script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.5.3/angular-messages.min.js"></script><!-- 角度材料库--><script src="http://ajax.googleapis.com/ajax/libs/angular_material/1.1.0-rc2/angular-material.min.js"></script><script src="app.js"></script><body ng-app="homePage"><div layout="column"><div layout layout-align="center"><h1 class="md-display-4">FOOBAR 是这里的标题</h1>

<div><!-- 此处描述-->

</html>

解决方案

您可以使用视口单位,例如:

h1 {字体大小:10vw;}

<h1>Foobar 是这里的标题</h1>

浏览器支持参考

I'm developing a web app with AngularJS 1.x and Angular Material. I'm trying to create a landing page with a large title at md-display-4.

Here's what it looks like:

As you can see, the title fills the page nicely and fits in one line.

However, this is on a 1680x1050 monitor. If I move the browser window to my smaller 1366x768 monitor, I get this instead:

As you can see, the font stays the same physical size and overruns to the next line, and also is no longer centred.

How can I ensure a consistent look where font scales depending on screen size?

Here's my code:

<html>
    <head>
        <title>FOOBY DOOBY</title>

        <link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/angular_material/1.1.0-rc2/angular-material.min.css">
        <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,400,500,700,400italic">

        <link rel="stylesheet" href="styles.css" />

        <!-- Angular Material requires Angular.js Libraries -->
        <script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.5.3/angular.min.js"></script>
        <script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.5.3/angular-animate.min.js"></script>
        <script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.5.3/angular-aria.min.js"></script>
        <script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.5.3/angular-messages.min.js"></script>

        <!-- Angular Material Library -->
        <script src="http://ajax.googleapis.com/ajax/libs/angular_material/1.1.0-rc2/angular-material.min.js"></script>

        <script src="app.js"></script>
    </head>
    <body ng-app="homePage">
        <div layout="column">
            <div layout layout-align="center">
                <h1 class="md-display-4">FOOBAR IS THE TITLE HERE</h1>
            </div>
            <div>
                <!-- Description here -->
            </div>
        </div>
    </body>
</html>

解决方案

You can use viewport units, for example:

h1 {
    font-size: 10vw;
}

<h1>Foobar is the title here</h1>

Browser support reference

这篇关于用屏幕大小缩放字体大小?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
前端开发最新文章
热门教程
热门工具
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆