2009.01.28.

WordPressの解説本

このサイトを作成するときに参考にした書籍を紹介します。

WordPress標準ガイドブック―導入&基本操作からフルチューンまで
マクラケン 直子 WordPress Japan
毎日コミュニケーションズ
売り上げランキング: 68207

WordPressを使ってみようと思って、最初に買った参考書です。WordPressはMovable Typeに比べて、解説本が少ないですが書店でいろいろ見比べながらわかりやすそうだったので購入しました。大正解。導入からカスタマイズまでこれ1冊でほぼ足りてしまうくらいで、説明も丁寧です。
cssをいじったことがあるくらいの人で(私です)少し試してみようかなという場合には最適だと思います。

この本を読みながら(もちろん他にもいろいろ参考にさせていただいた本やサイトはたくさんありますが…)こうかな?どうだろ?と試行錯誤しながら作ったのがこのサイトなわけです。

残念ながら私の手元にあるこの本は、2007年7月発行で対応しているのは古いバージョンです。中身的には問題なく使えると思いますが…
どちらにしても最新版が書籍で出る頃にはWordPressのバージョンもさらに上がっていたりするので、最新情報はネットで追いかけることになりますけどね。

解説本2冊目は、

WordPressサイト構築スタイルブック―デザイナーのためのテンプレートタグリファレンス+サイトデザインテクニック
エ・ビスコム・テック・ラボ
毎日コミュニケーションズ
売り上げランキング: 4061

こちらは、テンプレートタグの解説と、WordPressを使ってブログ以外にウェブサイト(ホームページ)を作成するための解説がたいへん役にたちました。参考例がたくさん載っていてわかりやすいです。この2冊があれば、ひととおり自分でWordPressを導入して自分のオリジナルブログを作るところくらいまで出来ると思います。ただしこれらの本にはcssについての説明は載ってませんので、オリジナルのテーマをデザインするには、別途cssの勉強も必要。

単純に、WordPressでブログをはじめたい人は、「WordPress標準ガイドブック」だけあれば十分じゃないかな。

2009.01.23.

WordPress 2.7 にアップグレード

WordPressのアップグレードってけっこう面倒くさい。バックアップを確認したり、ファイルのあれとこれを入れ替えて、でもこっちとそれは消しちゃダメよとか。
それでついつい先送りしちゃうんだよね。
そうは言っても、古いバージョンを使い続けるわけにもいかない。
どんどん使い勝手も良くなるし、いろんな機能も増えてくる。セキュリティ上も古いままでは問題あるし。
仕事の手も少しあいたので、「エイ、ヤッ」と2.7にアップグレードしました。
WordPress 2.7 の新機能で気になっていたのはこれ

皆さんが自分や友達のブログをアップグレードするのにどれだけうんざりしているかを聞いて、最新版が公開されたら自動的に通知する機能とビルドインアップグレード機能を組み込みました。これで、準備ができたらクリック一つで自動的にファイルをダウンロードし、インストールし、アップグレードすることができるようになりました。

WordPress|日本語 のブログ記事「WordPress 2.7”コルトレーン”」より

2.7ではいろんな新機能があるんだけど、これを読んでアップグレードしなきゃと思いました。次のバージョンからは、簡単にアップグレードできそうだって。

アップグレードの手順は、WordPressのサイトの「WordPress のアップグレード/詳細」に載ってる通り。
まだ、ざっと見まわしただけだけど、ダッシュボードもだいぶ洗練されてきた感じです。

参考サイト

2009.01.16.

角を丸める 応用編

前回の「角を丸めてみる」という記事で、p要素の範囲に色を付けて、四隅を丸める基本形を作ってみました。

この:beforeや:afterを使ったデザインは、なかなかおもしろくて簡単にいろいろな応用が利きそうなので、いくつかやってみます。

まずは、角を丸めたラインで囲ってみます。
用意するのは、Rラインの画像4枚。R左上 R右上 R左下 R右下

p要素を単純にボーダーラインで囲ってあげて、そのままだと四角い枠なので四隅にそれぞれボーダーと同色のRライン画像をボーダーにかぶせるように配置してやればOK。方法は「角を丸めてみる」の記事で書いたのと同じ。

HTML<p class="r-line">この部分が囲みたい文章の中身です。</p>
CSSp.r-line {
    padding: 0 15px;
    border: 2px solid #a0410d;    
}

