ブログ一覧

WPサイトデザインのコツ(ちょっと知ろうCSS編)

前回、デザインカンプを受け取るコーダーが何を考えてWebサイトを作っているかについて、自分を参考に、お話ししました。今回はコーダーの主なお仕事である、CSSを書くこと、そのCSSについてちょっとだけ知ってみよう、というお話しです。

CSSは「Cascading Style Sheets(カスケーディングスタイルシート)」というもので、スタイルシートとも言ったりします。HTML文書に対して、人間の目に見える部分の「装飾」を一手に担っているデータです。

例えばこの見出しを実現しているCSSとは

この見出しは見出しレベル3<h3>というタグでマークアップされています。これに対しかけられているスタイルは以下のようなものです。


h3 {
font-size: 27px;
font-size: 2.7rem;
line-height: 1.1852;
margin-top: 2.3704em;
margin-bottom: 1.1852em;
}

フォントのサイズや行の高さ、上下のマージン(空白)などが設定されています。ですが、フォントの太さについての情報がありませんね。その記述を探して、CSSのファイルを上の方に遡ると、こんな記述がありました。


h1,h2,h3,h4,h5,h6 {
clear: both;
font-weight: 700;
}

見出しについて、各見出しレベルまとめて設定があります。回り込みを解除することと、フォントの太さについてです。文字の色については、ここにも書かれていませんが、さらに記述を遡ると、この文書全体を表す<body>タグについての指定で書かれています。


body {
color: #333;
font-family: "Noto Serif", serif;
font-size: 15px;
font-size: 1.5rem;
line-height: 1.6;
}

実際には、下記のような順でスタイルが記述されています。


body {
color: #333;
font-family: "Noto Serif", serif;
font-size: 15px;
font-size: 1.5rem;
line-height: 1.6;
}


h1,h2,h3,h4,h5,h6 {
clear: both;
font-weight: 700;
}


h3 {
font-size: 27px;
font-size: 2.7rem;
line-height: 1.1852;
margin-top: 2.3704em;
margin-bottom: 1.1852em;
}

<body>要素では文字の色、フォントの種類(ファミリー)の次に、フォントサイズや行の高さについての指定があります。文字色やフォントの種類についてはこのbodyに対して書かれた設定が反映されていますが、フォントサイズや行の高さについては、最後のh3について書かれた設定が反映されています。これがCSSの特徴と言えるカスケーディングの仕組みです。より詳細な指定で記載してあったり、元のものよりも後に記述することで、設定を上書きしていける一方で、特に指定がなければ親要素・先祖要素に遡って書かれているスタイルの設定が反映されます。

なので、最初の方に基本的な設定を書き、共通しているものはその設定を使い、特別な設定が必要なものを後回しに書いたり、詳細度をあげて記述することで、部分的に上書きしながら、全体のスタイルを書き上げていく、ということをしています。
つまり、レイアウトの中から共通項を見つけ出す作業をし、最初にまとめて書いてしまうということをやっています。なので、パターンを見出したり、共通できるものはまとめておきたい、というのがコーダーの頭の中には常にあるわけです。

カスケーディングの良さと難しさ

共通ものをベースにして、個別の設定をそのあとに書いていく、という基本の構造があり、効率よく書いていくというものの、ひとつのサイトに利用するCSSが3000行以上になることも珍しくありません。それらの構成を把握しながら、順序立てて書いていても、途中でスタイルが変更になったり、追加のレイアウトが増えて行ったり、などが繰り返されると、共通の部分がどこで、そのあとのどこでどう上書きされているかの関係性を見失ってしまう場合もあります。複数人で開発している場合には、ルールが必要にもなるでしょう。

全部それぞれ別々に書けばいいのでは?

身もふたもないですが、そういう風に考えることもできます。共通の部分など考えず、ひとつひとつ全て別々に書けば、思った部分だけを修正できるのではないか?しかし実際そういう風に書いたとするとCSSファイルはとても量の多いものになり、レイアウトに何か共通の修正が入った場合は、それぞれに直す必要もあり、手間がかかります。

これを避けるために、コーダーは共通部分はまとめたいと強く願うのです。

こういうのほんとありえない、、、になるわけですね。

Illustrator で文字のCSSを見てみる

CSSプロパティというウインドウパネルを出して、テキストを選択すると、そのテキストのCSSをみることができます。これらの積み重ねで、Webサイトはその形を成しています。

まとめ

