CSSセレクタを最適化してWebサイトを高速化

Webデザイナーの中にはデザインだけでなくコーディングまで担当している方も多いと思いますが、CSSがどのような処理を経てHTMLに適用されているかご存知でしょうか?

CSSでスタイルを指定するセレクタには「要素型セレクタ」や「クラスセレクタ」「子孫セレクタ」「隣接セレクタ」など色々ありますが、使用するセレクタによってはHTMLへの適用処理に時間がかかり、パフォーマンス低下の要因となるものがあります。

今回はCSSがHTMLに適用される仕組みと、パフォーマンス向上のための改善ポイントについて紹介します。

1. ブラウザのレンダリング

CSSがHTMLにどのように適用されているかを知るには、ブラウザのレンダリングについて理解する必要があります。ChromeやSafariなどブラウザによって使用されているレンダリングエンジンは異なりますが、いずれもページが表示されるまでのプロセスは、次の4つのフェーズに分けることができます。

ブラウザのレンダリング

1-1. Loading

最初のフェーズではリソースの「ダウンロード」と「パース」の2つの処理が行われます。

「リソースのダウンロード(Download)」
最初にHTMLを取得し、その中で参照されているCSS、JavaScript、画像ファイルといったリソースが読み込まれます。

「リソースのパース(Parse)」
取得したリソースをパース(構文解析)して、レンダリングエンジンの内部表現に変換します。
・HTML → DOMツリー(Document Object Model)に変換。
・CSS → CSSOMツリー(CSS Object Model)に変換。

1-2. Scripting

JavaScriptのコードをJavaScriptエンジンに引き渡して実行します。

1-3. Rendering

レイアウトツリーを構築します。このフェーズでは「スタイルの計算」と「レイアウト」の2つの処理が行われます。

「スタイルの計算(Calculate Style)」
DOM要素に対して、どのCSSプロパティが適用されるかを計算する。

「レイアウト(Layout)」
要素の大きさや余白、位置などのレイアウト情報を計算する。

1-4. Painting

最後にレンダリング結果を描画します。このフェーズでようやくユーザーが見る画面が描画されます。ここでは「ペイント(Paint)」「ラスタライズ(Rasterize)」「レイヤーの合成(Composite Layers)」の3つの処理が行われます。


これら4つの処理にかかる時間は、Chromeの開発者ツールで確認することができます。

開発者ツールで確認   1. Chromeで計測したいサイトを開く。 2. 開発者ツールを起動して「パフォーマンス」タブを開く。 3. ページをリロードする。 4. 「Summary」に各フェーズの処理時間が表示される。

2. スタイルの計算(Calculate Style)

CSSがHTMLに適用されるのは「Rendering」フェーズの「スタイルの計算(Calculate Style)」になります。ここからはCSSがどのように処理されているのかを紹介します。

2-1. マッチング処理は総当り

「Loading」フェーズで構築されたDOMツリーとCSSOMツリーから、すべてのDOM要素に対して、どのCSSプロパティが当たるのかを計算します。この時の計算方法は、すべてのDOM要素にどのCSSルールのセレクタがマッチするのか総当りしていきます。例えばDOM要素が100個、CSSルールが50個あった場合、100×50=5,000回のマッチング処理が行われることになります。

1つのDOM要素に複数のCSSルールがマッチする場合は、CSSルールの詳細度を算出して、適用するCSSプロパティを判断していきます。

2-2. CSSセレクタの処理は右から左

あるDOM要素とCSSルールが適合するかどうかは、CSSセレクタのマッチング処理によって判別されます。そしてCSSセレクタのマッチング処理は、右から左に向けて行われます。

例)CSSセレクタのマッチング処理の流れ


body > .header > a.logo { ... }

1. DOM要素のclassに「logo」が含まれている
2. その要素名が「a」である
3. その親要素のclassに「header」が含まれている
4. その親要素のDOM要素名が「body」である

一見、記述通りに左から右へ処理されていくと思ってしまいがちなので注意です。右から順に一つ一つの試行がすべて通って、はじめてマッチしているとみなされます。

3. CSSの最適化

CSSがHTMLに適用される仕組みを知ると、改善するポイントが見えてきます。ここからはパフォーマンスを考慮したCSSセレクタの記述方法について紹介します。

3-1. CSSセレクタをシンプルにする

CSSセレクタの処理が右から左に行われるということは、セレクタの記述が長ければ長いほど、処理に時間がかかるということになります。これを改善する方法はセレクタの記述をシンプルにすることです。複数のセレクタを組み合わせて指定するのをやめて、クラスセレクタ1つで記述することでマッチング処理が最速になります。

例1)h1タグにclassを付与する


// BAD
div.box > h1 { ... }

// GOOD
.box__title { ... }

例2)aタグにclassを付与する


// BAD
nav.g-nav > ul > li > a { ... }

// GOOD
.g-nav__link { ... }

CSSセレクタをシンプルに記述するには、CSS設計の「BEM」を取り入れるのが有効です。BEMは基本的に1つのクラスセレクタのみを使用するルールとなっており、classの命名規則も定まっているため、非常に効率良くコーディングを進めることができます。

BEMについては以前のコラムでも紹介しているので、合わせてご覧ください。

