Web制作実務役立ち

拡張機能Perfect Pixelを使ったピクセルパーフェクトのやり方【どこまでやるのか&できないこと】

拡張機能Perfect Pixelを使ったピクセルパーフェクトのやり方【どこまでやるのか&できないこと】
本ページにはプロモーションが含まれています。

まさひろくん
まさひろくん
デザインカンプからのコーディングはピクセルパーフェクトでって言うtけど、どうすればいいのか分からない…Perfect Pixelを使えばいいらしいけど…
ようこちゃん
ようこちゃん
そもそもレスポンシブの時代にピクセルパーフェクトって可能なの?

このような疑問に答えます。

ピクセルパーフェクトとは?

ピクセルパーフェクトはデザインカンプと1pxも違わずにコーディングで再現すること。

Perfect Pixel(パーフェクトピクセル)はそれを支援するChrome拡張機能のこと。混同しがち。

すごそうな人

コーディングでピクセルパーフェクトは当たり前ですよ

こういった言説は2019年~2020年あたりに特に盛り上がっていた(主にSNSで)印象ですが、実は2000年代がピークの考えだったりします。

そこで今回は以下の事項を解説します。

この記事のポイント
  • Perfect Pixelを使ったピクセルパーフェクトの実現方法
  • コーディングの際の、現実的なピクセルパーフェクトの行い方
  • ピクセルパーフェクトとの向き合い方、ずれる、諦め方

そもそも

初学者さん

ピクセルパーフェクトて初見…なんぞ…?

こういった方は是非最後まで見ていただきたいですし、ピクセルパーフェクトの存在は知っていても試したことがない方は、是非今回の記事をきっかけに試して欲しいです。

コーディングの意識と品質がガラリと変わります

しょーご

この記事を書いたのは
しょーご@samurabrass

当ブログ「しょーごログ」の運営者。2018年からWeb制作・フロントエンドエンジニアとして主にWordPressでのサイト制作やシステム開発のフロントエンドを担当。同時にブログとYouTubeで情報発信を行っている。駆け出しエンジニアのコーディング課題添削も行い、スクール講師を4年以上している経験を活かした分かりやすい記事制作を心がけている。

前提:ピクセルパーフェクトについての考え方

ピクセルパーフェクトの2000年~2010年代

ピクセルパーフェクトとは、そもそもレスポンシブが一般的でない、2000年代の品質保証の話です。

昔はデバイスサイズが今ほど多様でもなく、ある程度固定pxでコーディングしていても問題なかったのだと思います。

しかし2010年代からは、レスポンシブデザインが当たり前になりました。

それによって、

制作者

ピクセルパーフェクトを再現するのむずくない?

となった経緯があります。

ピクセルパーフェクトの概念はとても大事だ

後ほど解説しますが、複数のデバイス・ブラウザ幅で、ピクセルパーフェクトを実現するのは、実際はほぼ不可能です(特にXDデザインの場合)

なので、「ルック・アンド・フィール」で合わせるのが最良の手段になります。

ではピクセルパーフェクトは無用の存在なのかというと、全くそんなことはなく。

ピクセルパーフェクトを目指すことによって、デザインカンプを極力再現する習慣を形成する

私個人は、これがピクセルパーフェクトを行う最大の理由であると考えています。

ピクセルパーフェクトで鍛えられたコーダーはデザインカンプを忠実に再現するのがうまいです。

しかし、ピクセルパーフェクトを蔑ろにしてきたコーダーは、実案件の経験が豊富でも、デザインカンプと割と異なる初稿を出してきます。

しょーご

だから、ピクセルパーフェクトをまず行う癖をつけて、コーディングの品質を上げて欲しいのです。

PerfectPixelの使いかた

❶拡張機能PerfectPixelをセットアップ

まずは下記ページより拡張機能をダウンロードします。

https://chrome.google.com/webstore/detail/perfectpixel-by-welldonec/dkaagdgjmgdmbnecmcefdhjekcoceebi?hl=ja

ダウンロードした後は、chrome://extensionsにアクセスすると拡張機能一覧に行けるので、「詳細」をクリック。

Perfect Pixelを使ってピクセルパーフェクトを実現する手順

その後、以下の項目をオンにしてください。

Perfect Pixelを使ってピクセルパーフェクトを実現する手順

これでセットアップ完了です。

❷重ね合わせるためのデザイン画像をダウンロード

デザインカンプのフレームごとダウンロードします。

Figmaからコーディングしている場合は、フレーム全体を2xでエクスポートします。

拡張機能Perfect Pixelを使ったピクセルパーフェクトのやり方【どこまでやるのか&できないこと】

