CSSのフォントサイズ単位どうなってる
emについて、単に一行の幅と思っていましたが ラテン文字の大文字”M ”の幅でエムと呼ぶとか16PXの幅が1emだとか書かれています
子要素(孫要素)がある場合ややこしい..更に rem(ルートエム)どうなってる。
実際にサイズを見てみると
body{font-size: 1.125em;}の大きさは愛してる
愛してる<p>タグ
class="parent"愛してる 上位のbody要素をみてみると、font-sizeプロパティに1.125emが指定されています。
{padding: 0.5rem; font-size: 1.5em;}の大きさは
これより上位の要素は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値となります。
常にhtml要素のfont-size値を基準とするため、em単位のように要素が入れ子になっていても関係ありません。
%単位を使う場合は何を基準としているかをプロパティごとに確認しておくと安心です。
ブラウザの横幅に対する相対的な値となり、1vwはブラウザの横幅の1%に相当します。 たとえば、ブラウザ幅が1200pxのとき1vwは12px、ブラウザ幅が768pxのとき1vwは7.68pxを表すことになります。 ただ、全体的なレイアウトなどにvw単位を使うと意図しない余白が生まれることがあります。 vw単位はスクロールバーの幅を含む仕様のため、width: 100vw;を指定するとスクロールバーの幅分、横スクロールが発生します。 なので、全体的なレイアウトには%単位のほうが適しているといえます。 しかし、%単位は常に親要素に依存するため、ブラウザ幅を基準としたい場合には使えないので、その点便利ですね。 つまり、vw単位と%単位は、rem単位とem単位の関係性とほぼ同じです。
すべての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の意味は
min()関数とは分(minute)・最小値(minimum)・ミネソタ州 など
UP Page
min()関数には、1つ以上のコンマ区切りの計算が含まれ、それらの最小値を表します。
つまり、最大値を設定するにはmin()を使用します。 実際に見てましょう。 要素の最大幅を500pxにしたい場合は、下記のように記述します。
-CSS-
.element { width: min(50%, 500px);}
この記述で、要素は必ず500px以下になります。
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 {プロパティ名:値;}div_CSS_border.html詳細は 以下に転載
例 {border: 3px dotted #000000;}
全体的な<タグ>レイアウトを確認する上下左右のボーダーを使って試みる、赤色で 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;}
outset
css- 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 Pagecanape2020
CSS基本戻る