https://dol.co.jp/column/bem%e3%83%bbflocss%e3%81%ab%e3%82%88%e3%82%8bcss%e8%a8%ad%e8%a8%88%e3%81%ae%e3%81%99%e3%81%99%e3%82%81/

3-2. 子孫セレクタや間接セレクタを控える

子孫セレクタや間接セレクタは要素の親子関係で指定するため、必然的にセレクタの記述が長くなってしまいます。また、これらのセレクタはマッチング処理でたどる要素が大きくなりすぎてしまうので、極力使用するのは控えましょう。

例)子孫セレクタ


#wrapper .box { ... }

例)間接セレクタ(h1以降にあるp要素)


h1 ~ p { ... }

3-3. 不要なCSSルールを削除する

コーディングを進めていると初期に記述したCSSルールで不要なものも出てきますが、忘れずにしっかり削除しましょう。CSSセレクタのマッチングは総当りで行われるので、不要なCSSルールを1つでも減らすことができれば、DOM要素の数だけ処理を減らすことができます。

おわりに

今回はブラウザレンダリングの仕組みと、CSSセレクタの最適化について紹介しました。

Webデザイナーとして勤めている方でも、CSSセレクタが右から処理されていることを知らなかった…という人はいるのではないでしょうか?ブラウザレンダリングの仕組みを知らなくてもサイトを作ることは可能ですが、仕組みを理解していないとサイトが重たくなる要因がどこにあるのか気付くことができません。優れたUX(ユーザー体験)を提供するためにも、パフォーマンス向上となるポイントがどこなのか把握できるようにしておきましょう。


弊社では士業やメディア、医療関係を中心にサイト制作を行っております。Webサイトについてお悩みのある方はお気軽にお問い合わせください。

参考文献:
『Webフロントエンド ハイパフォーマンス チューニング』久保田光則・著

情報を分かりやすく伝えるためのWebデザイン 4つの法則

 

Webデザインを行う人を”デザイナー”と呼ぶため、なにか芸術的なデザインを創り出すアーティストのようなイメージを持つ方も少なくないかと思います。
しかし、Webデザインは「コンテンツ(情報)をいかに分かりやすく適確に伝えるか」がベースとなります。

 

それゆえ抽象的であったり、解釈が見る人によって変わってしまうようなデザインでは、情報伝達の目的を達成しているとは言えません。

 

また、コンテンツや目的・伝えたいことが定まらない状態でデザインだけを先に進めることも困難です。コンテンツや目的が揃って、はじめてデザインに取り掛かることができます。

 

これらを踏まえてWebデザインを作成するには、分かりやすくなる理由(=理論・統計)を知り実践していくことが大事です。

 

そこで今回は、より良いデザインにするために役立つであろう法則を紹介します。

①「5ハットラックス The Five Ultimate Hatracks/LATCH」

情報デザインや情報アーキテクチャ分野における先駆者、リチャード・ソール・ワーマン氏が提唱した情報の整理方法です。

情報を分かりやすく表現する術を知る

1. ロケーション
場所と情報を組み合わせて表示することで分かりやすくなる。
例)電車の路線図、ショッピングモールのフロアマップ

 

2. アルファベット
数が多い時に利用すれば探しやすくなる。
例)あいうえお順に表示された都道県や国名など

 

3. 時間
時系列に沿って情報を表示し、見つけやすくする。
例)ニュースサイトでの新着順記事や、twitterやfacebookの投稿

 

4. カテゴリ
サイズ別・色別などカテゴリで情報の表示を分別する。
例)家電量販店サイトの製品別ページなど

 

5. ヒエラルキー
階層をもたせて表示する。
例)人気ランキングやよく使う順など

 

②「ミラーの法則 Miller’s Law」

プリンストン大学の認知心理学者、ジョージ・A・ミラー氏が発見した法則。

情報を覚えやすい設計にする

「マジカルナンバー7±2」という論文で、人間が短期的(15秒〜30秒)に記憶できる量には限りがあり、その情報の量は7±2であると発表しました。

 

この数字は「かたまり」の数を意味しており、そのかたまりを「チャンク」と呼びます。
人間は、情報を幾つかの「かたまり(チャンク)」にして記憶しているというものです。

 

誤った見解として、ナビゲーションの項目やカルーセルの数は最大7±2個までにするべきだと思われがちですが、あくまでこの法則は、認知しやすい・覚えておく必要がある項目に対しての量を示しています。

 

例えば、電話番号のように「0363654475」とそのまま10桁並べられた状態で把握しようとしても、なかなか覚えることができません。
ですが、「03-6365-4475」のように3つのかたまり(チャンク)に分けて表記することで認識・記憶しやすくなります。

 

③「ヒックの法則 Hick’s Law」

選択肢が二つ以上ある場合など、選択肢の数が増えるほど、ユーザーの意思決定にかかる時間も相対的に増えてしまうという法則。

過剰な選択肢の提供は、選択すること自体を放棄されかねない

単純な法則ですが、意外と活用できていないことが多いです。選択肢の多さは自由であるとともに悩む原因を増やすことでもある、と心に留めておく必要があります。
ユーザーに自由な選択肢を与えれば与えるほど良い環境かと思えば、実際は意思決定を遅らせ、結局何も選ばれないという結果に終わってしまうからです。

 