p.r-line:before {
    content: url("images/r-line-tl.gif");
    display: block;
    background-image: url("images/r-line-tr.gif");
    background-repeat: no-repeat;
    background-position: top right;
    margin: -2px -17px 0;
}

p.r-line:after {
    content: url("images/r-line-bl.gif");
    display: block;
    background-image: url("images/r-line-br.gif");
    background-repeat: no-repeat;
    background-position: bottom right;
    margin: 0 -17px -2px;
}

例えば、エゾリス枠こんな画像を作って:beforeの中に入れて位置を調整してあげれば、

ボーダーラインと絡めた飾り枠も簡単、簡単。
このサイトの中では、引用表示なんかにもこの方法を使ってます。
ただし、IEでは :beforeも:afterも対応していないので、ボーダーラインの囲みだけになってしまいます。

2009.01.14.

角を丸めてみる

このようにブロック要素の四隅を丸める方法です。このサイト「ezorisu-web」のコメント欄は、フキダシっぽく見せるために色を付けて角を丸めてあります。(トラックバックは四角いままで区別している)
p要素内に疑似要素である;beforeと:afterを追加して、その中に角を丸める画像を入れています。一番シンプルだと思われるやり方です。

ただしIEでは疑似要素に対応していないのでうまくいきません。IEで見た場合は、角丸処理をした:beforeと:after部分が表示されないだけで、色つきの四角いブロックに囲まれた文章はきちんと読めます。

図解-1
まずは四隅をまるく見せるための画像を用意。大抵は1/4円の画像で処理していると思いますが、ここでは1/4円の外側の画像を使っています。正方形に内接する円の外側部分四つをそれぞれ左上、右上、左下、右下画像とし、色は背景色に合わせます。このページは背景色が白なので、白い画像にします。

これだとページの背景色と同色でブロック要素の隅をまるく覆っているだけなので、ブロック要素の色をいろいろ変えても丸めるための画像は最初に作ったよっつのみ。そのつど色を合わせた角丸用の画像を作らなくてもいいです。ただし、この方法が有効なのは背景色が単色の場合だけですが…

とりあえず左上をmaru-tl.gif、右上はmaru-tr.gif、左下をmaru-bl.gif、右下をmaru-br.gifとしました。

HTMLは、p要素に適当なクラス名を付けます。ここではclass=”maru”にしました。

HTML<p class="maru">この部分が囲みたい文章の中身です。</p>

これだけ。余計な要素が付かないのでシンプル。

次にCSSです。クラス名”maru”を付けたp要素に対して文章が読みやすいように両サイド15pxほどパディングで横方向の余白を作りました。上下方向は角丸の処理でそのスペース分逃げることになるので0pxでOK。”maru”部分全体の色もここで設定。

図解-2

p要素”maru”に対して:beforeと:afterを追加します。:beforeと:afterはパディングの内側に入ることになります。

図解-3

次に:beforeの中にcontentプロパティを使って左側のmaru-tl.gif画像を挿入。display:blockを忘れずに。さらにバックグランドイメージで右のmaru-tr.gifを追加。リピートしないようにして、位置は右上。afterも同じように追加。

図解-4
あとは、:beforeの左右をパディングでずれた分だけマージン-15pxで外側にずらしてあげます。
afterも同じ。

最終的なCSSは、このようになります。

CSSp.maru {
    padding: 0 15px;
    background-color: #fcdbb6;
}

p.maru:before {
    content: url("images/maru-tl.gif");
    display: block;
    background-image: url("images/maru-tr.gif");
    background-repeat: no-repeat;
    background-position: top right;
    margin: 0 -15px;
}

p.maru:after {
    content: url("images/maru-bl.gif");
    display: block;
    background-image: url("images/maru-br.gif");
    background-repeat: no-repeat;
    background-position: bottom right;
    margin: 0 -15px;
}

ポイントは、

  • ブロック要素内の上と下に疑似要素:beforeと:afterを追加。
  • contentとbackground-imageを使って、疑似要素内にふたつの画像を表示する。
  • 疑似要素の位置をmarginを使って調整する。

いろいろと応用が利きそうですね。

あとはIEでは表示されないので、IE用に別枠で対策を考えるか、IEを潔く切り捨てるかです。
このようなさりげないデザインは、もちろんウェブサイトをきれいに見せますし、細かいところで印象も変わってくるでしょう。しかし、レイアウトが大きく狂うわけでもないし、もちろん文章が読めなくなるわけではありません。
「ezorisu-web」では、この辺の細かな印象の違いにはIE対応しない方針です。昨今、読む方としてはいろんなブラウザを選べるわけだし、これもIEの個性と思えばそれはそれでいいのかなと、最近私は考えています。

