CSSのフォントサイズ単位どうなってる

emについて、単に一行の幅と思っていましたが ラテン文字の大文字”M ”の幅でエムと呼ぶとか16PXの幅が1emだとか書かれています
子要素(孫要素)がある場合ややこしい..更に rem(ルートエム)どうなってる。

こちらLet,s refer to this

実際にサイズを見てみると

 body{font-size: 1.125em;}の大きさは
愛してる

愛してる<p>タグ

class="parent"
{padding: 0.5rem; font-size: 1.5em;}の大きさは
愛してる    上位のbody要素をみてみると、font-sizeプロパティに1.125emが指定されています。
これより上位の要素はhtml要素なのでブラウザのデフォルト文字サイズである16pxが基準となります。
よって、.parent要素のfont-sizeは、
16 × 1.125 × 1.5 = 27px
27 × 2 = 54px
がpaddingプロパティの2emの計算値となります。
child{padding: 0.5rem;}の大きさは
...愛してる
.child要素自身にはfont-sizeプロパティが指定されていないので、親の.parent要素のfont-size値が基準となります。.parent要素のfont-size値は先ほど求めた27pxです。
27 × 0.5 = 13.5px
よって、13.5pxが.child要素のpadding値となります。


rem単位は
常にhtml要素のfont-size値を基準とするため、em単位のように要素が入れ子になっていても関係ありません。
%単位を使う場合は何を基準としているかをプロパティごとに確認しておくと安心です。


vw単位
ブラウザの横幅に対する相対的な値となり、1vwはブラウザの横幅の1%に相当します。 たとえば、ブラウザ幅が1200pxのとき1vwは12px、ブラウザ幅が768pxのとき1vwは7.68pxを表すことになります。 ただ、全体的なレイアウトなどにvw単位を使うと意図しない余白が生まれることがあります。 vw単位はスクロールバーの幅を含む仕様のため、width: 100vw;を指定するとスクロールバーの幅分、横スクロールが発生します。 なので、全体的なレイアウトには%単位のほうが適しているといえます。 しかし、%単位は常に親要素に依存するため、ブラウザ幅を基準としたい場合には使えないので、その点便利ですね。 つまり、vw単位と%単位は、rem単位とem単位の関係性とほぼ同じです。


px単位を用いる派
すべてのCSSをpx単位で指定する場合です。 すべてpx単位で指定するとブラウザの設定から文字サイズを変更しても一切反映されないことになってしまいます。px単位をすべてに用いるとアクセシビリティを無視してしまう可 能性があります。



 ■ページ文章をレイアウト

文章のタグ・段落・改行・仕切り線・<p>タグと <div>タグ余白の違いわかるかな
それについては、このサイト後でもう一度で勉強しましょう。