この法則を実証した有名な実験に、ジャムの法則というものがあります。
24種類のジャムと6種類のジャムをそれぞれ並べたとき、どちらが売れるか比較したものです。

 

試食の割合だけで見れば、24種類のジャムは60%、6種類のジャムは40%と、
24種類のジャムの方が多くの人に興味を持たれ試食されました。

 

しかし実際に購入した人の割合は、24種類のジャムが60%中の3%、6種類のジャムは30%となり、選択肢の数を減らした方の売り上げが10倍になるという結果が出ました。

 

参考:n(選択肢の数)が多ければ多いほど意思決定までの所要時間がかかってしまう。

 

公式 T=a+b log2(n+1)

 

T=所要時間
a=意思決定を除く所要時間
b=実験から得られた平均的意思決定時間
n=選択肢の数

④「フィッツの法則 Fitts’s Law」

人間工学における人間の行動をモデル化したもので、対象への移動にかかる時間と距離やサイズの相関関係を予測します。

人間の行動モデルを考慮しデザインへ適用する

デザインを考える際にフィッツの法則を活用することで、標準的な人間の行動をもとに快適で使いやすいインターフェイスを作れるようになります。

 

例えば「画面上部のメニューバーなど、画面端にあるボタンは押しやすい」のように、クリックしやすい場所に配置すること、クリックしやすい大きさのボタンにすることで選ばれやすくします。

 

参考:ターゲットまでの通達時間は、ターゲットの大きさと距離によってかわる。

 

公式 T=a+blog2(1+D/W)

 

T=ターゲットまでの時間
a=ポインターの移動開始時間と停止時間
b=ポインターの速度
D=開始ポイントとターゲットの中心までの距離
W=ターゲットの大きさ(動きの方向に測った対象物の幅)

 

おわりに

直感的に使いやすいデザインを作成するためにも、人間工学やデザイン理論を知っておくことは有益です。

 

今回はその一部を簡単にご紹介しましたが、いかがでしたでしょうか。興味を持つきっかけとなったり、何かのお役に立てれば嬉しく思います。

弊社では士業やメディア、医療関係を中心にサイト制作を行っております。Webサイトについてお悩みのある方はお気軽にお問い合わせください。

 

参考文献:
『UXと理論で作るWebデザイン』 川合 俊輔, 大本あかね, 菊池崇・著

 

現役Webデザイナーが選ぶオススメの書籍5選

 

デザインは、今まで勉強したことや見た事、体験・経験したことから引き出されます。
今回はその引き出しを増やしてくれる書籍を紹介します。また、コーディングに役立つ書籍もあわせてご紹介いたします。

1. おすすめデザイン書籍

1-1. ほんとに、フォント。

フォントに気を使うだけでデザインがグッと締まります。この書籍ではフォントの種類だけでなく、文字の大きさや間隔についても説明があります。いずれもサンプルデザインを用いた説明があり、見ているだけでも楽しい書籍です。

 

フォントの重要性については、以前のコラムでご紹介しておりますのでぜひご覧ください。

https://dol.co.jp/column/%e3%83%87%e3%82%b6%e3%82%a4%e3%83%8a%e3%83%bc%e3%81%8c%e8%a6%9a%e3%81%88%e3%81%a6%e3%81%8a%e3%81%8f%e3%81%b9%e3%81%8d%e6%96%87%e5%ad%97%e3%81%ae%e6%89%b1%e3%81%84%e6%96%b9/

1-2. Webデザイン良質見本帳

Webサイトにはコーポレートサイトやクリニック、士業サイトなどさまざまな種類があります。この書籍はWebデザインを種類別に紹介しています。なんとなくデザインを紹介するのではなく、サンプルデザインを用いて説明しています。

 

誰に向けたサイトなのか情報を整理することの大切さは、以前のコラムでも少し触れているのでぜひご覧ください。

https://dol.co.jp/column/%e3%83%87%e3%82%b6%e3%82%a4%e3%83%8a%e3%83%bc%e3%81%8c%e8%a6%9a%e3%81%88%e3%81%a6%e3%81%8a%e3%81%8f%e3%81%b9%e3%81%8d%e3%83%87%e3%82%b6%e3%82%a4%e3%83%b3%e3%81%ae%e5%9f%ba%e6%9c%ac%e3%83%ab%e3%83%bc/

1-3. 配色パターンコレクション

この書籍は、テーマごとに配色をまとめています。エレガントやスウィートなどさまざまなテーマでサンプルデザインを用いて説明しています。配色パターンも複数提示されているので、手元に置いておきたい1冊です。

 

以前のコラムでは配色の助けとなるWebサービスをご紹介していますので、ぜひご覧ください。

https://dol.co.jp/column/%e3%83%87%e3%82%b6%e3%82%a4%e3%83%b3%e3%81%ae%e9%85%8d%e8%89%b2%e3%82%92%e8%80%83%e3%81%88%e3%82%8b%e9%9a%9b%e3%81%ab%e5%8f%82%e8%80%83%e3%81%ab%e3%81%aa%e3%82%8b%e3%82%b5%e3%82%a4%e3%83%88%e3%81%be/

2. コーディングに役立つ書籍

2-1. CSS設計完全ガイド

