HTML

【プログラミング初心者のためのHTML講座】第3回目:ブラウザごとの互換性

たくぞー
たくぞー
今日はHTML講座の第3回目をやっていきましょう!今回はブラウザごとの互換性について解説していきます。それでは始めていきましょう!

第3回目:ブラウザごとの互換性

こんにちは!たくぞー(Instagram:takuzo0405)です。

今日はHTML講座の第3回目、ブラウザごとの互換性に着目して解説していきます。

第1回目~2回目の講座を見ていない方はこちらからご覧ください。

【プログラミング初心者のためのHTML講座】第1回目:Webページの仕組みについてこんにちは!フリーランスWebデザイナーのたくぞーです。未経験から3ヶ月で案件獲得した僕が【全4回】コーディングを勉強したい初心者・入門者向けの基礎HTML講座を無料で提供!今回は第1回目、Webページの仕組みについて解説していきます!...
【プログラミング初心者のためのHTML講座】第2回目:タグの属性についてこんにちは!フリーランスWebデザイナーのたくぞーです。未経験から3ヶ月で案件獲得した僕が【全4回】コーディングを勉強したい初心者・入門者向けの基礎HTML講座を無料で提供!今回は第2回目、タグの属性について解説していきます!...

それではさっそく始めていきたいと思います。

各ブラウザによってデフォルトのスタイルが異なる

HTMLタグにはpタグやbrタグ、divタグなど様々なタグが存在しますが、見るブラウザによって見た目が異なることがあります。

ブラウザのシェア率というのは日本では、Google Chrome・Firefox・Safari・Internet Explorer(IE)の4つがメジャーどころとして使われていますが、これらのブラウザがあることによって多くのエンジニアが苦しめられて至ります。

具体的に言うと、

  • ブラウザによって見た目が変わるHTMLタグ
  • ブラウザによって使えないHTMLタグ

この2つが存在するために多くのエンジニアが頭を悩まされます。

これらについてより具体的に解説していきたいと思います。

今回はChromeとFirefox、Safariの3つのブラウザを用意しました。

ブラウザ比較検証

この3つのブラウザで比較検証していきたいと思います(テキストエディタはVSコードを使用しています)。

ブラウザによって見た目が変わるHTMLタグ

HTMLタグにはブラウザによって同じような見た目になってくれないHTMLタグがあります。分かりやすいものでいうと、buttonタグを見てみましょう。

buttonタグの比較

左のChromeと比べると、Firefox(真ん中)はボタンの色が濃い目のグレー、Safari(右)はボタンのサイズが小さく見えますね。

他にも、区切り線として使用することがあるhrタグも見てみると、

hrタグの比較

Chrome(左)とSafari(右)は細い線で表示されているのに対して、Firefox(真ん中)は太い線が表示されました。

このように、同じタグなのに、ブラウザによって見た目が違ったりするものがあります。

この3つのブラウザではそこまで大きすぎる違いはありませんでしたが、以前はInternet Explorer(IE)と呼ばれるWindowsの標準ブラウザではこれ以上に見た目が変わってしまうこともあり、ブラウザ同士でのレスポンシブ化をするのに苦労する、なんてこともあったようです。

最近ではIEはMicrosoft Edgeというブラウザに変わり、差異は無くなってきました。

ブラウザによって使えないHTMLタグ

次は、特定のブラウザでは使えない、サポートがされていないHTMLタグもご紹介します。

formタグの中で使用するinputタグで、日付を指定するためのもの(input type=”date”)があるのですが、こちらを見てみましょう。

inputタグの比較

はい、このように表示されました。
すべて見た目が異なりますね。

Chrome(左)では年/月/日と日本語で、Firefox(真ん中)ではyyyy/mm/ddと英語表記、Safariでは何も表示されていません。さらに、input type=”date”の機能として、クリックしたときにカレンダーが表示されるのですが、Safariではカレンダーは表示されません。

各ブラウザのカレンダーの見た目

※上の画像ではWindows版のSafariのため、フォームの右側に日付入力のための矢印が表示されているようです。Mac OSではこの矢印も表示されません。

このようにブラウザによってサポートされていないHTMLタグが存在しているのですが、これらもMDNリファレンスのサイトで確認することができます。

試しにinputタグを見てみましょう。HTML要素リファレンスのページからinputタグを見つけます。

属性の互換性をチェックしよう1

少し下にスクロールして、dateの属性を見つけたらクリック。

属性の互換性をチェックしよう2

ページの下の方にある「ブラウザーの互換性」というところをチェックすると、HTMLタグ(属性)のブラウザとの互換性をチェックすることができます。

属性の互換性をチェックしよう3

「あれ?緑色やん。フルサポートされてるんじゃないの?」

確かに、サポート済みみたいです。え、じゃあバグがなにか??

念のため、もう一つのサイトで互換性をチェックしてみましょう。ブラウザの互換性チェックでよく使われているサイトに「Can I use」というWebサイトがあります。

こちらのサイトで見てみます。

「input type=”date”」と検索。

aniuseの互換性チェック1

表示された結果を見てみると、どうやらSafari Ver14.5で2021年4月26日にサポートされたみたいですね。

caniuseの互換性チェック2

これ以前のバージョン、あるいは非対応のブラウザではMDNリファレンスに記載の通り、input type=”date”はinput type=”text”へと格下げされてしまい使うことができません。

非対応ブラウザでの代替はテキストエリア

このように、ブラウザで直接表示されるような特殊なタグ、あるいは属性に関してはブラウザによって見た目が異なってきたり非対応だったりすることがあるので、しっかりと確認する必要があります。

そうすることで、最後のブラウザチェックのときに互換性の有無で苦しむことが無くなります。

まとめ:第4回へ続く

ここまで、各ブラウザごとの互換性について見てきました。

第3回目の講座では、

  • ブラウザによって見た目が変わるHTMLタグ
  • ブラウザによって使えないHTMLタグ

を解説していきました。

buttonタグやhrタグなどHTML要素によって見た目が変わってくるものだったり、input=”date”だったりそもそもブラウザによって使えるもの、使えないものがあるという内容でした。

このあたりはしっかりと抑えておくことはフロントエンドエンジニアとして活動していく上で大切なことになりますので、ぜひしっかりと抑えておきましょう。

以上で、第3回目のHTML講座を終了したいと思います。

では、また次の講座でお会いしましょう。

第4回目の講座はこちらから↓

【プログラミング初心者のためのHTML講座】第4回目:HTMLマークアップ実践こんにちは!フリーランスWebデザイナーのたくぞーです。未経験から3ヶ月で案件獲得した僕が【全4回】コーディングを勉強したい初心者・入門者向けの基礎HTML講座を無料で提供!今回は第4回目、今まで学んだことを活かして実際にマークアップをしてみましょう!...
Web Sense
「正しいコードが書けていないかも」
「ホームページ制作の独学に限界を感じている」
「HTML・CSSをマスターして単価を上げたい」

そんなお悩みをこれ一つで解決!
本格ホームページを作りたい方はこちら

『Web Sense』公式ページ