HTML
エディタは VSCode ,ブラウザは Google Chrome になります.
違うエディタ・ブラウザをご使用の方は,当てはまらない部分や自身で読み替えなければいけない場合がありますが,ご了承ください.
お使いのエディタを開いて,prac.html
というファイルを作成してください.
ディレクトリは,クローンしたGitHub Pagesのディレクトリ内以外であればどこでもいいです.
作成し終えたら,お好きなブラウザで開きましょう.
開き方は,GitHub Pagesの準備 でやった通りです!
作成したHTMLファイルを開いて,HTML文書の基本構成を記述していきます.
以下を記述しましょう.
まず,一行目はDOCTYPE宣言
です.
このHTMLファイルがHTML5の構文で書かれていることを明示します.
次にhtml要素
です.
この要素内に記述されたものが,HTMLであると解釈されます.
そして,lang属性
はhtml要素
の属性として記述されます.
こうすることで,html要素内の文書がすべて,指定した言語(ja: 日本語) であると設定できます.
head要素
内にはこのHTML文書のメタ情報を記述するmeta要素
やCSSファイル,JavaScriptファイルといった外部ファイルの参照,CDNなどの参照を記述します.
body要素
では,HTMLの本文を記述します.
以上が,HTMLの基本構成となっています.
head
,body
要素内にマークアップしていくのが,基本的なコーディングになっていきます.
VSCodeなどのエディタでは,Emmetという機能が標準搭載されており,要素名を入力していくと自動で補完候補を提示,Enterを押して確定・自動で記述,といった風にコーディングを効率化することができます.
その中に,HTML5のひな型の補完があります.
prac.html
を一度まっさらにして,html
と入力してみてください.
html:5
に選択を合わせて,Enterを押してください.
このように補完されれば,Emmetの体感できました.
先ほどと少々違いますが,差分を説明します.
まずは,lang属性
がen
になっています.
日本向けの日本語ページを作るなら,ここをja
に書き換えましょう.
meta
要素には,HTMLファイルのメタ情報の設定が記述されます.
この要素は,タグ内に属性を記述することで,メタ情報を付与します.
charset属性
は,このHTMLファイルがどの文字コードで保存されているかを記述します.
ひな型では,UTF-8
が指定されています.
他にも,Shift_JIS
等がありますが,HTML5ではUTF-8
が推奨されています.
VSCodeでは,デフォルトのエンコード設定がUTF-8
になっており,作成したファイルもUTF-8
で記述されたファイルとして保存されます.
エディタがShift_JIS
設定になっている人は,エディタの設定をUTF-8
にするか,charset属性
の設定をShift_JIS
にしてください.
ブラウザは,メタ要素の情報によって文字エンコードするので,設定の乖離があると文字化けします.
このメタ情報は,IE(Internet Explorer)でサイトが開かれたとき,どのIEのバージョンで表示させるか設定します.
特定のIEのバージョンじゃなければ,表示が崩れてしまうような場合に設定します.
content="IE=edge"
は「IEの最新版で表示してね」という設定です.
IEはサポートが終了すること,IEの最新版で表示させることがスタンダードになっている昨今では,上記の設定で十分かもしれません.
そもそも「IEで表示されることは,想定しないので設定しない」といった選択肢もあるため,そういう場合は消してしまってもいいです.
name属性"
の属性値(今回だとviewport)
で,どのメタ情報を設定するのか指定します.
viewportとは、PCやモバイル(スマホ、タブレット)といったデバイスごとにコンテンツの表示領域を設定するためのHTML属性値のことです。
https://seolaboratory.jp/48581/
それぞれのデバイスで,画面の幅は違います.
content属性
の属性値でwidth(幅)
をdevice-width(デバイスの幅)
にし,initial-scale(初期サイズ比)
を1.0
つまり,デバイスの幅にします.
今回の設定は,Googleが推奨している基本の設定です.
レスポンシブルなサイトを作成するためには必須な設定です.
より詳しく知りたい人は,この記事を読みましょう.
viewportとは?設定方法やスマホで効かない原因など徹底解説!
title要素
はこのサイトのタイトルを記述します.
例えば,Qiitaというエンジニア向け情報共有サイトのホーム画面だと,その値はQiita
になっており,タブ部分に表示されます.
titleタグ内の内容は,自分のサイトにあったもの,そのページあったものに書き換えましょう!
以上がHTMLのひな型(VSCode)となります!
先ほど作成した,prac.htmlの body要素
に追記しながら,よく使うタグを試していきましょう!
ただし,最初だけは head要素
を書き換えます.
この記事では,主にCodePenというサイトによるデモを載せています.
タグの解説は,お渡ししたスライドに書いています.
とにかく手を動かしていきましょう!
title | h1~h6 | p | a |
---|---|---|---|
br | em | strong | i |
b | ul | ol | li |
dl | dt | dd | img |
table | tr | th | td |
form | input | label | select |
option | button | div | span |
CSS
を使うhref属性
の属性値にURLを持たせる
target属性
の属性値を_brank
と指定すると,別タブで開ける.まずは外部へのリンク方法.
次に内部へのリンク方法.
prac.htmlと同じディレクトリに,another.html
みたいに適当なHTMLファイルを作成してください.
別名にした場合は各自で読み替えてください.
ファイルの作り方(VSCode)は,GitHub Pagesの準備 で説明した通りです.
そしてそれぞれのファイルに,以下のように記述ましょう.
相対パスで内部ファイルまでのリンクを記述します.
./
はなくてもいいのですが,相対リンクを意識するためにあえて書きました.
リンクをクリックしてみてください!
ページジャンプできたでしょうか?
CSS
でやるCSS
を使うCSS
を使うそれとは別に,読みやすさのために定義されている要素
CSS
を使うCSS
を使うfont-weight
プロパティを使うことが推奨されている
これ,一つ一つ<li></li>
を入力していくのめんどくさいですよね.
3つならまだしも,10や20と増えていったときや,liの中をさらにネストしたいときなど…
ここでEmmetの便利機能を紹介!
(※VSCodeじゃないエディタはよくわかりません)
エディタ上で,ul>li*3
と入力していくと,Emmetから以下のような補完が提示される.
Enterを押すと,簡単に入力の手間を省ける.
意味としてはul(の)>(中に)li(を)*3(3つ)
となります.
さらに,中に段落要素を書きたいとき,これもコピペや手打ちするのは面倒なので,Emmetでさぼりましょう.
かっこの中は一つの塊として認識され,それを ×3 しています.
さらにさらに,p(段落)だけでなくh2(中見出し)も入れたい場合+
記号を使います.
こんなこともできます!
以上便利機能でした.
CSS
で指定src属性
の属性値に画像までの相対パス
を指定alt属性
は代替えテキスト
を指定
width, height属性
は縦横の長さ
を指定
prac.htmlと同じディレクトリにimage
というディレクトリを作成してください.
その中に,好きな画像をコピーしてください.
ない人は以下2枚を右クリックでダウンロードしてください.
936 x 662 | 616 x 616 |
こんな感じ.
body要素を以下のように書きかえます.
外部の画像を参照することもできます.
(ただし,著作権や商標権には注意すること.)
以下をコピペします.
border属性
を指定すると,境界線を表示
以下のコマンドで一気にテーブルを作りましょう!
内容は以下の通り.
以下は,レイアウト目的で使ってしまったダメな例
ページのレイアウトは,CSS
でやります.
このテーブルがレイアウト目的でないことを,ブラウザに対して明示する目的で,border属性
の属性値に1
や空の値
を指定しているということが分かってもらえればと思います.
action属性
:フォーム内容の送信先URLmethod属性
:フォーム送信時にブラウザが使用するHTTPメソッド
GET
, POST
などtype属性
:入力欄の種類を指定
text
,password
,radio
,checkbox
,submit
などたくさん種類があるname属性
:入力欄の名前,JavaScriptなどで,どの入力欄からの値かを識別するためvalue属性
:入力欄の値・入力欄の初期値placeholder属性
:入力欄のプレースホルダーの値required属性
:入力や選択を必須とするための属性for属性
:同値のidを持つフォームと紐づく先ほどの記述では,「男性」や「HTML」といった文字部分をクリックしても,チェックはできませんでした.
よくあるフォームなどでは,文字をクリックすると該当部分にチェックが入ったり,入力欄にフォーカスが行ったりすると思います.
先ほどと見た目の変化はないものの,文字をクリックするとフォーカスが行ったり,チェックが入ったりするようになったと思います.
type属性
:ボタンの種類を指定
button
,submit
,reset
div要素はそれぞれ,デフォルトで縦並びになる.
div要素とは違い,span要素はデフォルトで横並びになる.
HTML講座はここで終了です!
ここまでで,HTML の基本的なことをお伝え出来たかと思います!
次はCSS講座に進みましょう!