CSS設計はコーディングする際に気を付けておくべきルールのようなもので、後で追加、修正する際にできるだけ容易にすることができる設計のことです。この書籍ではサンプルコードを用いて説明しているので、なぜこの設計では問題があるのかという事を分かりやすく理解できます。

 

こちらの書籍でも紹介されているBEMについては、以前のコラムでも紹介しているのでぜひご覧ください。

https://dol.co.jp/column/bem%e3%83%bbflocss%e3%81%ab%e3%82%88%e3%82%8bcss%e8%a8%ad%e8%a8%88%e3%81%ae%e3%81%99%e3%81%99%e3%82%81/

2-2. Web制作者のためのSassの教科書

SCSSの導入から書き方まで丁寧に紹介している書籍です。CSSに比べてハードルが高いSCSSですが、この書籍では丁寧に説明されているので手元にあればとても心強い一冊です。

 

SCSSを使用するのであれば、VS Codeはおすすめのエディタです。
以前のコラムでVS Codeのプラグインについて紹介しておりますので、ぜひご覧ください。

https://dol.co.jp/column/vs-code-%e3%81%8a%e3%81%99%e3%81%99%e3%82%81%e3%83%97%e3%83%a9%e3%82%b0%e3%82%a4%e3%83%b3%e7%b4%b9%e4%bb%8b/#a3

おわりに

今回は私が読んだ書籍の中で特におすすめの書籍を紹介しました。この記事を参考に少しでもデザインワークやコーディングの役に立てていただけたら幸いです。

弊社では士業やメディア、医療関係を中心にサイト制作を行っております。webサイトについてお悩みのある方はお気軽にお問い合わせください。

参考になるWebデザインギャラリーサイトまとめ10選

 

みなさんはWebデザイン制作の勉強や、実際の業務で制作に行き詰まったとき、どのようにしていますか?

おそらく色んなサイトを見てアイディアを模索していると思います。

そんな時に便利なギャラリーサイトを集めてみましたので、ぜひ参考にしてみてください。

 

SANKOU!

https://sankoudesign.com/

 

SANKOU!はWebサイトのみならずLPも掲載しています。

さらに細かなカテゴリ分けもされているので非常に使いやすいサイトです。

 

I/O 3000

https://io3000.com/

 

I/O 3000もシンプルで使いやすいサイトなのですが、特にシャッフル機能がオススメです。

同一カテゴリのデザインから良いアイディアが浮かばない時は、他のカテゴリーのデザインが参考になるかもしれません。

 

MUUUUU.ORG

https://muuuuu.org/

 

MUUUUU.ORGは縦に長いレイアウトを集めたギャラリーサイトです。

更新頻度も高く、今現在の流行を知ることも出来ます。

 

URAGAWA

https://uragawa.work/

 

URAGAWAはワンクリックでスマートフォン用のデザインも確認できる便利なサイトです。

現在Webサイトの閲覧端末はスマートフォンが7割もしくはそれ以上と言われています。

サイト制作を受注する際も「スマホファーストで」と依頼されることが多々ありますので、ワンクリックでスマートフォン用のデザインを確認できるのは便利ですね。

 

Web Design Clip

https://www.webdesignclip.com/

 

Web Design Clipは国内、海外のカテゴリ分け意外にも、LPやスマートフォン用デザインも用意されています。

また、メインカラー、サブカラー、レイアウトなど細かな検索設定ができるため、自分好みのサイトを見つけやすそうです。

 

81-web.com

https://81-web.com/

 

81-web.comは更新頻度が高く、毎日1サイトは必ず掲載されます。

また、レイアウトも見やすくファーストビュー以外の情報はサムネイルをホバーしなければ表示されないため、デザインにだけ集中してサイトを探すことができます。

 

Responsive Web Design JP

https://responsive-jp.com/

 

Responsive Web Design JPはその名の通り、レスポンシブデザインのサイトをまとめたギャラリーサイトです。

スマートフォンデザインを掲載しているサイトは他にもありますが、このサイトではタブレット用デザインも掲載されています。

 

Siteinspire

https://www.siteinspire.com/

 

Siteinspireは海外のギャラリーサイトなので、日本とはまた違ったデザインを見ることができます。

検索項目も細かく指定できるので、希望にあったサイトを見つけられそうです。

 

Awwwards

https://www.awwwards.com/

 

Awwwardsはギャラリーサイトではなく、世界中から集められたデザインを表彰するサイトです。

誰でも応募することは可能ですが採点基準がしっかり設けられており、表彰されているサイトをただ見ているだけでも勉強になります。

その基準はデザイン性のみではなく、クリエイティビティ、ユーザビリティ、コンテンツも評価されるため、サイト制作の参考にすると良いでしょう。

 

Siiimple

https://siiimple.com/

 

Siiimpleはシンプルな見た目のサイトを多く掲載しています。手の込んだデザインだけがデザインではないことを学べるギャラリーサイトです。

 

おわりに

今回はWeb制作やデザインの勉強の際に役立つギャラリーサイトをまとめてみました。

 

デザインには流行り廃りがあるので、今のトレンドを敏感にキャッチするスキルもデザイナーには必要です。

ギャラリーサイトでデザインをたくさん見ることで、自分の引き出しにアイディアを詰め込んでいきましょう。

