どうも!職業訓練生のがっちゃんです!
ただいま、「情報セキュリティ管理者資格コース」を絶賛受講中です!ここでは職業訓練で学んだことを復習がてら掲載しています。このコースの受講を検討中の方への参考になればと思います。
今回は「HTML」と「CSS」の基本について学んだことをお伝えします!「その①」と「その②」とに分かれていますので、どちらも見ていただければ幸いです!
HTMLって、なんぞ!?
「Hyper Text Markup Language」の略称で、ホームページを作るときに使うヤツです。「マークアップ言語」という、タグで囲んで構造を表現する目印をつけるルールのことです。仲間に「XML」とかいうヤツもいます。
今回は、コードエディタ「Visual Studio Code」を使いました。無料のソフトですが、コードを入力するときに「このコードを使う!?」「このフォルダのこのデータを使う!?」みたいに入力補助をしてくれて、とても便利です。
他にも「Dream Weaver」(ドリームウイーバー:有料。Macでよく使われるらしい)とか「Atom」(アトム:無料)とかも入力補助をしてくれて快適にコード入力できます。「サクラエディタ」「ノートパッド」(いずれも無料)でもコード入力できますが、入力補助とか便利機能はありません。
「Visual Studio Code」をインストールしたら「拡張機能」から、コマンドを日本語表示してくれる「Japanese Language Pac for Visual Studio Code」と、HTMLコードをブラウザで表示できる「View In Browser」をインストールしておくことをオススメします!
ディレクトリ(フォルダ)の作成
まずは、サイトで使用するデータをまとめるためのフォルダを作成します。一般的にはユーザディレクトリに「www」「htdocs」という名前でフォルダを作成するそうです。MacOSの場合、ユーザディレクトリに「Sites」というフォルダがあり、その中に作成します。今回はWindowsマシンで以下のようにフォルダを作成しました。お好きな場所(デスクトップでもOK)にお好きな名前で、気軽に作成してください。
index.htmlファイルの作成
「visual Studio Code」を開き、作成したフォルダ、ここでは「brog」フォルダを開き「index.html」というファイルを作成します。
下図の黄色いところに「index.html」と入力すれば「index.html」ファイルの完成です!
HTMLの基本構造
これを入力しないとホームページとして表示されません。イチから入力すると大変ですが、入力補助があればチョーカンタンです!
それではコードを入力していきましょう!なんかワクワクしますね!では「html」と入力してみてください。「ht」だけでもいいですよ。すると、以下のように入力補助が出てきますので、「html5:」を選択してください。
あら不思議!HTMLの基本構造が出来上がりました!
それぞれ簡単に説明すると以下のような感じです。
1 2 3 4 5 6 7 8 9 10 11 |
<!DOCTYPE html> ←HTMLのバージョンを表す宣言 <html lang="en"> ←HTMLの開始タグ(langは言語のこと。enは英語、jaは日本語) <head> ←head(HTMLの様々な情報を書いておくところ)開始ダグ <meta charset="UTF-8"> ←使用する文字コード。「UTF-8」が一般的 <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> ←ブラウザのタブに表示されるタイトル </head> ←head終了タグ <body> ←body(ホームページの本文。ブラウザに表示されるところです)開始ダグ </body> ←body終了ダグ </html> ←HTML終了タグ |
これでホームページが表示されちゃいます!ではさっそく!bodyタグ内に文字を入力していきましょう!
開始タグと終了タグ
表示したい文字を「開始タグ」(< >)と「終了タグ」(< />)で囲みます。終了タグには「/」がつきます。タグの中には「属性」(表示させるための設定)をあらわす英数字を書きます。たまに終了タグが必要ないものもあります。
見出しタグ
見出しタグ(heading)には、<h#>を使います。<h1>から<h6>まであります。一番大きな見出しが<h1>で<6h>が一番小さい見出しです。
見出しの数字には意味があります。大きなものから順番に使います。表示される大きさだけで判断するのは間違った使い方です。h1タグはホームページタイトルになるため、1Webページに1回だけ、h2~h6は何回でも使用できます。
それでは「body」タグの中に、以下の例を入力して表示してみましょう。
1 2 3 4 5 6 |
<h1>これは見出しh1です</h1> <h2>これは見出しh2です</h2> <h3>これは見出しh3です</h3> <h4>これは見出しh4です</h4> <h5>これは見出しh5です</h5> <h6>これは見出しh6です</h6> |
これまた例の入力補助を使うとカンタンに入力できます!「h」と入力すれば、以下のように入力候補が出てきますので「h1」を選択すれば・・・、
このように入力が完了します。あとはh1タグの間にはさむように、「これは見出しh1です」と入力すればOKです!
同じように入力していきましょう。入力完了したらショートカットキー「ctrl」+「s」で上書き保存しておきましょう。下図中央上のファイル名の横に「●」が付いているのは「保存できてないよ」の合図です。「ファイル」→「保存」でもいいのですが、ショートカットキーを使えば、なんかプロっぽいでしょ!?保存もパパッとできますしね。入力して保存したら「View In Browser」でブラウザ画面で表示させてみましょう。画面左側に表示されているファイル名「<>index.html」の上にマウスを持っていき「右クリック」すると「View In Browser」のコマンドが出てくるので選択して下さい。
そうすると、こんな感じでブラウザ画面に表示されます。
私は、はじめて自分の書いたコードがブラウザで表示されたとき、感動しちゃいましたもんね。でもって余計な文字をいっぱい入力して遊んじゃいましたよ。皆さんもはじめてのときは感動していろいろ文字を入力してませんでしたか!?
段落タグ
段落(paragraph)タグは、<p>で表します。<h#>タグと<p>タグで囲まれた内容は改行されます。
1 2 3 4 |
<h1>情報セキュリティ管理者資格コース</h1> <h2>HTML基礎講座</h2> <p>タグをマスターしよう!</p> <p>タグには開始タグと終了タグがあります!</P> |
コメント
<!-- と --> で囲んだ文字などはコメントになり、ブラウザに表示されません。何のコードを書いたのかをメモするのに使用します。
画像の表示
画像を表示するには<img>タグを使います。src(ソース)属性で画像ファイルの場所を指定することで画像を読み込み、画面表示させます。<img>タグは開始タグのみで、終了タグがありません。終了タグがないタグは、開始タグの後ろに「/」を付けます。省略しても大丈夫です。widthは画像の横幅、heightは画像の縦幅を決める属性です。ほかにも画像の説明を書き込む「alt」属性があります。
リンクの作成
リンクとはWebサイト上で他のファイルの住所(URL)を表すもののことです。リンクを作成するにはテキストを<a>タグ(アンカータグ)で囲みます。<a>タグにはリンク先を指示するhref属性を記載します。タグと属性は半角スペースで区切ります。属性の値はダブルクオート(”)で囲みます。<a>タグに囲まれた内容をアンカーテキストと言います。「target=”_blank”」を指定することで新しいウインドウ(タブ)でリンク先のwebページが開きます。
リスト(箇条書き)を作る
リスト(箇条書き)とは、「・」や「番号」を使っていくつかの項目をひとつひとつ書き並べることです。リストを作成するには「<ul>タグと<li>」(先頭に「・」をつけてリスト作成)もしくは「<ul>タグと<ol>」(先頭に「番号」を付けてリスト作成)いずれかのセットで使います。
今回も入力補助を使えばあっという間にコードを書くことが可能です。「ul>li*5」と入力して「enter」キーを押せば・・・、
あっという間に出来上がります!入力補助、ありがとう!!
1 2 3 4 5 6 7 |
<ul> <li>1つめの項目</li> <li>2つめの項目</li> <li>3つめの項目</li> <li>4つめの項目</li> <li>5つめの項目</li> </ul> |
今回のように「<ul>」タグの中に「<li>」タグが入っていることを「入れ子構造(ネスト)」と言います。コードを書く場合、上の例のように、子の要素(「<li>」)をインデント(字下げ)して書くことによって読みやすく、見やすくしてあげます。
強調
ある文字を強調したい場合は、<strong>タグを使用します。
タ グ | 意 味 | 備 考 |
<br>もしくは<br/> | 強制改行 | 「ブレーク」と読む。終了タグなし。 |
<strong>文字列</strong> | 重要 | 重要性を表現。 |
<b>文字列</b> | 太字 | 文字列を他の文字と区別する。 |
<cite>文字列</cite> | 作品名 | 作品名に使用。 |
<em>文字列</em> | 強調 | アクセントとして使用。 |
<i>文字列</i> | 斜体 | 他のテキストと区別する。 |
<q>文字列</q> | 引用 | 引用句、引用文の意味として使用。 |
<span>文字列</span> | 意味なし | CSSやJavaScriptなどで使用。 |
<sub>文字列</sub> | 下付き文字 | 化学式などで使用 |
<sup>文字列</sup> | 上付き文字 | 累乗表現などで使用 |
実際に上のコードを順番に書いてブラウザに表示するとこんな感じになりました。
内部リンクへのパス
パスとは、現在のファイルから目的とするファイルまでの道筋を表現するものです。フォルダ(ディレクトリ)の区切りには「/」を使用します。コンピュータにファイルの場所を伝えるためにパスを書く必要があります。
同じサイト内のファイルや画像にリンクを張る場合(内部リンク)
基準のページ「apple.html」で「apple.png」画像を使いたい場合、「../img/apple.png」と書きます。「../」は、1つ上の階層のディレクトリ(フォルダ)を示します。このような記述を「相対リンク」とか「相対パス」と呼びます。
ちなみに同じ階層(カレントディレクトリ)の場合は「./」と示します。「./」は省略しても構いません。
https://webliker.info/78726/ より画像引用
では問題です。次の図で「index.html」で、「lemon.png」を使いたい場合、相対リンクはどのように書けば良いでしょうか?
答えは「./img/lemon.png」もしくは「img/lemon.png」となります。
別のサイトのファイルにリンクする場合(外部リンク)
「http://」から始まるURLでリンクさせます。このような記述を「絶対リンク」とか「絶対パス」と呼びます。
特殊な文字の入力(文字実体参照)
HTML上で「記述ができない」「入力が困難」な文字をブラウザに表示させるためのテクニックです。実体参照で書くことで、タグとして扱われないようにするということです。
入力困難な文字 | 文字実体参照 | 説 明 |
< | < | 小なり記号 |
> | > | 大なり記号 |
& | & | アンバサンド |
” | " | ダブルクオート |
半角スペース | | 半角スペース |
¥ | ¥ | 円 |
丸で囲まれたC | © | 著作権 |
実際にWebサイトを作成してみる
今までのことを踏まえて、これから実際に「クジラカフェ」という架空のWebサイトを作成してみましょう。
事前準備
Webサイトのデータを管理するディレクトリ(フォルダ)を作成します。今回は「cafe」というフォルダを作成します。
「cafe」ディレクトリ内に「images」というディレクトリを作り、サイトで使用する画像を入れておきます。サイトで使用する画像は、以下の4つをダウンロードしてください。
トップページ「index.html」を作成する
コードエディタ「Visual Studio Code」で、先ほど作成した「cafe」ディレクトリ内に「index.html」というファイルを作成します。内容は以下の通りに入力していきます。
※<head>内に、「その②」で作成するCSSファイルを適用させるためのリンク(<link rel=”stylesheet” href=”./style.css”>)をあらかじめ書かせてもらっています。ご了承ください。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
<!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>KUJIRA Cafeにようこそ!</title> <link rel="stylesheet" href="./style.css"> </head> <body> <div class="wrapper"> <!--ヘッダー--> <h1 id="logo"><img src="./images/logo.png" alt="Kujira Cafe"></h1> <ul id="nav"> <li><a href="#">ホーム</a></li> <li><a href="#">店舗案内</a></li> <li><a href="./images/map.png">アクセス</a></li> <li><a href="#">メニュー</a></li> <li><a href="#">お問い合わせ</a></li> </ul> <!--ヘッダーはここまで!--> <!--メイン--> <div class="keyvisual"> <img src="./images/keyvisual.jpg" alt="クジラカフェ自慢のタルトです" /> </div> <h2 id="news">News</h2> <p class="news_item">5月30日、『<a href="http://www.sbcr.jp"target="_blank">ここでしか味わえない!おいしいうれしい満喫カフェ</a>』に掲載されました!</p> <p class="news_item">4月18日、KUJIRA cafe がオープンしました!ここ九楽寺の町で、皆さんが気軽に立ち寄れる、ゆったりと過ごせる落ち着いた場所にしたいと思っています!</p> <!--メインはここまで!--> <!--フッター--> <div id="footer"> <p>©Copyright KUJIRA cafe. All rights reserved.</p> </div> <!--フッターはここまで!--> </div> </body> </html> |
今回新しく出てきたタグ
「index.html」の入力、お疲れさまでした!見慣れないタグが出てきましたね。それらについて少し説明しておきます。
要素のグループ化
これから後半戦で出てくる「CSS」というWebページのレイアウトやデザインを整えていくものを使用する場合、複数の要素(タグ)をグループにしておく必要があります。グループ化に使うタグが「<div>」(ディブタグ)です。「index.html」では3か所書き加えています。
「<div>」タグを追加して要素をまとめただけですので、今はまだブラウザで見ても、変化はありません。「<div>」タグに合わせてインデントしています。これによりHTMLを見やすくすると同時に記述ミスを減らす効果があります。
要素に名前を付ける
要素をグループ化しましたが、それぞれのグループに名前を付けて区別することにより、特定の要素にだけCSSを反映させることができます。
タグに名前をつける方法の一つが「class」(クラスセレクタ)です。
まとめ
以上、HTMLの基本でしたが、皆さん、いかがでしたか?Webページの作成って、そんなに難しくないですよね!?え!?今風な、画像がスライドするヤツとか出てけえヘンかったけど、あれはどないするって!?サイドバーとかも欲しいって!?
それはまぁ、初心者にはちょっと手が負えないわけで、また次の機会ということで!
次は、ここで作成した「index.html」をCSSで、レイアウトやデザインを整えていきたいと思います。その②に続く、ということで!
それでは本日も最後までお付き合いいただき、ありがとうございました!