CSSについてもっと詳しく知りたい方、書けるようになりたい方は、そのための教本を探していただくことにして、ここでは詳しく書きません(書ききれません)。以前、HTMLとCSSをちょっと書いてみる連載を書いたので、もっすごい基本的なマークアップやCSSの話をしているのでそちらをご覧ください。

次回からはもっと具体的な、デザインを作る時の考え方について書きます。

[ssba]

WPサイトデザインのコツ(コーダーの頭の中編)

Webサイトを作る時のデザイナの役割について前回書いてみました。今回は、デザインを受け取って実際に起こす作業をしているコーダーについて書きます。DTPもあとの作業である印刷の工程に知識のあることが作るものの質を変えるように、Webデザインも、デザイナのあとの工程にあるコーディングやそれを担う人が何を考えているか知ることで、デザインが変わると思っています。

デザインそれ自体も大事ですが、デザインカンプを受け取り、デザイナの思惑を読み取って、Webサイトとしての最終的な形を作る「コーダー」が何を考えて作業をしているのか、ちょっとのぞいてみたいと思います。

つまりは、私の頭の中か・・・・・。遊ぶことしかないようですけど。悪って何?

デザイナの意図を読み取ってデータにする

コーダーがデザインカンプを受け取って何をしているかというと、写真にもあるように、デザインデータから、CSSを書くためのあらゆる数値や情報を読み取ります。私はそれをデザインカンプをプリントしたものに、とにかく書き込んでおきます。あとから見返すことも結構多いので。WebサイトにするにはHTMLとCSSとでデザイン要素をデータに還元して、ブラウザが解釈して表示できるものに変換しているのです。また、画像データやアイコンなどのデータをデザインカンプから書き出す作業もします。

自動化できないの?

それができたらコーダーの仕事がなくなってしまう・・・・の、ですが、部分的に自動化することはできますし、試みられてもいます。Illustratorでは文字周りのCSSを書き出せるようになっています。それらを活用すると、コーダーの負担が減るかもしれないですね。

効率的にCSSを書きたい!コーダーの思い

Webサイトを仕上げていくとき、コーダーの頭の中には、こんな考えがあります。

  • CSSは後々でも管理しやすいように、わかりやすく簡潔に書くべき(なぜならWebサイトは繰り返し改善する=あとで修正の必要があるから)
  • HTMLに余計な要素を書くべきではない(マークアップにはルールがあり、正しく簡潔に書くことが求められている)
  • なるべく共通のパターンで整えたい、ルール化したい(そうしとかないとあとで分からなくなる)(毎回別々のレイアウトパターンのものを作るとかは手間である)

などです。
そんなコーダーをイラっとさせるのが、以下のようなこと。

こういうことがあると「デザイナーの気まぐれか?」「レイアウトはその時の気分かよ」「余白の取り方に一貫性とかルールとかないわけ?」などと、頭を抱えてしまうことになります。それでも、理由があれば、いいのです。「ここはこれまでの流れとトーンを変えて目立たせる必要があるので、フォントやレイアウトに差をもたせます」など、など。あればね。もしくは、本当に作るときに間違えてずれてしまった、とかならば、仕方ないのですが、問題は、読み取る方には「意図がある」のか「うっかり」なのかはっきりわからないことです。

話し合えばいい話。

デザインカンプだけから意図を探ろうとするのがまず、無理筋です。デザイナは、意志を持ってそのレイアウトを決めているなら、コーダーに向かって「見出しはこういうスタイル、空白は基本Xピクセルで、例外はどこのページのどの部分、本文サイズはどれぐらいで、行間はゆったりさせたいのでフォントサイズのX倍とっています」など、意図を伝えればいい。もしくはコーダーから疑問点を確認すればいい。ただし、社内ならともかく、デザインとコーディングを全く別の組織の人間が受け持つことも少なくないので、それらのコミュニケーションに手間がかかることもあって敬遠されるのかもしれません。
また、デザイナ側に経験やCSSなどの知識が乏しいと、何をどう伝えていいのかわからないこともあると思います。けれど、それを上手にするためには、まず一言伝えてみること以外に、上手くなる方法もないと思っています。

まとめ

