私たちはテクノロジーに精通していますが、それを使用するプロセスで簡単に行き詰まり、新しい問題が発生したときに不利な立場に置かれます。 Web が進化し続けるにつれて、新しいテクノロジーと新しいソリューションに対する要件は増大し続けます。したがって、Web デザイナーやフロントエンド開発者として、あらゆる戦いで無敵でいられるように、自由に使えるツールに慣れ、自分自身と敵を知る以外に選択肢はありません。
ということは、普段はほとんど使わないけど、どこかで必要になると、本当に完璧なアイテムがいくつかあるということです。
今日は、これまであまり見たことがないかもしれない CSS のやつを紹介します。それぞれはピクセルや em などの測定単位ですが、これらについて聞いたことがないかもしれません。一緒に友達を作りましょう~
rem
まずは私たちがよく知っている商品とよく似た商品を紹介しましょう。 em は、現在のオブジェクト内のテキストに対する相対的なフォント サイズとして定義されます。正直に言うと、本文の font-size を設定すると、本文の子要素の 1em は本文で設定された font-size と等しくなります。
2 3
|
Test
|
2 3 4 5 6
| body {
font-size: 14px; } div { font-size: 1.2em; // で計算されます14px * 1.2, or 16.8px }
|
しかし、emを使ってネストされた要素のフォントサイズを1つずつ定義するとどうなるでしょうか?次のスニペットでは、上記と同じ CSS を適用し、各 div は親要素からフォント サイズを継承し、徐々に大きくします。
2 3 4 5 6 7 8 9 10 11
|
テスト6px -->
テスト
例 これがまさに私たちが望むものである場所もいくつかありますが、多くの場合、単一の相対的な測定単位に依存したい場合があります。現時点では、rem を使用できます。 「r」は「root」の略語で、1rem がルート要素のフォント サイズに等しいことを意味します。ほとんどの場合、ルート要素は です。
このように、上記の 3 つのネストされた div のフォント サイズはすべて 1.2*14px = 16.8px になります。 グリッドレイアウトに適しています Remsはフォントサイズの設定に便利なだけではありません。別のアイデアとして、HTML ルート要素のフォント サイズに基づいて rem をグリッド レイアウト全体または UI ライブラリ全体のサイズ単位として使用し、その後、他の特定の場所で em 単位を使用することができます。これにより、フォント サイズとスケーラビリティをさらに制御できるようになります。
概念的には、このメソッドのアイデアは、コンテンツに応じてインターフェイスをスケーリングできるようにすることです。ただし、これはすべての状況で意味があるわけではありません。 vh と vw レスポンシブ Web デザインはパーセンテージと切り離せません。ただし、CSS パーセンテージがすべての問題に対して最適な解決策であるわけではありません。 CSS の幅は、CSS を含む最も近い親要素の幅に相対します。しかし、親要素の代わりにビューポートの幅または高さを使用したい場合はどうすればよいでしょうか?これが vh ユニットと vw ユニットによって提供されるものです。 1vh はビューポートの高さの 1/100 に相当します。栗: ブラウザの高さは 900 ピクセル、1 vh = 900 ピクセル/100 = 9 ピクセルです。同様に、ビューポートの幅が 750 未満の場合は、1vw = 750px/100 = 7.5 px となります。 ご想像のとおり、非常に多くの用途があります。たとえば、たった 1 行の CSS コードを使用して、画面と同じ高さのボックスを実現する非常に簡単な方法を使用します。 .slide { Height: 100vh; } 画面と同じ幅のタイトルが必要だとします。 タイトルのフォントサイズの単位を vm に設定し、フォントサイズを に設定するだけです。タイトルは自動的に表示されます。フォントとビューポートのサイズを同期するために、ブラウザの幅に応じて拡大縮小する方法はありますか? ! 例 vmin と vmax vh と vm はビューポートの高さと幅に基づきますが、vmin と vmax はビューポートの高さと幅の最小値または最大値に基づきます。たとえば、ブラウザの幅は 1100px、高さは 700px、1vmin = 1px、1vmax = 11px に設定されます。幅が 800px に設定され、高さが 1080px に設定されている場合、1vmin は 8px に等しく、1vmax は 10.8px ではありません。 それで問題は、この 2 つのユニットをどのようなシナリオで使用するべきかということです。 要素があり、それを画面上に常に表示する必要があるとします。高さと幅に vmin 単位を使用し、100 未満の値を指定するだけです。別の例として、少なくとも 2 つの辺が画面に触れている正方形を定義できます。
|