弊社では士業やメディア、医療関係を中心にサイト制作を行っております。Webサイトについてお悩みのある方はお気軽にお問い合わせください。

画像とWebフォントを最適化してWebサイトを高速化

現在のWebサイトはRetina対応で高解像度の写真を使用したり、Webフォントを利用してリッチなサイトに見せるなど表現方法が豊かになりました。しかしその反面、ページ容量は大きくなりやすく、しっかり最適化を行わないと、ページの表示速度は大幅に低下してしまいます。

 

スマートフォンの普及によりモバイルサイトの需要が高まっている中で、表示速度の遅延はユーザーにストレスを与えるだけでなく、サイトから離脱される大きな要因となります。Webデザイナーは見た目だけでなく、UXデザイン(ユーザー体験)も考慮しなければなりません。

 

今回はサイト高速化のメリットと表示速度の改善ポイントについて紹介します。

高速化のメリット

サイトの表示速度は離脱率に大きく影響します。一般的には、ページが表示されるのに3秒以上かかると40%のユーザーが去ってしまうと言われています。デザインをどれだけ凝っても表示されるまでに3秒以上かかってしまったら、半数のユーザーはそのデザインを見ることなく去ってしまいます。

 

この数値だけでも高速化の重要性は伝わるかと思いますが、その他にも以下のような多くのメリットがあります。

 

・ 競合サイトよりも速ければ、利用されやすくなる。イメージの向上にも繋がる。
・ 高速であるほど再訪問率は高まる。(一度遅いと感じたら再訪問率は下がる)
・ Google検索結果での順位が上がる。(高速なサイトは遅いサイトよりも上位に表示される)

高速化のメリットはサイト単体を見ていては気付きにくいですが、競合サイトと比較した時に顕著になります。パフォーマンス対策は、デザインを検討する際に不可欠な要素であると言えます。

表示速度の計測方法

サイトの表示速度を計測する方法は「PageSpeed Insights」「WebPageTest」「Lighthouse」などがありますが、今回はLighthouseを使用した計測方法(Macの場合)について紹介します。

【Lighthouseとは】
Googleが無料で提供しているWebサイト診断ツールです。「パフォーマンス」「アクセシビリティ」「SEO」といった様々な指標でサイトを分析し、診断結果を100点満点で表示してくれます。以前はChromeの拡張機能として提供されていましたが、現在はデベロッパーツールに搭載されています。

【Lighthouseでの計測】
1. Chromeのシークレットウィンドウで計測したいサイトを開く。(インストールしている拡張機能が診断結果に影響する可能性があるため、シークレットウィンドウを使用します)

2. 「⌘ + option + i」でデベロッパーツールを開いて「Lighthouse」タブを開く。

3. 「Generate report」ボタンをクリックすると診断が始まり、ページを開くのにかかった時間が表示されます。

表示速度の診断結果は「Performance」と「Metrics」の6つの項目に分けて表示されます。「First Contentful Paint(最初の要素が描画されるまでの時間)」や「Speed Index(ページの内容が描画される速度)」などありますが、ページの表示速度を測る指標としては「Largest Contentful Paint(ページのメインコンテンツが表示されるまでの時間)」に注目しておけば良いでしょう。

ここからはLCP(Largest Contentful Paint)を3秒以内にするための、Webデザインの最適化ポイントについて紹介します。

1. 画像の最適化

ほとんどのサイトにおいて、ページ容量が大きくなる一番の原因は画像です。画像を最適化することが表示速度を改善するための基本対策となります。まずは画像の基本的な扱い方を押さえましょう。

1-1. 画像を減らす

そもそも使用する画像の枚数を減らすことができれば、サーバーへのリクエスト回数も減り、ページ容量は軽くなります。画像を作成する際は、CSSで再現できないか?一枚画像として書き出せないか?など、使用する枚数を減らすことを考慮してみましょう。

1-2. 画像形式の選択

画像のファイル形式はJPG、PNG、SVGなどの種類があります。画像を作成する際はラスター画像かベクター画像か、必要な色数、透明処理の有無などを考慮して、適切な画像形式を選択しましょう。

各ファイル形式の説明については、下記の記事もご参照ください。
JPG、GIF、PNG、SVG、WebPのメリット・デメリット

1-3. ファイルサイズの最適化

クライアントから提供される画像は、未圧縮で原寸サイズのままのことがあります。サイトで表示する最大幅と高さを確認した上で、必要十分なピクセルサイズに縮小しましょう。

また、Web用に画像を書き出した後は、画像圧縮ツールを使用してファイルサイズを圧縮しましょう。画質を劣化させることなくファイルサイズを大幅に縮小することができます。

下記のサービスは無料で使用することができるのでオススメです。
TinyPng(JPG、PNGの圧縮が可能)

1-4. 画像のレスポンシブ対応

デスクトップ用の画像をただ小さく表示するだけでは、モバイルサイトに最適化したとは言えません。HTMLで画像を読み込む時は、pictureタグのsrcset属性を使用して、不必要に大きな画像を読み込まないようにしましょう。(IEにはpicturefill.jsを読み込むことで使用可能になります)


  
  
  株式会社DOL

2. Webフォントの最適化