デザインの後にあるコーディングのことに少し興味を持ってもらえたら何よりです。もしくは、効率だのパターン化だの、つまらん話だ、と思われましたかね?もちろん、デザインに素晴らしい意図が読み取れ、それがWebサイトを構成することに欠かせず、その効果を遺憾なく発揮してWebサイトの目的を達成するだろう、と信じられる場合には、こちらもやる気が出ますけど。なんとなくWFから指定された要素を組み込み、なんとなくこんなもんかで形にして、自分にだけわかるルールで整えて、それっぽくなったからOK?クライアントが気に入ればOK?で作ったものは、すぐわかります。コーダーだけじゃなくて、ユーザーも。
デザインデータをもとにせっせとそれを実現するのがコーダーの仕事ですけど、予算には上限が存在し、使える時間も限られている。しかも、一度作ってしまえば終わりではなく、何度も修正繰り返していく前提なのです。どんな細かい無茶振りな指定にも答えます!というわけにはいきませんからね。

わがままデザインにならないようにするには、何をポイントに考えればいいのか、このあとの回で書いていきたいと思います。

[ssba]

WPサイトデザインのコツ(はじめに)

また、連載を始めます。今度は、デザインの話。

私ごとですが、こないだツイッターを見ていたら、「CSS書ける人:Webデザイナー」という分類がされていて、捨てたはずの「デザイナ」という肩書きがまた自分に舞い戻ってきて苦笑しました。ウェブサイトの最終工程である「コーディング」をメインの仕事にしようと思った時に、デザインからは距離を置こうと決めたんです。なかなか離れられないのもほぼ業だなと(笑)。

ここでいうところの「Webデザイン」は直接CSSを書くことがなくても、むしろコーディングとか全然わからないけど、ウェブサイトの見た目を作ることがある、ウェブサイトのデザインをやってみたい、という方に向けて書きます。WPサイトデザイン、と題していますが、もちろんそれに限らず使える話なので、自分の作るWebデザインをもうちょっといいものにしていくにはどうしたらいいか?と思う方は是非読んでいただければと思います。
WPサイトの、どちらかというと設計について知りたいという方は、ちょっと前に書きましたので、そちらを参考にしてください。

Webサイト制作における「デザイン」の立ち位置

広義のデザインは、Webサイトの制作全ての段階で出てくるのですが、今回はとにかく見た目のデザインというところで、この「デザイン」という言葉を使います。

  

Webサイトには明確な目的があり、それを叶えるために、機能を検討し、その機能が正しくユーザーに認知されるように「見た目として表現する」のがWebサイトにおける「デザイン」の役割です。Webサイトは基本的に「文書」なので、それを見る人にとって情報が伝わりやすく、魅力的に見せることも、「デザイン」の役割です。機能の役割を示す「ビジュアル」であり、伝える情報を表現する「グラフィック」の両方を備えています。

サイトの目的と
デザインする個別のページが持つ役割を
正しく理解していなければいけない

Webサイトの制作における「デザイン」の役割を考えると、少なくともサイトを作る目的を理解し、可能ならビジネスモデルや収益モデル、ユーザーがどのように行動するのが理想的なのかを理解して、それをWFに見られる文書をもとにページの役割を理解してデザインに臨む必要はあろうかと。かといって、ディレクタが丁寧にその辺りの事情を説明しているのかは、わからないのですが。
デザイナ自身がコードを書かない場合、制作の過程でいうとデザイナの下流にいるのがコーダーです。私です。
私の元には、デザイナさんが描いたデザインカンプが元データとして渡されます。その時に、「どの辺がリンクとして機能するのか」「これはどこをどう操作するのか?」「このページを見た時に、ユーザーに促される行動は何か?」さっと理解できなくて首をひねってしまうことがあります。そういうデザインのサイトをそのままの見た目で作ってサイトに仕上げて公開したら、ユーザーも同じように首をひねってしまうかもしれませんね。

完成したら終わり。ではない!
Webサイトの「なんとか」サイクル

Webサイトは作って終わりではなく、成果を確かめながら、変化し続けるユーザーのニーズに対して改善し続けて行くことが「できる」媒体です。紙の本は一度出版され、読者の手に渡ったものを変更することはできません。読者が「この本は知りたい情報をすっかり得てしまった」と思って手放そうとする時(ニーズが変化した時)に「待って!また新しい情報載せるから!」ということはできません。でも、Webサイトならできます。なので、Webサイトは繰り返し改善します、すべきなのです。ここで出てくるのが、そうです、よく聞く「なんとか」サイクルです。

なんていうんだったか忘れて出てこなかったので、某大手検索サイトで検索したら、教えてくれました。あほな質問に、なんという親切な対応!神ってる!!
PDCAサイクルについては、よく聞くものだともうのでここでは特に取り上げません。実際のWebサイト制作のフローでどのようなタスクとして出てくるのかについて知りたい場合は、『ノンデザイナーでもわかる UX+理論で作るWebデザイン』のP17〜19あたりを参照ください。UXデザインサイクルについても読むといいと思います。

