ブログ一覧

border-style: dashed の怪

怪、というか、いかに自分がCSSの定めるところについて、上っ面しか知らない、と思い知らされたので、記事にしました。
もうこの先あんまり偉そうなこと言わない、言えない・・・。

そもそもの発端はteratailに上がっていた質問に答えたことからでした。
https://teratail.com/questions/142990

破線の両端が繋がってしまうことを避けることができないか?という質問でした。現象としてはこんな感じです。

Mac safariでキャプチャ
Mac chromeでキャプチャ

そこで、仮説として、セルの高さが破線の高さの倍数であれば、セル内で改行が起こっても破線がつながることはないのではないか、と考え、具体的にはセルの高さを決定する要素、内包するテキストの行の高さとセルのパディングがそれぞれ破線の高さの倍数であれば、その和であるセルの高さは破線の高さの倍数になる。
そう考えて作ったデモがこちらです。例2を参照してください。

説明は端折りますが、結果できたセルを見てわかったことが以下のこと
・破線はセルの中央を起点として、実線、もしくは空白の中央を起点に合わせるように実線と空白を繰り返し描画している
・破線の両端が実践になるように、なんらかの調整をしている

safariでキャプチャ

そりゃ、破線、繋がっちゃうよね。
なので、デモの例3にもあるが、border-spacingを使ってやるしかなかった。
http://www.htmq.com/style/border-spacing.shtml
余談ですが、border-spacingの値を上下・左右別のものを設定することができるとは、知らなかった・・・・。

やって見なければわからないことは、あるものだな、と思った次第であります。
どこかで誰かのお役に立てば何よりです。

あ、ちなみに、破線の高さですが、safariでは実線3ピクセル、空白は3ピクセルが基本のようです。他方、Chromeは実線3ピクセル、空白が2ピクセルでした。なので、実を言うと、そもそもの「セルの高さを破線の高さの倍数にする」と言う解決策の過程自体が、危ういです。
ただし、Chromeでも破線の両端は実線にするルールのようなので、今の所解決策は同じで、border-spacingを使う、と言う感じになりそうです。

[ssba]

お久しぶりのMovable Type

キックオフ会を実施したまま活動が止まっていた「MT北陸」がようやくスタートアップのセミナーを開催しました。その中心メンバーの、ちょっぴり端っこに、もう北陸在住ではないけれど、参加しております。

そう、今でこそほとんどの仕事がWP案件ですけれども、私が最初に触れて覚えたCMSはMovable Typeでした。静的生成最高。

WP案件を、今ではなんとなくこなせるようになっているものの、PHP自体はあまりちゃんと理解できておらず。また、サーバーの保守管理のようなものも苦手。さらにデータベース関連とか未知の世界で。正直、そういう部分に理解がないとWPって取り扱うのが結構しんどいです。自分の本当に頑張れる範囲はHTML+CSS、時々jQueryってところだよな、と思うと、そのほかの部分に頑張る余力が、ここしばらく本当になくなってきたなーと、思っていたのです。

つまり。WPサイトの面倒見るのが実はしんどいと気が付いてしまった。

そう思うこと、ありませんか?
例えば・・・・

  • WPのセキュリティアップデートが頻繁にあるので、その度対応がしんどい
  • アップデートは必須なのに、その費用を含めたメンテナンスや保守の費用を出し渋られる
  • 利用しているWPのプラグインなどが古いがアップデートがかからず、古いまま使っていてセキュリティが心配
  • 前任者が作ったWPサイトの中身がわからなすぎて、クライアントのオーダーで修正したいと思っても、社内でどうにもならない

WPに限らず、安いからといってオープンソースのシステムを使っていると起こりがちな問題のように思います。
社内にWPに詳しい人がいるなら、問題なく安全に取り扱える人がいるなら大丈夫だと思いますが、そう出ないなら、ちょっと立ち止まって考えてみてもいいかもしれません。

WPのアップデートに使っている時間を考えて見る

2017年7月から1年間の間に、WPは22回のアップデートをリリースしました。そのうち8回がセキュリティアップデートでした。
最低限としてセキュリティアップデートのみを対応し、年間8回アップデートの対応をしたと仮定しましょう。
その際に行われる作業を、ちょっと細かく書き出してみます。
①アップデートの通知を受け取り内容を把握
②先方にアップデートの必要ができたことを告げ、実施スケジュールを確認、その日の更新は控えてもらう
③当日、まず諸々バックアップ
④アップデート(何もなければ数分で終わる)
⑤サイトの見え方や管理画面の挙動を確認
⑥ちょっとトラブってその解決に時間が取られる
⑦仕様の変更などがあって、先方に操作の仕方を伝達、マニュアルの書き換え
⑧アップデートのレポートを先方に伝達
という感じで、平均2時間ぐらいかかったとして、年間で16時間です。
意外と少ないですか?
でも管理しているWPサイトが10個あったら10倍です、160時間。

