2016-06-08 109 views
1

我正在開發一個帶有AngularJS 1.x和Angular Material的Web應用程序。我正在嘗試在md-display-4的大標題上創建着陸頁。使用屏幕尺寸縮放字體大小?

這裏是什麼樣子:

正如你所看到的,標題很好地滿足了頁面,並在同一行相符。

但是,這是在一個1680x1050監視器上。如果我移動瀏覽器窗口,我的小1366x768的顯示器,我得到這個:

App on smaller screen

正如你所看到的,字體保持相同的物理尺寸和溢出到下一行,也不再居中。

如何確保字體根據屏幕尺寸縮放的一致外觀?

這裏是我的代碼:

<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> 

回答

3

您可以使用視單位,例如:

h1 { 
 
    font-size: 10vw; 
 
}
<h1>Foobar is the title here</h1>

Browser support reference

+1

是的,這是訣竅!閱讀之前,它不能得到它的工作。原來我需要在CSS中選擇'md-display-4'而不是'h1' –

1

看看到CSS媒體查詢。它會根據屏幕大小爲您提供對字體的控制。

您可以添加到引導程序的現有類來根據屏幕寬度修改字體大小。

0

視口單位使瀏覽器的縮放無效。但是,如果你願意給它一個鏡頭,你可以通過按比例調整字體,屏幕尺寸:

  • 使用相對字體單位,比如EMREM
  • 然後使用JavaScript來調整根字體大小

document.documentElement.style.fontSize = x + 'rem';

  • X需要縮放到瓦特indow寬度,這是相當簡單的事使用

document.documentElement.clientWidth

  • 隨着窗口大小調整事件,但調整大小的寬度和縮放,尤其是考慮到跨瀏覽器支持之間進行區分時變得有點複雜,但如果您專注於爲所有瀏覽器計算devicePixelRatio,這是可行的。

如果你不想與那個戰鬥,我已經建立了一個小型圖書館,properly handles font-scalling for all relative browsers IE9+

相關問題