Photoshop と CSS Shapes でレイアウトに形状と深みを加える手順

BY 公開

CSS Shapes の新しい文法

この記事は、Web Platformチームブログに2014/3/11に投稿された記事「Add Shape and Depth to Your Layout with Photoshop and CSS Shapes」を翻訳したものです。

現在の Webkit の CSS Shapes の実装には、shape-outside の値として画像を指定機能が組み込まれています。この場合、基本シェイプ関数を使い形状を指定する代わりに、画像のアルファチャンネルから形状が計算されます。その際に使われる不透明度のしきい値は shape-image-threshold により指定可能です。透明な背景を持つ画像を使うことで、CSS Shapes を利用して、その画像により定義される任意の形状の周囲にテキストを回りこませることができるのです。

デフォルトでは、画像内の 0% 以上の不透明度を持つ領域が形状の定義となります。そのため、ドロップシャドウのような半透明の領域も形状の一部となります。この記事では、Photohsop を使って画像をつくり、アルファチャンネル内にドロップシャドウを定義し、そして CSS Shapes を使って下の単純なエンサイクロペディアのレイアウトに深さと輪郭をつくる方法を順を追って説明します。

box の値を指定した基本的なシェイプ

Photoshop でアルファチャンネル内に形状を定義する

まず Photoshop で、上のごくシンプルな画像を開きます。

box の値を指定した基本的なシェイプ

1. 新しいレイヤーを作成し、‘shadow’ と名付けます。このレイヤーにはドロップシャドウをつくるため、メイン画像の下に移動します。

box の値を指定した基本的なシェイプ

2. レイヤーを黒く塗りつぶし不透明度を 50% に設定します。

box の値を指定した基本的なシェイプ

3. shadow レイヤーが選択された状態で、クイック選択ツールを使って画像を選択します。「境界線を調整」ダイアログボックスを開き、ぼかしを 5px に設定します。

box の値を指定した基本的なシェイプ

4. 新しいレイヤーマスクをつくります。移動ツールで shadow レイヤーを右下に移動します。

box の値を指定した基本的なシェイプ

5. チャンネルパネルを開き、作成したレイヤーマスクの新しいアルファチャンネルを確認してください。これが CSS Shapes を使って周囲にテキストを流し込む形状になります。

box の値を指定した基本的なシェイプ

6. 画像を PNG として保存してください。

CSS Shapes を使い画像の周囲をテキストで囲む

まずは、オリジナルのページレイアウトに対して、画像の周囲に回り込むように修正をします。

#gears { float: left; shape-outside: url(“gears.png”); }

今回は画像に元々透明な背景があったため、ギアの輪郭が形状の定義となります。shape-outside を使うことで、テキストが以下のようにギアを囲むのが確認できます。

box の値を指定した基本的なシェイプ

shape-margin を使うと、画像とその周囲のテキストの間のマージンを指定できます。

何も指定しないと shape-margin の値は none です。上の例では、周囲のテキストがギアに近すぎるようです。以下のように修正してみましょう。

#gears { float: left; shape-outside: url(“gears.png”); shape-margin: 10px; }

これでずっと良くなります:

box の値を指定した基本的なシェイプ

しかし、shape-margin: 10px; と指定するよりも、上でつくったドロップシャドウ付きの画像を使い、アルファチャンネル内の shadow により形状の輪郭を定義してみたいと思います。

#gears { float: left; shape-outside: url(“gears-dropshadow.png”); }

これにより以下のような結果になります。

box の値を指定した基本的なシェイプ

以上です。ほんのいくつかの手順だけで、平坦で四角張ったレイアウトに、新しい CSS 機能の助けを借りて、深さと豊かさが加わりました。

もし、画像から形状を計算する詳細な方法に興味があれば、Hans Muller のブログに書かれているアルゴリズムを読むと良いでしょう。


このサンプル内のテキストは Wikipedia からの抜粋です:

Gear. (2014, March 9). 2014 年 3 月 9 日 20:41 に Wikipedia の以下のページより。
http://en.wikipedia.org/w/index.php?title=Gear&oldid=598819607

  AUTHOR

Keisuke Todoroki

アドビ システムズ 株式会社 / デベロッパーマーケティングスペシャリスト。 1999年、早稲田大学理工学部を卒業後、大手印刷会社に勤務。主にEC分野で J2EE開発に携わるが、Flexとの衝撃的な出会いを機にRIAの世界へ。 2008年4月、アドビシステムズ入社。 アドビのWebツール全般のマーケティングを担当。