まとめ

Webサイトの制作においてデザイナさんに求められる役割がわかっていただけたかと思います。でも、これって、印刷物の制作とかと、そう大きく変わるでしょうか?目的を理解して伝えるべき情報を揃えて整理し、わかりやすく配置し、魅力的に見せる、そのことは同じだと思います。
違うといえば、見た目を作った後に、コーダーがそれを解釈してHTMLとCSSに起こすため、自分の思うようにならないことがあるのは確かですが。また、Webサイトには動きや機能があるので、その部分は「わからない、難しい」と感じるかもしれないですね。
本来ディレクタと話し合ったり、もっとコーダーとも相談して進めるのがいいと思っています。相互理解、大事です!

[ssba]

『ノンデザイナーでもわかる UX+理論で作るWebデザイン』

UXってなんですか?というところから、デザインのことまで、ウェブサイトを作ることについて、抑えてあるといいポイントが非常に読みやすくまとまっていて、良い本だと思います。「ノンデザイナーでも」というところから、デザイナー以外を対象にしている本のように見えますが、デザイナーさんにこそ読んで欲しいかなあと思いました。

実際にデザインを作るときのチップスになるようなことはほぼ書かれていないので、テクニックを知りたい方は別の本を読んだ方がいいと思います。基本的なウェブを作るときの考え方や実践の手法について知るのに、いいと思います。UXってよく聞くけど、なんぞや?知りたいな、と思う方は手に取って見てはいかがでしょうか。

私が色々書き込んだり、それほんとな、というところに付箋を貼ったバージョンで読みたい方は、お申し出ください(笑)

[ssba]

WPサイトの設計について(まとめ編)

WPサイトの設計について何を考えているかについて書いてきました。
全てではないですが、基本的なことは拾えたのではないかと思います。

ここまで考えたことは、要件定義、サイトマップ、ワイヤーフレームをもとにして考えています。これの他、コーダーの仕事としては、デザインカンプに従ってデザインデータを切り出し、HTMLやCSS、JSを書く仕事があります。つまり、その仕事に入る前に、これだけのことを考えて準備して実装に手を動かしている、ということになります。それを考えると、WPサイトの見積もりは30万円〜という見積もりも、決して高いと言えないと思うのです。

デザインを当てていく作業の前に、もう少し補足しておきたいことについて簡単に書いておきます。

続きを読む WPサイトの設計について(まとめ編)

[ssba]

WPサイトの設計について(カスタムフィールド編)

WPサイトを設計するときに何を考えているか、の連載、なんと5回目です。長いですね。前回はテンプレートの話をしました。今回はカスタムフィールドの話です。

またでましたね、カスタム。投稿タイプだったり、タクソノミーだったり、今度は「フィールド」のカスタムです、つまり、独自のフィールドを追加するということです。ところで、フィールドって、なんでしょうね?

続きを読む WPサイトの設計について(カスタムフィールド編)

[ssba]

WPサイトの設計について(テンプレート編)

WPサイトを作る時にどう設計するか?何を考えているか?についての連載4回目です。はじめにサイトマップをよく見て投稿タイプについて考えURLについて考えてきて、今度は各ページを出力するテンプレートについてのお話です。長い連載になってきました。でもこれを含め残り2、3回ぐらいだと思います。どうぞよろしければお付き合いください。

テンプレートってなんのこと?

WPでは、投稿タイプごとに、管理画面で記事内容を入力できます。入力した内容をデザインに合わせて「出力」することでサイトが見られる、ということになります。見えるサイトのことを「フロントエンド」と呼んだりします。WP管理画面を「入力装置」とし、実際にサイトとしてユーザーが見る「フロントエンド」の間にあるのが「テーマ(テンプレート)」です。テンプレートが入力された内容を「出力」しない限り、管理画面で何を入力してもサイトは真っ白なままです。

テーマテンプレートを作る方法自体は、ここでは紹介しません。ググりましょう。個人的には、WP標準の「twentyなんとか」というテーマをもとにして、不要な部分はざくざく消すなどして、カスタマイズしています。この記事では、これまで考えてきた設計をもとにした場合、どんな「テンプレート」があればサイトを組んでいけそうか?ということを考えていこうという趣旨で書いてます。

なんじゃそれ、と思った方は是非続きをどうぞ。

続きを読む WPサイトの設計について(テンプレート編)

[ssba]