見出し画像

HTML&CSSの勉強②

こんにちは。

今回も本を使ってHTML&CSSの勉強をしていきます。

今回使った本はこちらです。↓

この本も一冊目同様、ステップごとに作業内容が載っていて、それにそってコードを書くことで一つのサイトが出来上がります。この本では一冊目より応用的なコードが使われているのでより実践に近いコードを組むことができます。
実際に最後に完成したものがこちらです。↓

完成したサイト

今回もこの本の中で躓いたところや難しいかった箇所を、自分の振り返りとしてまとめていきます。

学んだこと

1. 半透明な画像を重ねてトーンを落とす方法

background-image:linear-gradient

・rgba(赤、緑、青、透明度)
・(0(透明)〜1(不透明))
・開始色と終了色を同じ色にすれば単色の画像を作れます。

Flexbox

以前までは横並びする時にfloatを使用していましたがこの本では応用編ということでより簡単にレイアウトを作れるdisplay:flexを使いました。display:flexはアイテムを列方向や行方向などに並べ、要素を細かく調整できます。flexboxのレイアウトは、フレックスコンテナと呼ばれる親要素と、フレックスアイテムと呼ばれる子要素で構成されます。

1.display:flex

親要素に与えることで子要素を横並びにすることができます。

2.flex-wrap

横幅が100%を超えると自動で折り返してくれます。

3.align-items

上下のどこで揃えるか」を指定するプロパティです。具体的には上揃え・中央揃え・下揃えなどが可能です。初期値はストレッチがかかってます。

:flex-start
先頭から順番に並ぶ

:flex-end
末尾から順番に並ぶ

:center
中央揃え

4.justify-content

左寄せ・中央寄せ・右寄せなどの配置や、flexアイテム同士の余白などを指定できます。初期値はflex-start(左寄せ)がかかっている

:flex-end
右寄せ

:center
中央寄せ

:space-between
flexアイテムの両端揃え

:space-around
flexアイテムの両側の余白を均等にする

:space-evenly
flexアイテム間のすべての余白を均等にする

5.align-content

align-content は、flexアイテムを折り返したときに上下の配置や余白を指定するプロパティです。初期値はストレッチがかかってます。

:flex-start
flexアイテムの上揃え

:flex-end
flexアイテムの下揃え

:center
flexアイテムの上下中央揃え

:space-between
余白なしで均等に配置

:space-around
余白ありで均等に配置

6.flex-direction

主軸の方向や向きを設定することができます。
初期値はrow(左から右)です。

:row-reverse
右から左

:column
上から下に縦並び

:column-reverse
下から上に縦並び

7.z-index

要素の重なり順を変えることができます。
position を指定しないと効きません。
数値が大きいほど手前にきます。

8.position:fixed

画面に対してフィット(固定)します。

9.before/after

疑似要素です。
content:"";(疑似要素)
display:block(初期値がinlineだから)

10.transform:translate

X軸、Y軸を指定

11.background-image

背景画像を表示させるにはCSSプロパティのbackground-imageを使用します。

・background-size
サイズを調整する。

auto
(初期値)

contain
画像の縦横比を保ったまま、要素の内側に画像の全領域が収まるサイズへと調整できます。

cover
すき間なく埋まるように、縦横比を保ちながら背景画像を表示できます。

値・%

・background-position
表示位置
を調整する

・background-repeat
繰り返し表示を制御する

・box-shadow
横方向、縦方向、ぼかし度、色

・background
色だけで反映できる

まとめ

今回の本では主にFlexboxについて深く学ぶことができました。Flexboxを使うことで1冊目をやった時よりかなり簡単にレイアウトを組むことができました。ただ、できることの数も多くまだ覚えきれてないのでこれから繰り返しコードを組んで覚えていこうと思います。

この記事が気に入ったらサポートをしてみませんか?