この文章のhtml<p>タグは<p class="sample" style="text-align:start;">と書く
CSS<style>タグは p.sample{ padding: 1em;line-height: normal; width:900px; background-color: #e6dfdf; } /*背景 薄い灰色*/と書くとこのよ うに表記される。

この文章のhtml<p>タグは
<p style="padding: 1em; line-height: 2em; width:750px; background-color: #e6dfdf;text-align:center;">
と書きました、行の高さと横の位置 を変えました。

行の高さ<line-height: 2;> <number> (単位なし) 使用値は、この単位のない <number> に要素のフォントサイズを掛けたものになります。
計算値は、指定された <number> と同じです。
ほとんどの場合、継承時の予期しない結果を避けるために、これが line-height を設定する好ましい方法です。


minの意味は

分(minute)・最小値(minimum)・ミネソタ州 など

min()関数とは

min()関数には、1つ以上のコンマ区切りの計算が含まれ、それらの最小値を表します。
つまり、最大値を設定するにはmin()を使用します。 実際に見てましょう。 要素の最大幅を500pxにしたい場合は、下記のように記述します。
-CSS-
.element { width: min(50%, 500px);}
この記述で、要素は必ず500px以下になります。

UP Page

clampの意味は

かすがい。動留め金具で固定する、または留める。

clamp()関数とは
2つの定義された値(最小値と最大値)の間をクランプすることです。
3つのパラメーター(最小値、推奨値、最大値)を使用します


last childの意味は

末子・季子(きし). 乙子(おとご) など

追加された新しい規格CSS3 E:nth-last-child(n)
疑似クラスの一種で、後ろから数えてn番目の子となるE要素にスタイルを適用する。
擬似クラスlast-childの後に擬似要素afterをつなげて使うCSS参考例  

HTML&CSS- last-child{}値

   ---------CSS---------

          div.sample p:last-child {background-color:#00ccff;}

       
   ---------HTML---------
        <div class="sample">
        <h3>今日の天気
        <p>今日は<strong>晴れ</strong>でしょう。</p>
        <p>日差しが強くなるでしょう。</p>
        <p>日傘や帽子の使用をおすすめします。</p>
        <h3>明日の天気</h3>
        <p>明日は<strong>雨</strong>でしょう。</p>
        <p>気温が低くなるでしょう。</p>
        <p>長袖の上着があると良いでしょう。</p>
        </div>
       

今日の天気

今日は晴れでしょう。

日差しが強くなるでしょう。

日傘や帽子の使用をおすすめします。

明日の天気

明日はでしょう。

気温が低くなるでしょう。

長袖の上着があると良いでしょう。



   ---------CSS---------
     table.sample tr {background-color:#CCFFCC;}
     table.sample tr:nth-last-child(3) {background-color:#FFCCCC;}
   
   ---------HTML---------
     <div class="sample">
     <table class="sample">
     <tr><td>みかん</td><td>10箱</td></tr>
     <tr><td>りんご</td><td>20盛</td></tr>
     <tr><td>バナナ</td>50房</td></tr>
     <tr><td>メロン</td>8個</td></tr>
     <tr><td>すいか</td>2玉</td></tr>
     <tr><td>レモン</td>20袋</td></tr>
     <tr><td>ライチ</td>80個</td></tr>
     <tr><td>キウイ</td>50個</td></tr>
     <tr><td>ぶどう</td>30房</td></tr>
     </table>
    
みかん10箱
りんご20盛
バナナ50房
メロン8個
すいか2玉
レモン20袋
ライチ80個
キウイ50個
ぶどう30房



border-widthプロパティなど
文字サイズ設定が変わっても変化させたくないものにはpx単位を使い、 それ以外はemやrem単位などの相対的な値を使う場合を考えてみましょう。
文字サイズといっしょに余白も比例して広がっているところです。 全体的なレイアウトとデザインの比率を維持しつつ、文字サイズを変化させられます。 メディアクエリの単位にも相対的な値を使っていれば、文字サイズが大きくなればなるほど、スマホのデザインに近づいていきます。これは、ブラウザの拡大率をあげる 場合と同じ挙動になります。

border-widthプロパティは

上下左右のボーダーの太さをまとめて指定する際に使用します。
上下左右を異なった太さにしたい場合には、スペースで区切って複数の値を指定します。
値を1つ指定した場合: [上下左右]がその太さになります。
値を2つ指定した場合: 記述した順に[上下][左右]の太さになります。
値を3つ指定した場合: 記述した順に[上][左右][下]の太さになります。
値を4つ指定した場合: 記述した順に[上][右][下][左]の太さになります。
尚、ボーダーは太さや色だけを指定しても表示されないので注意してください。
これは、border-styleプロパティの初期値がnoneとなっているためです。
ボーダーを表示させるには、太さや色だけでなく種類も同時に指定する必要があります。

指定の文字列を線で囲むスタイルは、

div.sample h2 ~ p {プロパティ名:値;}
例 {border: 3px dotted #000000;}
div_CSS_border.html詳細は 以下に転載

全体的な<タグ>レイアウトを確認する上下左右のボーダーを使って試みる、赤色で 3px幅のボーダーでCSSで宣言    border: 3px solid red;
div 1あいうえお
div 2あいうえお
div 3あいうえお
div 4あいうえお
div 5あいうえお
div 6あいうえお
div 7あいうえお
div 8あいうえお

none css- p.sample1 {border-style: none; background: #ADD8E6;}

hidden css- p.sample2 {border-style: hidden; background: #B0C4DE;}

solid css- p.sample3 {border-style: solid; background:#87CEFA;}

double css- p.sample4 {border-style: double; background: #B0E0E6;}

groove css- p.sample5 {border-style: groove; background: #AFEEEE;}

ridge css- p.sample6 {border-style: ridge; background: #87CEEB;}

inset css- p.sample7 {border-style: inset; background: #66CDAA;}

outsetcss- p.sample8 {border-style: outset; background: #7FFFD4;}

dashed css- p.sample9 {border-style: dashed; background: #98FB98;}

dotted css- p.sample10 {border-style: dotted; background: #90EE90;}

上下solid、左右double css- p.sample11 {border-style: solid double; background: #F0E68C;}

上solid、左右double、下groove css- p.sample12 {border-style: solid double groove; background: #EEE8AA;}

上solid、右double、下groove、左ridge css- p.sample13 {border-style: solid double groove ridge; background: #FFE4B5;}

 第74回 福岡国際マラソン

UP Page
canape2020

CSS基本戻る