Adobe XDからコーディングしている場合は、「ファイル→書き出し→選択したオブジェクト」を選択。

拡張機能Perfect Pixelを使ったピクセルパーフェクトのやり方【どこまでやるのか&できないこと】

同様に2xで書き出しを行います。

拡張機能Perfect Pixelを使ったピクセルパーフェクトのやり方【どこまでやるのか&できないこと】

❸PerfectPixelにアップロードして調整

まずは検証ツールのレスポンシブ機能を使って、ブラウザの幅をデザインカンプと揃えます。

今回は1366pxなので、それに合わせます。

拡張機能Perfect Pixelを使ったピクセルパーフェクトのやり方【どこまでやるのか&できないこと】

その後、拡張機能をクリックして、画像をアップロード。

その後鍵マークをクリックしてオンにし、倍率が0,5、透明度が50%になっているのを確認したらOKです。

デザインとブラウザ表示が重なり、差異がある部分が可視化されました。

拡張機能Perfect Pixelを使ったピクセルパーフェクトのやり方【どこまでやるのか&できないこと】

検証ツールで微調整しつつコードに反映

今回は試しに以下の部分を改善してみます。

拡張機能Perfect Pixelを使ったピクセルパーフェクトのやり方【どこまでやるのか&できないこと】

まずデザインカンプを確認すると、line-heightが設定されてないので、CSSから除きます。

拡張機能Perfect Pixelを使ったピクセルパーフェクトのやり方【どこまでやるのか&できないこと】
拡張機能Perfect Pixelを使ったピクセルパーフェクトのやり方【どこまでやるのか&できないこと】

また、デザインカンプではArialが当たっているのに、CSSでは違うフォントが当たっていたので、Arialを指定します。

ブラウザで当たっているフォントは検証ツール下部のComputedから確認できます。

拡張機能Perfect Pixelを使ったピクセルパーフェクトのやり方【どこまでやるのか&できないこと】
拡張機能Perfect Pixelを使ったピクセルパーフェクトのやり方【どこまでやるのか&できないこと】

これによって、ほぼ揃えることができました。

拡張機能Perfect Pixelを使ったピクセルパーフェクトのやり方【どこまでやるのか&できないこと】

次に、以下の部分を見てみます。これは流石にブレブレですね…

拡張機能Perfect Pixelを使ったピクセルパーフェクトのやり方【どこまでやるのか&できないこと】

まずデザインカンプを確認すると、上下の余白が31pxです。

拡張機能Perfect Pixelを使ったピクセルパーフェクトのやり方【どこまでやるのか&できないこと】

なのに、CSSは32pxになっていました。

拡張機能Perfect Pixelを使ったピクセルパーフェクトのやり方【どこまでやるのか&できないこと】

また、font-sizeが14pxだったり、font-weightが未設定だったり、letter-spacingが勝手に当たっていたので、そこを調整しました。

結果、だいたいデザインカンプと一致したようです(まだ若干ずれていますが…)

拡張機能Perfect Pixelを使ったピクセルパーフェクトのやり方【どこまでやるのか&できないこと】

XDとブラウザでline-heightが異なる問題

実はXDとブラウザ(Web)ではline-heightがもたらす影響が異なります。

キーワードは「ハーフ・レディング(half-leading)」です。

例えば以下はfont-size: 16px; line-height: 2;の時の表示です。

拡張機能Perfect Pixelを使ったピクセルパーフェクトのやり方【どこまでやるのか&できないこと】

XDの場合、テキスト間に16px空けることでline-height: 2;を表現していますが、ブラウザやFigmaの場合はテキストの上下に8pxずつ分割して余白を空けます。

行間が半分に分割されることを「ハーフ・レディング(half-leading)」といい、これがブラウザとFigmaにはあります。

よって、ブラウザのほうがXDよりテキストが少し下がって見えるのです。

これを解决する手段として、ネガティブマージンの設定すれば合わせられますが、そこまですべきなのかは判断が分かれるところです。

しょーご

デザイナーがこだわりを持ってる部分ならハーフ・レディングも考慮したいですけど、実際は工数が厳しいことが多いですかね。

理解しておきたい、CSSによるインラインレイアウトの仕組み(font-size/line-height編)Inline Layout─Frontrend Conference

ピクセルパーフェクトにすべき部分としなくてよい部分

疑問 質問 シャッター
まさひろくん

やはり、1pxもずれなくコーディングとか、無理ゲーでは?

そうじゃなくても、どれぐらい合わせれば良いのか…

