スマホに合ったステップリストをインラインSVGで
「UI GRAPHICS ―世界の成功事例から学ぶ、スマホ以降のインターフェイスデザイン」 2015.12
最近、↑こちらの本で、スマホ以降のUIについて、紹介や考察がされているのを見ました。
そこでWEBサイトのステップリストについて、気づいたことがありましたので、ご紹介いたします。
これまで私は、WEBデザインでステップリストが必要な場合は、以下の様な形式を使っていました。
先のステップの内容も確認できるなど、こちらのステップリストを使うことによるメリットも有るのですが、
横幅を必要とする場合が多いため、スマホでは無理が生じてしまい、
強引に省略したりして、本来のステップリストの機能が果たせない場合が多々ありました。
その理由は、このステップリストがPCのWEBデザインに最適化されたもので、
スマホ用に作られたものではないということに今さらながら気づきました。
スマホでのWEBデザインはアプリのデザインに近く、
これまでのPCのWEBデザインにとらわれずに考える必要があります。
そこで、以下の様なステップリストが良いのではないかと本を読みながら気づいたので、
インラインSVGを使って作ってみました。
↓サンプル
ステップリストはステップ全体から見た進捗状況を知らせることが重要なので、
他のステップの項目名は省略し、
円グラフ形式で現在の進捗が全体から見でどのくらいの状況かが、
直感的に伝わるようにしました。
色などはインラインSVGを使っているので、サイトごとにデザインに合わせた微調整が可能です。
HTML
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | <p class="stepList"> <span class="graph"> <svg viewBox="0 0 100 100"> <!-- マスクを使ってドーナツ状に --> <mask id="mask1" maskUnits="userSpaceOnUse" x="0" y="0" width="100" height="100"> <g fill="black" fill-rule="evenodd"> <rect x="0" y="0" width="100" height="100" fill="white"/> <circle cx="50" cy="50" r="40" /> </g> </mask> <!-- pathで円グラフを作る --> <path d="M 50,50 L 49,0 a 50 50 -91 0 1 44,24 z" fill="#8dc5ff" mask="url(#mask1)" /> <path d="M 50,50 L 94,26 a 50 50 -29 0 1 0,48 z" fill="#8dc5ff" mask="url(#mask1)"/> <path d="M 50,50 L 93,76 a 50 50 31 0 1 -42,24 z" fill="#8dc5ff" mask="url(#mask1)"/> <path d="M 50,50 L 49,100 a 50 50 91 0 1 -42,-24 z" fill="#007dff" mask="url(#mask1)"/> <path d="M 50,50 L 6,74 a 50 50 151 0 1 0,-48 z" fill="#cecece" mask="url(#mask1)"/> <path d="M 50,50 L 7,24 a 50 50 211 0 1 40,-24 z" fill="#cecece" mask="url(#mask1)"/> </svg> <i class="fa fa-lg fa-credit-card"></i> </span> <span class="label">4. お支払い方法</span> </p> |
CSS
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | .stepList .graph { display: block; position: relative; } .stepList svg { width: 100px; } .stepList i { color: #007dff; font-size: 32px; position: absolute; top: 50%; left: 50%; -webkit-transform: translate(-50%, -50%); -ms-transform: translate(-50%, -50%); transform: translate(-50%, -50%); } .stepList .label { color: #007dff; font-size: 12px; font-weight: bold; } |
円グラフはSVGのpathを使っています。
ステップ数を変更する場合は、以下のサイトで目的の扇型をシュミレーションできるので、便利です。
真ん中のアイコンはFont Awesomeを利用しています。
Author Profile
NINOMIYA
Webデザイナー兼コーダー出身のフロントエンド開発者です。 UXデザインやチーム開発の効率化など、勉強中です。
SHARE