在较小的分辨率上字体太小

时间:2017-01-16 11:26:11

标签: css css3 responsive-design

这是我的代码:

<p> font-size: 2vh; </p>

在高分辨率下可以很好地看到文字:

Image 1

但是在较小的决议上:

Image 2

我如何制作文字,在较小的分辨率上不是太小而在高分辨率上不是太大? 如果我必须使用媒体查询,那么vh / vw单位是什么意思?

我的视口:

<meta name="viewport" content="width=device-width, initial-scale=1.0">

小代码:

<head>  
<meta charset="UTF-8">  
<title>title</title>    
<meta name="viewport" content="width=device-width, initial-scale=1.0">  
<link href="https://fonts.googleapis.com/css?family=Lato:400,700&amp;subset=latin-ext" rel="stylesheet">
<link rel="stylesheet" type="text/css" href="files/css/style.css"> 
</head>

<body>
<div id="logo">
<p>Lorem ipsum dolor sit amet,
consectetur adipiscing elit. Phasellus vel mattis risus.
Maecenas vel mauris ex. Curabitur mollis nibh sit amet egestas
fermentum. Ut posuere id sapien in suscipit. Integer a ultrices
metus, nec faucibus ipsum. Morbi nec venenatis nunc. In dignissim
dignissim velit ac finibus.</p>
</div>
</body>

css文件:

html, body {
    margin: 0;
    padding: 0;
    height: 100%;
    text-align: left;
    color: #FFFFFF;
    background: #31302f;
    font-family: 'Lato', sans-serif;
    font-size: 18px; /* for internet explorer */
    font-size: 2vh;
    -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

#logo p {
    font-size: 20px; /* for internet explorer */
    font-size: 2vh;
    text-align: left;
}

3 个答案:

答案 0 :(得分:5)

字体大小的

vh单位并不理想,因为它们实际上是屏幕/设备高度的百分比。在480px高的设备上2vh意味着9.6像素,这对于普通文本来说肯定太小了。 IMO最好使用emrem单位。

rem与浏览器的基本(&#34; root&#34;)字体大小相关(在移动浏览器中通常以适合设备的方式设置),{{1}与父元素的字体大小有关 - 继承,这可能有点棘手。在这两种情况下,一个em表示100%的引用大小(见上文),因此例如rem/em是根大小的160%,这对于标题来说可能是一个很好的值。

答案 1 :(得分:3)

您必须为移动设备分辨率设置元标记。因此,移动屏幕的分辨率将得到纠正。

<meta name="viewport" content="width=device-width, initial-scale=1" />

您可以找到详细信息here

您的代码中的代码没有问题。您需要添加media query来调整字体大小。

我添加了示例代码。

<head>
    <meta charset="UTF-8">
    <title>title</title>
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link href="https://fonts.googleapis.com/css?family=Lato:400,700&amp;subset=latin-ext" rel="stylesheet">
    <style>
        @media only screen and (max-width: 500px) {
            #logo {
                font-size: 25px;
            }
        }
    </style>
</head>

<body>
    <div id="logo">
        <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus vel mattis risus. Maecenas vel mauris ex. Curabitur mollis nibh sit amet egestas fermentum. Ut posuere id sapien in suscipit. Integer a ultrices metus, nec faucibus ipsum. Morbi nec venenatis nunc. In dignissim dignissim velit ac finibus.</p>
    </div>
</body>

答案 2 :(得分:0)

你是否有标题:

<meta name=viewport content="width=device-width, initial-scale=1">