でも、もし、アップデートが必要なくなったら。
年間で16時間、そのクライアントに対して時間を使うことができたら、何ができそうでしょうか?
お客様のサイトをささっとチェックして、コンテンツに対するアドバイスができるかもしれません。これを2月に1回ペースで行ったとして6時間ほどとしましょう。
その中でもっとうまくするアイデアを思いつくかもしれません。残りの10時間近くがあれば、もしかしたら素敵な企画が出来上がるかもしれません。
たった16時間とは、言えないのではないでしょうか?
こちらの方がずっと、ウェブサイトを役立てると言うことにおいては、意義のあることではないでしょうか?

WebサービスとしてCMSを使うという選択肢

社内にわかる人間がいないからという理由でCMSの管理を外部委託するなら、Webサービスを使うのを考えて見るのはどうでしょう。
しんどくても、なんとか知識を身につけて自前でWPの面倒をみることも多少なりとメンテ契約という費用としてお金になるのは確かなのですが、CMSのセキュリティや思ったように動き続かせるために力を取られると言うことは、本来力を注ぐべきところ、例えばコンテンツのクオリティをあげるとか、ユーザーのニーズを探るとか、UI/UXを向上すると言う方へ力が回らないと言うことです。本来、その部分がお金になる方が、コンサルを兼ねたウェブ制作をする場合、本当に成果の上がるウェブの制作を目指すと言う場合において、意味があると思います。

WebサービスとしてCMSを利用する場合、オープンソースのCMSを使う場合と比べて、ウェブサイトとして使える機能は、大抵の場合、減ります。そこがおそらく大きな違いです。
そこを補って余りあるのが、使える機能は限られるが、間違いなく「使える」と保証されていることです。無論、マニュアル通りの使い方の範囲で、と言うことになるでしょうけれど。アップデートして使えなくなった、おかしくなった、と言うことが起こるリスクは減ります。不具合があれば、必ずサポート対応してくれるでしょうし、使い方の問い合わせなどにも対応してくれる場合があるでしょう(そのための利用料金ですよね)。
MTのWebサービスの場合、サーバーにインストールする方法のものと違って、Webサービスはそこでしか使えない便利機能もあるそうです。

MovableType.net を使ってみませんか?

コミュニティに参加している時点で回し者なので(冗談です)、いや、それ以上に、使えそうだな、と思ったので、お伝えします。
Movable TypeのWebサービス版である「Movable Type.net」を検討してみませんか。一番安いライトプランの利用料は年間25,000円(年間一括払い)です。
・サーバー込み
・メールサーバーはない
・独自ドメイン使える
・無料SSLが使える、プランによっては持ち込みSSL証明書も使える
・無料で使えるテンプレートがある
・テンプレートはカスタマイズ可能なので独自のデザインもOK
・カスタムフィールド使える
・項目の編集可能なメールフォームが使える
などなど。他にも説明を聞きながら便利が機能があるなあ、と思ったのですがそれはまたいずれ。

正直なところでは、今のところ、ライトプランだと機能が限られているので、案件によってはすすめにくい可能性があると思いました。まだちょっと様々未検証なのでなんとも言えないですが。
ただし、ブログに毛が生えた程度でお問い合わせフォームがひとつあればいい、と言うぐらいの案件であれば、ライトプランでいけます。
独自ドメインで、一応独自ドメインのメールも使って、と言うぐらいでライトプランを利用したとすると。
・サービス利用料 25,000円(年間一括払い)
・レンタルメールサーバー 約1,000円(年間一括払い)
・ドメイン管理費 約3,000円(年間)
と言う感じで概ね年間30,000円(税抜)ぐらいと試算できます。
(CMSのアップデートの作業は無くなりますが、使い方の問い合わせなどをお客様から直接サービス提供会社に連絡するのはハードルが高い場合などを考え、サポートについては別途料金設定をする必要があると思います。)
ひとつのWPのアップデートに年間16時間使っていたとして、1時間5,000円のコストと考えると、年間8万円(税抜)。差額は50,000円。もし、10サイト管理しているなら10倍です。もちろんこの試算には嘘がありますが、少なくともアップデートに使っていた時間は浮くはずです。それを儲けのある仕事に割り当てることができるなら、もしくは社員の勉強の時間や、残業を減らせるなら・・・

ちょっと、心揺れませんか?

心揺れたかもしれない、と思うウェブ制作者の方はぜひ評価版を試して見てください。評価版の申し込みはこちら

[ssba]

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]