Webフォントを使用すると、すべてのデバイスでフォントの見た目を統一できるので、デザイン性を重視するサイトでは非常に有効です。しかし、Webフォントはサイトのリクエスト数やページ容量を増加させる要因になります。Google FontsやAdobe Fontsなど、魅力的な日本語Webフォントも増えてきましたが、使用する際は見た目と表示速度のバランスに注意しましょう。

2-1. 日本語Webフォントは1つに絞る

日本語Webフォントはひらがな・カタカナ・漢字と扱うデータが多いため、容量が大きくなってしまいます。複数読み込むとパフォーマンスが大幅に低下してしまうので、見出しと本文で別の日本語Webフォントを使用したい場合は、見出しのみに使用するなどして、1つに収めるようにしましょう。

必要最低限の文字だけを抜き出して、容量を小さくする「サブセット化」などの方法もあります。

2-2. 使用するウェイトだけを読み込む

Google Fontsを使用する際は、すべてのウェイトを読み込むのはやめましょう。ウェイトの数が多いとリクエスト数が増加して、パフォーマンスが大幅に低下します。

Google Fontsの読み込み方法は「link」と「@import」の2種類ありますが、どちらの方法でも記述コードから使用するウェイトを修正することができます。コピペして使用する際は、不要なウェイトまで読み込んでいないか確認しましょう。

【すべてのウェイトを読み込み】

【RegularとBoldのみ】

2-3. 複数フォントは連結して読み込む

Google Fontsから日本語と英語の2種類を読み込む場合、別々にコードをコピペすると2つ記述することになってしまいリクエスト回数が増えてしまいます。連結させることで一度のリクエストで読み込むことが可能になります。

【分けて記述】


【連結して記述】

2-4. Google FontsはHTMLで読み込む

Google Fontsの読み込み方法は「HTMLからのlink」と「CSSからの@import」の2種類あります。CSSから@importをする方がHTMLに触れずに修正ができて便利ですが、CSSを読み込んでいる間はレンダリングブロックが発生してしまい、パフォーマンスが低下してしまいます。

HTMLからのlinkでは、rel属性にpreloadを指定することでレンダリングブロックを発生させずに非同期で読み込むことができます。(as属性で読み込むリソースの種類を指定しています)

【非同期で読み込む】

おわりに

今回はWebサイトの表示速度を改善するポイントについて紹介しました。

Webサイトのパフォーマンスについては、デザイナーが携わる分野ではないと思っている方も多かったのではないでしょうか?しかし実際は、デザイナーが日々の業務で使用している画像やフォントが、パフォーマンスに大きな影響を与えていました。

デザインといえば表面的な部分にとらわれがちですが、サイトを快適に閲覧できるパフォーマンスも重要なUXデザイン(ユーザー体験)です。Webデザイナーとしては見た目とパフォーマンスの両立を図ったデザインを心掛けていきましょう。


弊社では士業やメディア、医療関係を中心にサイト制作を行っております。Webサイトについてお悩みのある方はお気軽にお問い合わせください。

参考文献:
『パフォーマンス向上のためのデザイン設計』Lara Callender Hogan・著

 

最初にインストールしておきたい!WordPressプラグイン紹介

 

多くのサイトで使用されているWordPressですが、ブログ機能としての人気だけでなく、プラグインの豊富さから様々な機能を簡単に実装できるのも魅力のひとつですね。

 

その豊富さゆえに、どれをインストールして使えばいいか迷う人も多いのではないでしょうか。

 

そこで今回は、これからWordPressを始める初心者の方向けに、インストールしておくと便利なおすすめWordPressプラグインを紹介していきます。

1. はじめに

1-1. プラグインを導入する上での注意事項

プラグインは便利だからといって、何でもインストールすればいいというわけではありません。追加しすぎることでサイトが重くなったり、プラグイン同士が競合して不具合を起こしたりする可能性が高まってしまいます。

そうならないよう、下記4点を踏まえて導入を検討していきましょう。

 

① 不要なプラグインを入れない

② 最終更新やインストール数、評価をチェックする

③ 使用中のWordPressバージョンや使用しているテーマとの相性を確認する

④ プラグインは古いバージョンのまま使用しない(アップデートを忘れない)

1-2. プラグインのインストール方法

(1)ダッシュボードのメニューからプラグインを選択

 

(2)タイトル横の新規追加ボタンを押下

 

(3)追加したいプラグインを探す

 

(4)プラグインをインストールする

 

(5)プラグインを有効化する

 

 

2. おすすめプラグイン

2-1. BackWPup

ブログ記事など、WordPressのサイトを丸ごとバックアップしてくれるプラグインです。
何らかの不具合、作業ミスなどによりデータが消えてしまった場合、今までに作成したもの全てを初めから作り直すのは大変酷です。静的ページであれば、サーバーにアップしたファイルや画像データをコピーしておけば済みますが、WordPressは動的ページで構成されているため、サーバー上のデータだけでなく、データベース上のデータ(カテゴリ、コメント、管理画面の設定情報など)の両方についてバックアップを取る必要があります。

 

2-2. All in One SEO pack

SEOの設定を簡単に行ってくれるプラグインです。タイトルやメタディスクリプション、Googleアナリティクス・サーチコンソールとの連携などSEOに関する様々な設定ができます。
とても有用なプラグインですが、ブログ向けや有料テーマではすでにSEO機能を内蔵していることも多く、他のSEOプラグインを入れることで競合する場合があります。導入の際はご注意ください。

 