2009.01.12.

コピーライトをフッターエリアの中央に入れたい

このページの一番下にフッターエリアがあります。最近のフッターは、いろいろ情報を詰め込んでいるものも多くなりましたが、このサイトではシンプルにコピーライトだけ。
スッキリ見せたいので、フッターは少し色を変えて、真ん中に簡潔なコピーライト。

この真ん中に文字を表示するというのを考えてみました。文字を特定のエリアで縦方向の中央寄せにする。

左右の中央に合わせるのは、簡単。次は上下の中央合わせ。ここで、ハテ?と行き詰まってしまった。
今まで、自分のサイトならコピーライトの文字数も行数も自分で決められるから、それに合わせて調整するのは比較的簡単でしたが、
一応フリーテーマで公開するものを作ろうと思ったら、これがなかなか難しい。
使う人によって一行なのか複数行なのかまちまちだろうから、どちらでも対応できるようにしておきたい。
さて、どうしたものか。

調べてみると、ヨモツネットというサイトの「CSS で簡単に上下中央揃えを実現する」という記事の方法が使えそうです。
要は、コピーライトを入れる要素にdisplay:table-cell;を指定することによってテーブルセルと見なす。そうするとそのセル内ではインライン要素である文章もvertical-alignを使って中央合わせが出来るようになる。なるほど、簡単。

とにかく、フッター用の標準のパターンとして考えてみた。

一行の場合

二行の場合

HTML<div class="footer-sample">
<div class="copyright-sample">コピーライトの例です。コピーライトの記号と年数、著作者名を入れます。</div>
</div>

“footer-sample”というクラス名のdivのなかに”copyright-sample”というクラス名を付けたdivを入れて、その中に実際のコピーライトを書きます。

CSSdiv.footer-sample {
    background-color:#333;
    height:70px;
    width:500px;
    display:table-cell;
    vertical-align:middle;
    text-align:center;
}

div.copyright-sample {
    color: #ccc;
    font-size: 12px;
    line-height: 1.2em;
}

フッターエリアを黒っぽく塗りつぶして、とりあえず高さは70px、幅は500px。
display:table-cell;を指定をしてフッターをテーブルセルとみなしてしまう。あとはテーブルセルとして中央寄せを設定してあげる。

一般的なブラウザーだとこれだけでOK。シンプルでスッキリ。
ところがいつものように、IEだけは、display:table-cell;に対応していない、と。
いいかげん、IEなんか使うのやめようよと言いたいのをぐっとこらえて、IE用も。

HTML<div class="footer-sample">
<!--[if IE ]>
    <span class="dummy-h"></span>
<![endif]-->
<div class="copyright-sample">コピーライトの例です。コピーライトの記号と年数、著作者名を入れます。</div>
</div>

IEで開いたときだけ、”dummy-h”というクラス名を付けたspanを読み込むようにして、IEの場合はここで行数の違いを調整できるようにする。

CSSdiv.footer-sample {
    background-color:#333;
    height:70px;
    width:500px;
    display:table-cell;
    vertical-align:middle;
    text-align:center;
}

div.copyright-sample {
    color: #ccc;
    font-size: 12px;
    line-height: 1.2em;
}

*:first-child+html div.copyright-sample {
    display:inline;
    zoom:1;
    vertical-align:middle;
}

*:first-child+html div.footer span.dummy-h {
    display:inline;
    zoom:1;
    height:100%;
    vertical-align:middle;
}

* html div.copyright-sample {
    display:inline;
    zoom:1;
    vertical-align:middle;
}

* html div.footer span.dummy-h {
    display:inline;
    zoom:1;
    height:100%;
    vertical-align:middle;
}

*:first-child+html はIE 7用のハック。* html はIE 6用のハック。
IEには、display:table-cell; が効かないので、別の方法で同等の効果を与えています。
(これに関しては、上記のヨモツネットさんの記事がたいへん参考になります)
同時にダミー要素の span に height:100%; 高さを与えて、複数行でも対応できるように。この辺のことはネットをあっちこっちあさっていて、どこかで見た方法ですが、いろいろ試しながらやっているうちに、どこで見たのかわからなくなってしまいました。

一行の場合(IE対応版)

二行の場合(IE対応版)

IEの人もちゃんと表示されてるかな?

参考サイト