【Day4~8】HTML&CSSについて

3日目まではWebページがどうやって自分のブラウザで表示されるかを勉強してきました。

【Day1~3】Webページが表示される仕組みとは?

2019年6月4日

そして、今回からは実際にHTMLやCSSを使って、Webページを書いていく写経を実践。

よざっち
WordPressで簡単にHTMLやCSSはいじっていたけど、一から自分で書くとなると話が別!

文字や画像が思った場所に配置されてなかったりと色々と苦戦しました。

HTMLやCSSの記述に関してはネット上に書かれている記事が多いので割愛するとして、今回は講義中に気になったポイントをメモ。

メモを頼りに書き起こししているのと、自分用のメモなので書かれている量にバラつきがありますが、あしからず。




ファイルとディレクトリ

あまり耳馴染みがない言葉なので混乱しましたが、呼び名が違うだけでディレクトリは「ファイルの入れるフォルダ」のこと。

ファイルとディレクトリの関係は、「書類」と「書類入れ」に例えると分かりやすいです。

  • ファイル→書類
  • ディレクトリ(ファイル)→書類入れ

ディレクトリとファイルは厳密には違うそうですが、同じものと考えていいそう。

「ファイル」と「フォルダ」の違い|「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典

絶対パスと相対パス

コードを書いていて、別のファイルやディレクトリから「これが欲しい!」と引っ張ってきたい時は、そのファイルやディレクトリの場所を書き込まないといけません。

そのファイルやディレクトリのある場所がパス。住所みたいなものです。

そのパスの書き方には、

  • 絶対パス
  • 相対パス

の2種類があります。

絶対パスはURLでページを指定して、目的地(情報)がどこかをピンポイントで伝えます。

つまり、どこから見ても同じ場所を示すことができる絶対位置を示します。

一方、相対パスは自分がいる場所を基準にして、目的地(情報)を伝えます。

つまり、自分がいる場所によって、書くパスが違うということ。

これを間違えると、欲しいファイルが読み込まれないのでVScodeの予測変換を使うといいかも。

絶対パス、相対パスの違いや書き方については以下の記事を参照。

URLを移しても作用し続ける為、同じ階層の時は基本的に相対パスにしたりと、それぞれにメリットはあるので適宜。

classとid

HTMLにおいて、特定の要素を指定するclass属性とid属性。

classとidの違いは、その「使用回数」にあります。

  • class:何回でも同じclass名を使うことができる
  • id:1つのHTML文書内で同じid名を使うことができない

でも、「1度しか使えないidなんて意味あるの?」と思っていたら、先生曰く

  • classは学級名
  • idは出席番号

であるとのこと。

classという大きいグループでまとめながら、その中でさらに個別に何か指定したい時にidを使えるよねって話。

ちなみに下の画像の場合だと名前がidになります。分かりやすい。

classとidが指定されたら、idが優先されます。

そこらへんの属性の優先度に関してはこちらの記事を参照。

最強のプログラミング勉強法が写経

というわけで、写経。

同じように書いているつもりなのに、表示されるページが違うことがありました。意味が分かりません。

全てのコードを自分で打つと、打ち間違いも出てくるし大変なので使えるところはEmmet(エメット)やショートカットキーを積極的に使っていきましょう。

リセットCSSとは?

リセットCSSとは、ブラウザによって異なるデフォルトのCSSを打ち消してブラウザ間の表示を揃えるためのCSSファイルのこと。

見た目をこちら側で何も指定しない場合、そのブラウザに標準で設定されている見た目で表示されます。

そのブラウザごとに異なるデザインが表示されてしまうことを防げるというメリットの方が圧倒的に大きいです。

リセットCSSは、CDNを使ったりコードをコピペするだけで簡単に導入することができるので、Webサイトをコーディングするときには正しくリセットCSSを使用するようにしましょう。

2019年版!おすすめのリセットCSSまとめ | Web Design Trends

分からないことを自分で調べる検索のコツ

分からないことを自分で調べて、情報を引っ張ってくるスキルは現代でとても大事。

しかし、何が分からないかが分からない時もあります。そこで色んなアプローチで情報を集めてみましょう。

HTMLのボックスモデルという考え方

HTMLの全ての要素は、このボックスという概念によって成り立っています。

ただ、文字や画像が白い画面に浮かんでいるんではなくて、それぞれが箱の中に入って並べられていると考えるとWebページを作る時にイメージがしやすかったです。

構成している箱が分からなかったら背景色をつけて見やすくしてみるのひとつの手。

あと、Twitterに面白い考え方があったので、合わせてシェア。

CSSのdisplayとは?

cssのプロパティの一種で「要素をどうやって表示するか?その形式を決めるもの」です。

ざっくり説明すると、

  • block(ブロック)→要素が幅いっぱいに広がる、文字通りブロック。縦に並んでいく。
  • inline(インライン)→要素が横に並んでいく。イメージとしては行の一部でWordに文字打っている感じ。
  • inline-block(インラインブロック)→両者のちょうど中間。中身はブロックで、並びはインライン。
  • none(ノーン)→非表示。

他にもインライン要素では、高さと幅を指定できなかったり、1)中の文字の大きさなどに依存するためブロック要素を中央揃えにするにはmargin:0 auto;にして、中の内容領域を指定してあげないと機能しないなど、特徴があります。

それぞれの細かい特徴や配置に関することは、こちらの記事をチェック。

display:noneとvisibility:hiddenの違い

visibility:hiddenは名前の通り、要素はあるけど見えない状態。

display:noneは、要素も取得されず、完全にその場にない扱い。

Flexbox(フレックスボックス)とは?

簡単にレイアウトができてしまう、超便利な優れもの。

progateではfloatでレイアウトを組んでいますが、現在はこちらのFlexboxの方が主流です。

基本的な考え方としては、

コンテナの親要素の中にアイテムである子要素を入れて、あとは指定するだけ。

 

箱である要素にdisplay:flexとだけ指定してあげて、あとは子要素にどう並べたいかの指定をするだけで簡単に出来ます。

メディアクエリって?

ブラウザの画面サイズに応じてCSSのスタイルを設定できる手法で、レスポンシブなWebページをつくる上でとても重要です。

画面の表示幅の最大値もしくは最小値を設定して、見る端末によって表示する内容を変えることができます。

References   [ + ]

1. 中の文字の大きさなどに依存するため

シェアしてくれたら嬉しくて小躍りします。

記事の感想はこちらから。

ABOUTこの記事をかいた人

よざっち

神奈川生まれ、沖縄育ちの30歳。 中学・高校時代は卓球部で汗を流し、大学時代はサークルでミュージカルに熱中していました。 今はイベントスタッフと書店員の仕事で生計を立てるフリーター。 トラベラーズノートやほぼ日手帳などの手帳も大好きです。   >>詳しいプロフィール >>よざっちの欲しいものリスト