2-3. WP Multibyte Patch

もともと英語圏で作られたWordPressは、日本語などの英語以外での使用は不具合を起こしやすい傾向があります。このWP Multibyte patchは、日本語独自の不具合・バクを修正してくれます。日本語でサイト制作する場合はインストール&有効化しておくのがおすすめです。

 

2-4. Contact Form 7

Contact Form 7は便利で有名なお問い合わせフォームプラグインです。自分でお問い合わせ機能を実装しようとすると難しい作業が必要となってきますが、こちらのプラグインを使用することで直感的にフォームを作成・設定することができます。

 

3. おわりに

今回はWordPress初心者の方向けのおすすめプラグインを紹介しました。

不要なプラグインをアンインストールしたり、使ってみてベストな組み合わせを探っていくのもいいですね。

 

弊社では士業やメディア、医療関係を中心にサイト制作を行っております。webサイトについてお悩みのある方はお気軽にお問い合わせください。

VS Code おすすめプラグイン紹介

 

エディタで人気の高いVisual Studio Code(以下、VS Code)。
プラグインを利用するとコーディングをより効率良く、快適に行うことができます。

今回は私も利用しているVS Codeのおすすめプラグインを紹介します。

1. プラグインのインストール方法

まず、VS Codeを開きます。
左のサイドバーに下記画像のような四角が4つ組み合わさったアイコンを押します。

 

次に、インストールしたいプラグインの名前を検索から探します。
各プラグインごとに下記画像のような画面がでるので、インストールボタンを押せば完了です。
インストール完了すると、「アンインストール」の表示に変わります。

2. おすすめプラグイン

2-1. Japanese Language Pack for VS Code

メニューやサイドバーなどの表記を日本語にしてくれます。
英語のままでも使えますが、日本語の方が使いやすいという方は多いと思いますので、一番に入れた方がいいプラグインです。

2-2. Auto Close Tag

開始タグを書くと、自動で終了タグを書いてくれるプラグインです。
終了タグの書き忘れはエラーの原因となるので、自動で書いてくれるのはとても便利です。
これも必須で入れた方がいいプラグインです。

2-3. Auto Rename Tag

Auto Close Tagと同じくタグのプラグインです。
開始タグを<div>から<p>に変更した際、終了タグも自動で</div>から</p>に書き換えてくれます。

勝手に書き換わるのは嫌という方もいると思いますが、私は自動の方が書き換え忘れがないので使用しています。

2-4. Color Highlight

カラーコードを書いた時に色を付けてくれます。
何色にしたかが一目でわかるので、とてもおすすめです。

2-5. vscode-icons

ファイルの種類ごとにアイコンを表示してくれます。
拡張子.htmlや.cssなどでアイコンがなくともファイルの種類は判断できますが、アイコンで表示されるのでとても見やすくなります。

2-6. indent-rainbow

インデントごとに色を付けてくれます。

3. SCSSのコンパイルをする際に便利なプラグイン

3-1. Live Sass Compiler

SCSSからCSSにコンパイルしてくれます。
このプラグインを使わない場合だとgulpの設定が必要ですが、このプラグインを使うと簡単にコンパイルができます。少し設定が必要なので「Live Sass Compiler 設定方法」等で検索して調べてみてください。

3-2. Live Server

html、cssで修正した内容を自動でブラウザに反映してくれるプラグインです。
htmlを開いて手動で確認する手間が省けるので、とても時短で作業ができます。

Live Sass Compilerとセットで導入したほうがいいプラグインです。

おわりに

今回はおすすめのVS Codeプラグインを紹介しました。
今回紹介したものは、いずれも手放せないプラグインばかりです。
この記事を参考に、少しでもコーディング環境の改善に役立てていただけたら幸いです。

弊社では士業やメディア、医療関係を中心にサイト制作を行っております。webサイトについてお悩みのある方はお気軽にお問い合わせください。

新しい画像フォーマット『WebP(ウェッピー)』とは

 

みなさんは”WebP”画像使っていますか?

以前の記事でWebPについて少し紹介しましたが、今回はその特徴や使い方について詳しく紹介してみようと思います。

 

https://dol.co.jp/column/jpg%e3%80%81gif%e3%80%81png%e3%80%81svg%e3%80%81webp%e3%81%ae%e3%83%a1%e3%83%aa%e3%83%83%e3%83%88%e3%83%bb%e3%83%87%e3%83%a1%e3%83%aa%e3%83%83%e3%83%88/

 

1.WebPとは

WebPとは、Googleが開発した新しい画像フォーマットです。拡張子はそのまま”.webp”

WebPはPNGやJPEG画像の画質を保ったままファイルサイズを軽量化することが出来ます。

 

2.WebPのメリット

ファイルの軽量化

まず一つ目はファイルの軽量化です。

ファイルを軽量化することで画像の読み込み時間を短縮し、PNGやJPEGを使った場合と比べWebサイトを高速化することが出来ます。

その圧縮率はPNG画像の場合26%、JPEG画像の場合25~34%も小さくすることが出来ます。

 

画像フォーマットの統一