そういった方に、「ルック・アンド・フィール」という考えをお伝えします。

ルック・アンド・フィール

以下の画像を見て下さい。同じに見えますか?

引用:https://coliss.com/articles/build-websites/operation/work/state-of-pixel-perfect.html

実は❶と❷の部分に差異があります(詳しくは引用元記事にて)

HTMLとCSSで、デザインと1pxのずれもなく正確に実装する必要はあるのか? ピクセル パーフェクトの現状

デザインカンプとブラウザを同じ画面サイズでパッと見たときに

どちらがデザインで、どちらがブラウザなのか判別できない

これがルック・アンド・フィールが合った状態でゴールとも言えます。

しょーご

ディレクションで様々なコーディングを見ますが、パーフェクトピクセル以前にルック・アンド・フィールの段階で「あ、ずれてるな」とわかるものも多いですね…

初稿提出からルック・アンド・フィールで合っている状態にするためには、そもそも普段からピクセルパーフェクトを心がけないと、できない。

1pxずれててもいいという意味ではない

伝え方がとっても難しいのですが、

まさひろくん

ルック・アンド・フィール、つまり雰囲気!!
1pxとかずれてても問題なし!!

こういうことじゃないんですよね。特にボタンとか細かなコンポーネントは1pxずれてるだけで、割とデザイナーなら気づきます。

油断召されぬよう。

デザイナーの意図を感じないミスの場合はよしなに

デザイナーの意図しないミスは以下のような部分です。

ここでは余白が片方だけ1px多いです。この場合はどちらかに統一するのが筋で、必ずしもデザイン通りである必要はないでしょう。

以下の必須ラベルも、上下の余白が異なりますが、デザイナーの単純なミスの可能性が高いです。よって、Y軸中心に実装して問題ない箇所かと思います。

しょーご

デザイナーが意図してこうした余白を取ることはまずないでしょう。

ピクセルパーフェクトを習慣づける

今回はPerfect Pixel(パーフェクトピクセル)の使い方や、そもそものピクセルパーフェクトへの向き合い方を書きました。

私個人の見解ですが、ピクセルパーフェクトで重要なのは、以下です。

ピクセルパーフェクトを目指すことによって、デザインカンプを極力再現する習慣を形成する

実際にピクセルパーフェクトにできなくても問題ありませんが、「デザインカンプに極力合わせようと努力することで、正確にコーディングをする意識が湧く」ことが重要なのだと思います。

現在コーディングを学習中の方は、是非学習段階からパーフェクトピクセルを意識してもらえるといいかなと。

まずはファーストビューから始めましょう!!

現場レベルでも適当なコーディングが割りと上がってきたりもするので、これを読んでる皆さんには丁寧にコーディング頂きたいです(自戒含め…)(;・∀・)

Responsive Viewerもセットで利用せよ

デザインカンプ通りならこれでもいいですが、デザインカンプ以外のレスポンシブサイズでも確認が必要ですよね?

その時に使える拡張機能「Responsive Viewer」を以下で紹介しているので、こちらも必ず使えるようにしておいてください。

Web制作コーディングの品質チェックについて

Responsive Viewer」と「Perfect Pixel」を含めたWeb制作コーディング全体の品質チェックに関しては以下の記事を参考にしてください。

模擬案件チャレンジ開催のお知らせ

超実践編では納期厳守の模擬案件を経験し、スキル面以外にコミュニケーションも徹底レビューを受けることができます。

【超実践編】納期厳守の模擬コーディング案件で実務への自信を身につける!【学習沼からあなたを卒業させます】

最近は実案件のノウハウも多いですが、「納期が短い案件の中で、丁寧なコミュニケーションを本当に実践できますか?

この課題では、極限まで実案件に近い状況で、発注者である私とコミュニケーションを取りながら、

  1. 見積書提出
  2. 実装→初稿提出
  3. レビュー→修正
  4. 再修正→納品
  5. 請求書

この流れを実践していただき、最後にzoomであなたに全体レビューを行います。

【超実践編】納期厳守の模擬コーディング案件で実務への自信を身につける!【学習沼からあなたを卒業させます】
  • 学習はだいたい終わったけど、納期までに納品できるか不安
  • 中々継続と紹介で案件が回らない

このような中級者を飛躍させる超実践編、受講には条件がありますので、詳細はリンク先よりご確認下さい。

しょーご

あなたの挑戦を待っています!!

\レビューを受けて圧倒的な自信を身につける!/

応援して頂ける方へ

ご寄付を頂けると今後の更新の励みになります!

🍺 ビールをプレゼントする

あなたに是非読んでほしい記事です!
});