WEBサイト制作に欠かせないプログラミング言語(マークアップ言語)といえばHTML・CSSですよね。
現在は、HTML5・CSS3がリリースされており、HTML5とCSS3を使用してWEB制作するのが一般的な方法です。
今回は、HTML5・CSS3の特徴などを紹介します。
「HTML5・CSS3ってなに?」と疑問に思っている人は、ぜひ本記事を参考にしてください。
HTML5の特徴
HTML5の特徴は「header」、「section」、「article」、「nav」、「footer」などの要素(タグ)が追加されたことです。
以前までは、divタグで「header」、「footer」などをidの名称に指定して使用していました。
現在では、「header」、「section」、「article」、「nav」、「footer」などの要素(タグ)が追加されたことで、検索エンジンにWEBページの構造をより明確に伝えることができるようになりました。
なので、これからはid名称に「header」、「footer」など指定するのではなく「header」、「footer」タグを使用するようにしましょう。
HTML5がリリースされるまでのコードの記述例
<!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8"> <link rel="stylesheet" href="style.css"> <title> テストです </title> </head> <body> <div id="header"> ヘッダーです </div> <div id="nav"> <ul> <li>リストです</li> <li>リストです</li> <li>リストです</li> <li>リストです</li> <li>リストです</li> </ul> </div> <div id="main"> メインです。 <div id="section"> セクションです </div> </div> <div id="footer"> フッターです </div> </body> </html>
「header」、「section」、「nav」、「footer」などにdivを割り当てているのが特徴です。
HTML5ではこのようなdivの割り当てが不要になります。
<!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8"> <link rel="stylesheet" href="style.css"> <title> テストです </title> </head> <body> <header> ヘッダーです </header> <nav> <ul> <li>リストです</li> <li>リストです</li> <li>リストです</li> <li>リストです</li> <li>リストです</li> </ul> </nav> <main> メインです。 <section> セクションです </section> </main> <footer> フッターです </footer> </body> </html>
「header」、「section」、「nav」、「footer」などにdivを割り当てがなくなりました。
こちらの方が検索エンジンWEBページの構造が伝わりやすくなります。
なので、検索結果の順位の変動にも影響する可能性もあります。
また、HTML5の記述の方がシンプルで見やすくなったのが特徴です。
HTML5ではこのような要素が追加されました。
要素名 | 使用用途 |
---|---|
footer | フッターの箇所に使用します 一般的にページの一番最後にフッターを設置しています |
header | ロゴ・トップイメージなどの親要素に使用します |
article | 記事・記事のコメント部分に使用するタグ。内容が単体で終わる箇所に使用する |
aside | 補足情報の箇所に使用する |
audio | 音声ファイルの箇所に使用する |
canvas | 図形を描く際に使用する 初期値は横300、縦150になっている |
datalist | 主にフォームで使用するタグです 入力欄などで入力候補となるデータリストを定義します |
figure | 写真・イラストなど図表であることを示す際に使用します |
menu | 操作メニューを作成する際に使用します |
nav | ナビゲーションの箇所に使用します 主にグローバルナビゲーション部分に使用されることが多いです |
output | 計算結果を出す際に使用します |
section | ある程度情報がひとまとまりになっている部分に使用します 汎用性が高く、様々な箇所で使用することが可能です |
source | audio・videoなどメディア要素の子要素として使用します 使用するファイルのURL指定する際に使用します |
time | 日時を示す箇所に使用します |
HTML5は追加される要素があります。
それとは反対に廃止される要素も要素もあるので、紹介します。
以下の要素はHTML5で廃止される予定の要素です。
要素名 | 使用用途 |
---|---|
xmp | ソースをそのまま表示するための要素です コードをプログラムとして扱わず、そのまま表示させたいときに使用されます HTLML5からはpreタグやcodeタグだけを使用するようになりました |
listing | ソースをそのまま表示するための要素です HTLML5からはpreタグやcodeタグだけを使用するようになりました |
u | テキストにアンダーラインを引くための要素です HTLML5からはcssのtext-decoration: underlineで指定するようになりました |
strike | 打ち消し線を引く要素です HTLML5からはcssのtext-decoration: line-throughで指定するようになりました |
spacer | 間隔をあけるための要素です paddeing・marginなど使って間隔を指定します |
isindex | 入力欄を作るための要素です HTLML5からはform・input type=”text”などを使用します |
font | フォントの大きさ・種類・色を指定するための要素です HTLML5からはHTMLタグでfontを指定するのではなく、cssのfontプロパティで使用します |
HTML5の特徴・追加される要素・廃止される予定の要素などを紹介しました。
次はCSS3の特徴について紹介します。
CSS3の特徴
まずは、cssの基本的な役割について説明します。
cssは、WEBサイトのデザインを整える機能を持っています。
なので、美しいWEBサイトに仕上げるためにはcssが必要です。
cssには、css1・css2・css3の3つのバージョンがあります。
バージョンが上がるにつれて、機能が追加されます。
CSS3の機能
・ボックスのレイアウト
flexboxを使用することでボックスレイアウトを変更することができます。
以前はfloat設定することでレイアウトを変更するのが一般的でした。
しかし、floatを設定すると要素が崩れることがあり、初心者が扱うには難易度が高いのが難点です。
flexboxを使用すれば初心者でも簡単にレイアウトを変更できます。
サンプルコードを使って解説します。
html <div id="container"> <div class="box">box1</div> <div class="box">box2</div> <div class="box">box3</div> <div class="box">box4</div> </div> css #container { display: flex; }
flexboxは、「display: flex;」を指定するだけで子要素が横に並びます。
また、以下のサンプルコードのように子要素の並び順を変更することも可能です。
css #container { flex-direction: row-reverse; flex-direction: column; flex-direction: column-reverse; }
row・・・子要素を左から右に配置する(デフォルトの値)
row-reverse・・・子要素を左から右に配置する
column・・・子要素を上から下に配置する
column-reverse・・・子要素を下から上に配置する
要素を複数行に配置するには以下のコードを使用します。
css #container { flex-wrap: wrap; flex-wrap: wrap-reverse; }
nowrap・・・一行に配置する(デフォルトの値)
wrap・・・上から下に複数行に配置する
wrap-reverse・・・下から上に複数行に配置する
子要素の配置間隔、子要素の配置開始位置を変更することも可能です。
css #container { justify-content: flex-end; justify-content: center; justify-content: space-between; justify-content: space-around; }
flex-start・・・左から子要素を配置する
flex-end・・・右から子要素を配置する
center・・・真ん中から子要素を配置する
space-between・・・最初と最後の子要素を両端に配置、残りの要素は間隔を均等にあけて配置する
space-around・・・全ての子要素間隔を均等にあけて配置する
子要素の垂直方向の並びを変化させるためにはこのようにコードを記述します。
css #container { align-items: flex-start; align-items: flex-end; align-items: center; align-items: baseline; }
stretch・・・親要素の高さまたは子要素の中にあるコンテンツの高さに合わせて配置する(初期値)
flex-start・・・上部から配置する。
flex-end・・・下部から配置する。
center・・・中央に配置する
baseline・・・子要素の中にあるコンテンツのベースラインを基準に配置する
・アニメーション
アニメーションはその名前の通りcssで動きをつけることができます。
動きを表現するのは、javascriptやjQueryなどが主流です。
javascriptやjQueryなどは多様な表現、複雑な動きを表現できます。
しかし、javascriptやjQueryはcssよりも難易度が高く、初心者には理解しにくいのが難点です。
cssのアニメーションはtransitionやanimationなどを使用します。
しかし、これらはOSやブラウザによっては表示されないこともあるので、注意が必要です。
transitionの対応ブラウザ
PCの場合
internet explorer・・・ バージョン6・7・8・9は未対応、バージョン10・11は対応
Firefox・Chrome・Safariは対応
iOSの場合
Safariに対応している
Androidの場合
Chrome・Firefoxに対応している
animationの対応ブラウザ
PCの場合
internet explorer・・・バージョン6・7・8・9は未対応、バージョン10・11は対応
Chrome・Safariは一部未対応の部分もある
Firefoxには対応している
iOSの場合
Safariは一部未対応の部分もある
Androidの場合
Chromeは一部未対応の部分もある
Firefoxには対応している
transitionではこのようなプロバティを使用できます。
clip・・・クリッピングマスク(切り抜き)ができる
visibility・・・表示・非表示が設定できる
background-color・・・背景色の指定ができる
使用できるプロパティのごく一部を紹介しました。
次はコードを描くには欠かせないエディタを紹介します。
おすすめのエディタ
コード記述の生産性を飛躍的にアップさせるのがエディタです。
使いやすいエディタを使用することで、スペルミスを防ぐこともできます。
ここではおすすめのエディタを2つ紹介します。
Sublime Text
Atom
豊富な機能性を搭載しているエディタといえばAtomです。
比較的新しいエディタで機能性の高さ、おしゃれなユーザーインターフェイスが人気を集めています。
「パッケージ」と呼ばれる拡張機能を追加することで、自分に最適なエディタに仕上げることが可能です。
Atomは、無料で使用することができます。
現在、急激にユーザーを増やしているエディタなので、ぜひ使ってみてください。
AtomダウンロードURL:https://atom.io/
まとめ
今回はHTML5&CSS3の解説とおすすめのエディタ2つを紹介しました。
いかがでしたか?
現在は、HTML5&CSS3が主流になっているので、コーディングする際はHTML5&CSS3を使うようにしましょう。
コーディングの技術は日々進化しているので、常に情報を入手してスキルアップを目指しましょう。