今までは背景が透過されたものはPNG、写真など色が多い画像はJPEG、アニメーションの場合はGIF、と場面に応じてフォーマットを使い分けてきました。ですがWebPは透過やアニメーションにも対応しているため画像フォーマットを統一することが出来ます。

コーディングの際にフォーマットを気にしないで済むのは非常にありがたいですね。

 

3.WebPのデメリット

そんな便利なWebPにもデメリットはあります。

 

全てのブラウザに対応している訳ではない

WebPは全てのブラウザが対応している訳ではありません。

ですが、今まで対応していなかったsafariが、2020年9月16日にiOS版safari 14.0~で対応され、

2020年11月12日にはMacOS Big Surのリリースにより、主要なブラウザ全てでWebPが表示されるようになりました。

なので、今ではデメリットというほどではありません。

その他ブラウザのWebP対応はこちらをご覧ください。

 

“webp” | Can I use… Support tables for HTML5, CSS3, etc

 

WebPへの変換が面倒

WebPを利用するには元となるPNG、JPEG画像を変換する必要があります。

変換する方法は、Webアプリケーションを利用する、コマンドラインで変換する(黒い画面)、フォトショップを利用するなど方法はありますが、特にコマンドラインから変換する方法は慣れていないと難しいかもしれません。

ここでは一番簡単なWebアプリケーションを使った変換方法をご紹介します。

 

squoosh

squooshは2018年にGoogleが開発した画像変換ツールです。

変換したい画像をドロップし、右側のメニューで変換する際の詳細を設定することが出来ます。

WebPに変換するには、フォーマット形式をWebPと選択するだけです。

 

参照:squoosh

 

おわりに

今回はWebPについて紹介しました。

Webサイトを制作する上で表示速度の向上は常に意識しないといけません。今サイトを作っている方やこれからサイトを作ろうと思っている方はぜひ、新時代のフォーマット形式”WebP”を使用してみてください。

弊社では士業やメディア、医療関係を中心にサイト制作を行っております。webサイトについてお悩みのある方はお気軽にお問い合わせください。

ショートハンドを活用!CSS記述をスッキリさせる方法

 

CSSプロパティーが多すぎてファイル行がやたら長く、管理し難くなってしまった、という状況にオススメしたいのがCSSのショートハンド記法です。

 

ショートハンドを使用して行数を減らすことが出来れば、スッキリと見やすさも向上し、修正や管理のしやすいファイルを作成することができます。

 

さらには記述する文字数が減ることでコーディングスピードが上がり、より効率的に作業を進めることができます。

ショートハンドの基本

・ショートハンドとは

ショートハンドとは、CSSにおいて値を簡略化できる記法のこと。

値を半角開けて記入することにより設定する。

paddingなど空間指定の4方向の記入は上から右回りで指定される。

web用語辞典

 

例えば、上下左右方向のマージンを指定したい時、通常だとtop, right, botttom, leftとプロパティーを指定して各値を記述しますが(画像左)、ショートハンドを使用すれば、それぞれのプロパティー記述を省略することができます(画像右)。

 

 

この場合、ショートハンドで記載する値の数によって指定する箇所が決まります。paddingも同様に指定することができます。

値1つ:上下左右全て    例)margin: 20px;

値2つ:上下、左右     例)margin: 20px 20px;

値3つ:上、左右、下    例)margin: 20px 20px 20px;

値4つ:上、右、下、左   例)margin: 20px 20px 20px 20px;

 

・よく使う便利なショートハンド

サイト制作をする上でよく使用される、便利なショートハンドをいくつかご紹介します。

border

ボーダーの幅、スタイル、色の異なるプロパティーを一括指定することができます。
それぞれのプロパティの順序は自由ですが、チームの中で順序を決めておくと管理しやすいです。

background

背景画像や色、ポジション、サイズなどを一括指定することができます。
こちらも各プロパティの記載順序は自由です。

animation

アニメーションでも異なるプロパティーを一括指定することができます。

記載順序として、animation-durationanimation-delayより先に書く必要があります。それ以外は順序に決まりはありません。

 

天地中央配置の新しい書き方

天地中央配置がショートハンドを利用して、さらに短く記述できるようになったのでご紹介します。

・positionのショートハンド

insetというプロパティーを使用して以下のような書き方をすることもできます。

inset は CSS のプロパティで、 top, right, bottom, left に対応する一括指定です。これは margin の一括指定における複数値の場合と同じ構文です。

CSS 論理的プロパティの仕様書で定義されているものですが、論理的なオフセットを定義するものではありません。これは物理的なオフセットであり、要素の書字方向やテキストの向きには関係がありません。

CSS inset

・positionを使用した天地中央配置

上記のinsetを使用すれば、従来では最低3行以上記述しなければならなかった天地中央配置の指定が以下の記述で済んでしまいます。

CSSで上下左右の中央に配置する時の「position: fixed;」での新しい記述方法 | コリス

おわりに

新しくスマートな書き方はどんどん登場しますが、常に情報をキャッチアップするのは大変なことです。また、制作にあたっては各ブラウザが対応している書き方であるかどうかなど考慮しながら取り入れる必要もあります。

上手く情報の波に乗ることでキャッチアップしていきましょう。

 

弊社では士業やメディア、医療関係を中心にサイト制作を行っております。webサイトについてお悩みのある方はお気軽にお問い合わせください。