<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
<channel>
  <title>iddy.jp - RSS feeds by Red</title> 
  <link>http://iddy.jp/rss/blog/Red/</link> 
  <description>RSS feeds by Red hosted at http://iddy.jp/</description>
  <language>ja</language>
  <item>
    <title>あの人はどんな人なのだろう。</title> 
    <description>
    <![CDATA[
    クライアントにメールで複数の事項を連絡・相談する場合、メールもテーマごとに分けて送った方がいいという話は聞いたことある。確かにその方が便利だなーと思う節も自分自身にあったので、実際にそうすることも多い。

が、1つのその同じテーマについていくつか細かいことを...
    ]]>
    </description>
    <link>http://blog.livedoor.jp/red_line/archives/51782525.html</link> 
    <pubDate>Tue, 21 Sep 2010 11:15:24 +0900</pubDate>
   </item>
  <item>
    <title>今年こそは手紙を書きたい。</title> 
    <description>
    <![CDATA[
    年に１回程度、お年を召された方からの手書き原稿を受け取る機会があるのだけれども、そのたびにいつも苦戦している。

webサイト上で使用する原稿のため、その手書き原稿はこちらでキーボードで打ち直すのだけれども、まず達筆すぎて解読に時間がかかる。そして旧漢字、カタ...
    ]]>
    </description>
    <link>http://blog.livedoor.jp/red_line/archives/51777936.html</link> 
    <pubDate>Mon, 06 Sep 2010 10:35:17 +0900</pubDate>
   </item>
  <item>
    <title>Fireworks 拡張アレコレ追加メモ</title> 
    <description>
    <![CDATA[
    <p>Fireworks用にいろんなサイトで配布されているスタイルやパターンなどなど、いろんな素敵なものを追加するためのメモです。自分で作ったものを登録しておく方法の説明は今回は省略してます。</p>
<p>各素材等はmxp形式で配布されているものも多いので、その場合はExtension Managerでインストールしてください。下記はそうでない場合についてのお話です。</p>
<p>また、私の使用しているバージョンはCS4(Win用)なので、それに基づいてのメモとなります。バージョンやOS違いの場合は自分の環境に置き換えて確認してください。</p>
<h3 class="tit_h3">スタイルを追加する</h3>
<p>スタイルパネルのオプションメニューで「スタイルライブラリを読み込み」を選択、スタイルライブラリの名前と場所を選択します。</p>
<p>「スタイルを読み込む」と「スタイルライブラリを読み込み」の違いは、前者の場合は現在のドキュメントに対しての読み込みとなり、他のドキュメントではそのスタイルを使用できない。(そのスタイルの反映されたオブジェクトをコピーしたりすると使えますが・・・)後者の場合はあらゆるドキュメントで共有して使用できるスタイルとなります。</p>
<p>スタイルライブラリの拡張子は「.stl」。Windows XPの場合、ファイルの場所はここ。スタイルパネルからではなく直接追加したい場合はここにファイルをコピーします。</p>
<p class="note02">C:\Documents and Settings\ユーザー名\Application Data\Adobe\Fireworks CS4(バージョン名)\Styles\</p>
<p>他のOSの場合もだいたい「\Adobe\Fireworks CS4(バージョン名)\Styles\」とかいうフォルダを探せばよさそうな予感、です。</p>
<p>こちらのフォルダに直接追加した場合は、Fireworksを再起動します。</p>
<h3 class="tit_h3">共有ライブラリを追加する</h3>
<p>ライブラリに追加するデータはmxp形式のものが多いのですが、そうでない場合は配布されているデータを下記の場所へコピーします。(Windows XPの場合)<br />
※後述しますが、もう1つ「こっち追加してもいいよ」というフォルダもあります。</p>
<p class="note02">C:\Documents and Settings\ユーザー名\Application Data\Adobe\Fireworks CS4(バージョン名)\Common Library\</p>
<p>配布元からダウンロードしたファイルを展開すると、多分pngの入ったフォルダが出てくるので、そのフォルダごと上記の場所へコピーします。pngファイル本体だけをCommon Library直下にコピーしても読み込みできないみたいです。</p>
<p>また、そのフォルダの名前が共有ライブラリパネルに表示されるので、フォルダ名を変更すればパネル内での表示も変更できます。(名前の変更は共有ライブラリパネルからも変更可能ですが。)海外のサイトからダウンロードすると英語のフォルダ名になってて何のデータだったか後で分かりにくくなってしまうことも多いので、フォルダを日本語で分かりやすいものにしておくのもオススメです。</p>
<p>また、上記の場所(Common Library)を確認しても最初は何もファイルは入ってないと思います。最初から入ってるライブラリのデータはこっちにあります。(Windows XPの場合)</p>
<p class="note02">C:\Program Files\Adobe\Adobe Fireworks CS4(バージョン名)\Configuration\Common Library\</p>
<p>mxp形式のファイルをExtension Managerでインストールすると、こっち側のフォルダに追加されます。上にはDocuments and Settings内の該当フォルダにコピーすると書きましたが、手動でコピーする際、こちらのフォルダにコピーしてもOKです。</p>
<h3 class="tit_h3">パターンを追加する</h3>
<p>Fireworksから追加する場合は、適当に長方形ツールかなにかでオブジェクトを作って、プロパティから「パターン &gt; その他」(←ベタとかグラデーションとか書いてあるセレクトメニュー)、そこから追加するパターンを選択します。</p>
<p>ただし、この方法だと現在開いているドキュメント内でしか使えないので(スタイルと同じく、そのパターンの反映されたオブジェクトをコピーしてくれば使えますが。)、どんなドキュメントでも使用できるように登録したい場合は下記の場所へファイルをコピーします。</p>
<p>パターン用のファイルの場所はここです。(Windows XPの場合)</p>
<p class="note02">C:\Program Files\Adobe\Adobe Fireworks CS4(バージョン名)\Configuration\Patterns\</p>
<p>パターンとして利用できるファイル形式は、PNG、GIF、JPEG、BMP、TIFF、PICT（Macintosh のみ）です。</p>
<p>こちらのフォルダに直接追加した場合は、Fireworksを再起動します。</p>
<h3 class="tit_h3">テクスチャを追加する</h3>
<p>Fireworksから追加する場合は、適当に長方形ツールかなにかでオブジェクトを作って、プロパティのテクスチャのセレクトメニューからその他を選択し、該当ファイルを選びます。</p>
<p>ただし、この方法だと現在開いているドキュメント内でしか使えないので(スタイル・パターンと同じくそのテクスチャの反映されたオブジェクトをコピーしてくれば使えます。)、どんなドキュメントでも使用できるように登録したい場合は下記の場所へファイルをコピーします。</p>
<p>テクスチャ用のファイルの場所はここです。(Windows XPの場合)</p>
<p class="note02">C:\Program Files\Adobe\Adobe Fireworks CS4(バージョン名)\Configuration\Textures\</p>
<p>パターンとして利用できるファイル形式は、PNG、GIF、JPEG、BMP、TIFF、PICT（Macintosh のみ）です。</p>
<p>こちらのフォルダに直接追加した場合は、Fireworksを再起動します。</p>
<h3 class="tit_h3">コマンドを追加する</h3>
<p>コマンド用のファイルもmxp形式での配布が多いように思います。コマンド用ファイルの拡張子は「.jsf」です。Windows XPの場合、コマンド用ファイルの場所はここ。</p>
<p class="note02">C:\Program Files\Adobe\Adobe Fireworks CS4(バージョン名)\Configuration\Commands\</p>
<p>もしくは、</p>
<p class="note02">C:\Documents and Settings\ユーザー名\Application Data\Adobe\Fireworks CS4(バージョン名)\Commands\</p>
<p>どちらにコピーしても動作するのですが、Documents and Settingsの方に入れた場合はコマンドメニュー内で、区切り線が入るので分かりやすいかも、です。</p>
<p>ここにファイルをコピー後、再起動するとコマンドメニューに追加されています。</p>
<h3 class="tit_h3">自動シェイプを追加する</h3>
<p>自動シェイプもコマンド用ファイルと同じくmxp形式でない場合、配布されているファイルの拡張子は「.jsf」です。それに加えて、自動シェイプパネルに表示するためのサムネイル画像(GIFとかPNG)も一緒に配布されている場合が多いと思います。その画像も合わせてダウンロードしておきます。</p>
<p>Windows XPの場合、自動シェイプ用ファイルの場所はここ。</p>
<p class="note02">C:\Program Files\Adobe\Adobe Fireworks CS4(バージョン名)\Configuration\Auto Shapes\</p>
<p>もしくは、</p>
<p class="note02">C:\Documents and Settings\ユーザー名\Application Data\Adobe\Fireworks CS4(バージョン名)\Auto Shapes\</p>
<p>どちらにコピーしても大丈夫です。</p>
<p>初期状態でインストールされているファイルを確認すると、.jsfファイルと自動シェイプパネルにサムネイルとして表示するためのgif画像が置かれているのが分かると思います。スクリプトファイルと画像ファイルのファイル名を同じにしておくと連動するっていう感じです。</p>
<p>配布元からダウンロードした.jsfファイルと画像ファイルを上記の場所へコピーしたら再起動します。再起動後、自動シェイプパネルの中に追加したシェイプが確認できます。</p>
<h3 class="tit_h3">パネルを追加する</h3>
<p>パネル用のファイルはmxp形式でない場合、拡張子は「.swf」です。パネル用ファイルの場所はここ。</p>
<p class="note02">C:\Program Files\Adobe\Adobe Fireworks CS4(バージョン名)\Configuration\Command Panels\</p>
<p>もしくは、</p>
<p class="note02">C:\Documents and Settings\ユーザー名\Application Data\Adobe\Fireworks CS4(バージョン名)\Command Panels\</p>
<p>どちらにコピーしても動作します。ファイルをコピーした後、再起動、ウィンドウメニューの中に追加したパネルがあると思います。</p>
<p>Documents and Settingsの方に入れた場合はちゃんと区切り線が入るので分かりやすいかも、です。</p>
<h3 class="tit_h3">Fireworks関連のアレコレ配布、おすすめサイト</h3>
<p>国内サイトで何かを配布しているサイトは少ないのですが、探せばいろいろありますよん。</p>
<h4>国内サイト</h4>
<ul class="entrylist01">
<li><a href="http://ftg.projectdd.jp/" target="_blank">Fireworks texture gallery</a></li>
<li><a href="http://www.projectdd.jp/2008/08/textures.html" target="_blank">Fireworksの和風・伝統紋様テクスチャ - ProjectDD Blog</a></li>
<li><a href="http://oshare.jugem.cc/?eid=745" target="_blank">Fireworksの共有ライブラリ作りました | Webデザインのタネ</a></li>
<li><a href="http://www.kuma-de.com/category/blog/1-application/1-fireworks" target="_blank">Fireworks « きんくまデザイン</a></li>
<li><a href="http://www.pixelimage.jp/blog/archives.html#n03" target="_blank">PIXEL LAB　ツール＆エントリー一覧</a></li>
<li><a href="http://twitter.com/FireworksTipsJ" target="_blank">Fireworks Tips (FireworksTipsJ) on Twitter</a></li>
</ul>
<h4>海外サイト</h4>
<ul class="entrylist01">
<li><a href="http://www.noupe.com/design/an-explosion-of-adobe-fireworks-resources.html" target="_blank">An Explosion of Adobe Fireworks Resources - Noupe Design Blog</a></li>
<li><a href="http://www.fireworkszone.com/extensions.html" target="_blank">FIREWORKS ZONE | Adobe Fireworks tutorials and Downloads</a></li>
<li><a href="http://fireworks.abeall.com/" target="_blank">Aaron Beall - Fireworks Guru</a></li>
<li><a href="http://johndunning.com/fireworks/" target="_blank">Adobe Fireworks Extensions</a></li>
</ul><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/RedlineMagazine?a=Xp4sYdO0afY:clh8hLtOqHI:OAQBO0PjnPA"><img src="http://feeds.feedburner.com/~ff/RedlineMagazine?d=OAQBO0PjnPA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/RedlineMagazine?a=Xp4sYdO0afY:clh8hLtOqHI:spdCosxkSQE"><img src="http://feeds.feedburner.com/~ff/RedlineMagazine?d=spdCosxkSQE" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/RedlineMagazine?a=Xp4sYdO0afY:clh8hLtOqHI:s9VDnicYSUo"><img src="http://feeds.feedburner.com/~ff/RedlineMagazine?i=Xp4sYdO0afY:clh8hLtOqHI:s9VDnicYSUo" border="0"></img></a>
</div>
    ]]>
    </description>
    <link>http://feedproxy.google.com/~r/RedlineMagazine/~3/Xp4sYdO0afY/fireworks_4.php</link> 
    <pubDate>Sat, 28 Aug 2010 15:53:55 +0900</pubDate>
   </item>
  <item>
    <title>お久しぶりなり。</title> 
    <description>
    <![CDATA[
    こんな日陰のブログを見てくれている優しい方々、こんにちは。
ご無沙汰しております。

こっちのブログを書くのは久しぶり。
あ、違うな。あっちの少しは日が当たってるブログも最近全然更新してなかったんだった。中途半端な下書きとスクリーンキャプチャだけは増えていく...
    ]]>
    </description>
    <link>http://blog.livedoor.jp/red_line/archives/51772723.html</link> 
    <pubDate>Sat, 21 Aug 2010 12:03:45 +0900</pubDate>
   </item>
  <item>
    <title>Fireworks コレ、5分で作ります。その２</title> 
    <description>
    <![CDATA[
    <p class="note01">※このエントリはFireworks CS4を元に書いています。</p>
<p><a href="http://redline.hippy.jp/review/tool/fireworks_5.php">前回</a>はペンツールでパスを書いてなんやかんやしたんですが、今回はFireworksを始めたら一番最初にコレを覚えであろう長方形ツールをメインで使ってコレを５分くらいで仕上げる方法です。</p>
<p>デザイナさんも、デザイナさんじゃない方も、Fireworks をほとんど使った事ないわーという方にも、一度5分だけでも時間を使ってもらえたらなーという主旨も含めて書いてます。実際にやってみてもらって、「うはｗｗ Fireworks ってこんなに簡単な手順でよく見かけるこういうモノ作れたんだ」とか思ってもらえると嬉しいです。</p>
<h3 class="tit_h3">今回の完成形</h3>
<p>今回も前回同様、見出し画像の背景に使えそうな画像を作ります。</p>
<p><img src="http://redline.hippy.jp/images/100602_01.png" alt="画面キャプチャ・完成形" /></p>
<p>今回も素材集等、Fireworks の機能以外のものは使いません。</p>
<h3 class="tit_h3">土台を用意</h3>
<p>今回は２色のグラデーションにします。上辺のカラーは#80B7DF、下辺のカラーは#CBE2F3、線は1pxで#8BB5D3にしました。</p>
<p><img src="http://redline.hippy.jp/images/100602_02.png" alt="画面キャプチャ・土台を用意" /></p>
<p>ここでのサンプルのサイズはW 470 * H 40 としました。</p>
<p>今回もこういう見出し用の背景画像でよく左側にくっついてるラインを合体させます。（前回のパーツの使いまわしですけど）</p>
<p><img src="http://redline.hippy.jp/images/100602_03.png" alt="画面キャプチャ・よくあるラインを合体" /></p>
<h3 class="tit_h3">長方形を用意</h3>
<p>土台と同じサイズ（W 470 * H 40）の線なしベタ塗りの長方形を1つ作ります。色は後で変更するので何色でもいいですが、とりあえずブルー系にしておきました。</p>
<p><img src="http://redline.hippy.jp/images/100602_04.png" alt="画面キャプチャ・長方形を用意" /></p>
<p>こういう普通の長方形を作ったら、次にその長方形の上にペンツールで次図のように長方形の真ん中辺りに1本曲線を書きます。</p>
<p><img src="http://redline.hippy.jp/images/100602_05.png" alt="画面キャプチャ・長方形の上にパスを1本書く" /></p>
<p>その曲線と長方形のパスを選択します。</p>
<p><img src="http://redline.hippy.jp/images/100602_06.png" alt="画面キャプチャ・その曲線と長方形のパスを選択した状態" /></p>
<p class="entry_box01"><img src="http://redline.hippy.jp/images/100602_07.png" alt="画面キャプチャ・パスパネル　パスを分割" /></p>
<p class="entry_box04">その曲線と長方形のパスを選択した状態で、パスパネルの「パスを分割」をクリック。<br />
これで長方形が分割されます。</p>
<p class="clear"><img src="http://redline.hippy.jp/images/100602_08.png" alt="画面キャプチャ・分割された長方形" /></p>
<p>で、先ほどペンツールで書いた曲線より左側は必要ないので削除します。普通に選択ツールで左半分選択して削除してください。</p>
<p><img src="http://redline.hippy.jp/images/100602_09.png" alt="画面キャプチャ・長方形の左半分を削除" /></p>
<p>残った右半分を一番下の土台の右側へ重ねます。</p>
<p><img src="http://redline.hippy.jp/images/100602_10.png" alt="画面キャプチャ・残った右半分を一番下の土台の右側へ重ねる" /></p>
<p class="entry_box01"><img src="http://redline.hippy.jp/images/100602_11.png" alt="画面キャプチャ・色の調節" /></p>
<p class="entry_box04">重ねたら土台の色に合わせてこのパーツもグラデーションをつけて色を調節します。濃い方を#2880BD、薄い方を#A6D0F0にしました。</p>
<p class="clear"><img src="http://redline.hippy.jp/images/100602_12.png" alt="画面キャプチャ・土台の色に合わせて色の調節" /></p>
<p>そして不透明度を50%にします。</p>
<p><img src="http://redline.hippy.jp/images/100602_13.png" alt="画面キャプチャ・不透明度を50%にします" /></p>
<p>土台とこの右半分の長方形はもういじらないです。以後の工程で上にどんどんオブジェクトを重ねるので、グループ化なりレイヤーフォルダ分けるなりロックしておくなりしておくと、後で「うわっ。こっち選択しなくていいのにひっついてきやがった！」とか、イライラせずに済むかも、です。</p>
<h3 class="tit_h3">2つ目の長方形を用意</h3>
<p>もう1つ長方形ツールで長方形を作ります。今度は幅は土台と同じくらいでいいですが、高さは少し短めのものを作ります。</p>
<p><img src="http://redline.hippy.jp/images/100602_14.png" alt="画面キャプチャ・もう1つ長方形を作る" /></p>
<p>その長方形にテクスチャの設定をします。今回はFireworks に最初から入ってる「グリッド3」というテクスチャにしました。テクスチャの適応量は100%。</p>
<p><img src="http://redline.hippy.jp/images/100602_15.png" alt="画面キャプチャ・「グリッド3」適応量100%" /></p>
<p>こちらもグラデーションをつけます。（が、今回は最終的に白っぽくて薄い感じになりますので、グラデつけてもほとんど分からない状態になります。面倒だったらベタで白に近い水色にしても大丈夫です）そして斜めに傾けます。拡大縮小ツールで回してもいいですし、数値を入力して角度を変えても構いません。まぁ、なんせこのくらい傾けるってことで。</p>
<p><img src="http://redline.hippy.jp/images/100602_16.png" alt="画面キャプチャ・グラデーションをつけて傾ける" /></p>
<p>上の工程で作った土台達の上へこの傾けた長方形オブジェクトを重ねます。適当に動かしてベスポジを探してください。傾きの変更とかあればこの時に一緒に。</p>
<p><img src="http://redline.hippy.jp/images/100602_17.png" alt="画面キャプチャ・土台達の上へこの傾けた長方形オブジェクト重ねる" /></p>
<p>不透明度を45%にします。</p>
<p><img src="http://redline.hippy.jp/images/100602_18.png" alt="画面キャプチャ・不透明度を45%に" /></p>
<p>もう1つこういう長方形が欲しいので、コピーペーストしてグルーンと反対方向へ向きを変えます。</p>
<p><img src="http://redline.hippy.jp/images/100602_19.png" alt="画面キャプチャ・もう1つ長方形を用意して向きを変える" /></p>
<p>上記キャプチャでは拡大縮小ツールで適当にグイーンと回しましたが、「変形 &gt; 水平方向に反転」とかなんでもいいです。要するにひっくり返したいだけ。</p>
<p class="entry_box01"><img src="http://redline.hippy.jp/images/100602_20.png" alt="画面キャプチャ・色の調節" /></p>
<p class="entry_box04">コピーした方の長方形のテクスチャは「グリッド3」だったんですが、こっちは「グリッド4」にします。ほんの少ししか変わらないですが、変えます。</p>
<p class="clear">こちらの長方形は少し右側に向かって広げたいので、少しだけパスをいじります。右下の角をちょっとだけ広げる感じです。パスいじるの嫌いな人はダイレクト選択ツールで右下の角をクリックしてキーボードの矢印キーの下矢印ポンポンポンと8回くらいキー叩くだけでもいいです。</p>
<p><img src="http://redline.hippy.jp/images/100602_21.png" alt="画面キャプチャ・パスの変形" /></p>
<p>位置を再度調節して（下記キャプチャでは少し位置を右にズラしました）不透明度を45%、描画モードを「スクリーン」にします。</p>
<p><img src="http://redline.hippy.jp/images/100602_22.png" alt="画面キャプチャ・不透明度を45%にして、ブレンドモードを「スクリーン」に" /></p>
<h3 class="tit_h3">マスク！</h3>
<p>はみ出してる部分をマスクで隠します。マスク用の白色長方形を用意して、はみ出してる2つの長方形と一緒に選択。</p>
<p><img src="http://redline.hippy.jp/images/100602_23.png" alt="画面キャプチャ・はみ出してる部分をマスクします" /></p>
<p><strong>(n'∀')η＜オルト　エム　エム　ジー！</strong>　(ちょっと流行らせたい感じ)</p>
<p>上の一文がなんのこっちゃ分からない方はスルーして、「変更 &gt; マスク &gt; マスクとしてグループ化」でマスクしてください。次図のようになります。</p>
<p><img src="http://redline.hippy.jp/images/100602_24.png" alt="画面キャプチャ・マスク後" /></p>
<h3 class="tit_h3">仕上げの1px</h3>
<p>今回も最後の仕上げにもうひと手間だけかけます。土台の1px内側にラインを入れたいので、長方形（塗りなし・線#EBF3FA）の長方形を作ってX1・Y1の位置に重ねます。</p>
<p>土台サイズをW 470 * H 40 としたので、その線のみの長方形のサイズはW 468 * H 38。その長方形の左上が土台の左から1px、上から1pxの位置にくるように重ねます。</p>
<p><img src="http://redline.hippy.jp/images/100602_25.png" alt="画面キャプチャ・完成" /></p>
<p>これで完成。お疲れ様でした(n'∀')η</p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/RedlineMagazine?a=OcHxWIN8WjY:23eJSRoLl_Y:OAQBO0PjnPA"><img src="http://feeds.feedburner.com/~ff/RedlineMagazine?d=OAQBO0PjnPA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/RedlineMagazine?a=OcHxWIN8WjY:23eJSRoLl_Y:spdCosxkSQE"><img src="http://feeds.feedburner.com/~ff/RedlineMagazine?d=spdCosxkSQE" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/RedlineMagazine?a=OcHxWIN8WjY:23eJSRoLl_Y:s9VDnicYSUo"><img src="http://feeds.feedburner.com/~ff/RedlineMagazine?i=OcHxWIN8WjY:23eJSRoLl_Y:s9VDnicYSUo" border="0"></img></a>
</div>
    ]]>
    </description>
    <link>http://feedproxy.google.com/~r/RedlineMagazine/~3/OcHxWIN8WjY/fireworks_5_1.php</link> 
    <pubDate>Wed, 02 Jun 2010 11:25:07 +0900</pubDate>
   </item>
  <item>
    <title>Fireworks コレ、5分で作ります。その１</title> 
    <description>
    <![CDATA[
    <p class="note01">※このエントリはFireworks CS4を元に書いています。</p>
<p>Fireworks の日本語チュートリアル少ないなーという話を先日Twitterでしていたので、なんか作ってみます。あまり超大作のチュートリアルは手順を書く気力が途中でなくなりそうだったので、今日は5分くらいでコレ作る方法を書きます。</p>
<h3 class="tit_h3">今回の完成形</h3>
<p>見出しの背景画像によくありそうなこういう画像をパパっと作ります。</p>
<p><img src="http://redline.hippy.jp/images/100601_01.png" alt="画面キャプチャ・完成形" /></p>
<p>今回は素材集等、Fireworks の機能以外のものは使いません。</p>
<h3 class="tit_h3">土台を用意</h3>
<p>まずは一番下の土台を作ります。よくあるアクア風のやつにしますね。矩形で適当なサイズで長方形作って、塗りを線形のグラデーションに。４色決めてスライダーを調節。外側には1pxの線も加えます。</p>
<p><img src="http://redline.hippy.jp/images/100601_02.png" alt="画面キャプチャ・土台を用意" /></p>
<p>ここでのサンプルのサイズはW 470 * H 40 としました。</p>
<p>こういう見出し用の背景画像でよく左側にくっついてるラインを合体させます。上で作った矩形を適当なサイズに変更して、色をフィルタパネルの「色相・彩度」で変更しました。</p>
<p><img src="http://redline.hippy.jp/images/100601_03.png" alt="画面キャプチャ・よくあるラインを合体" /></p>
<h3 class="tit_h3">パスを用意</h3>
<p>次に2本のパスを用意します。今回は土台の右半分にだけ模様を入れようと思うので、土台の右半分くらいの位置にパスを書きました。</p>
<p><img src="http://redline.hippy.jp/images/100601_04.png" alt="画面キャプチャ・2本のパスを書く" /></p>
<p class="entry_box01"><img src="http://redline.hippy.jp/images/100601_05.png" alt="画面キャプチャ・パスパネル「パスのブレンド」" /></p>
<p class="entry_box04">その２本のパスを選択した状態で、パスパネルのパスの操作グループの中にある「パスのブレンド」をクリック。<br />
<br />
次図のような画面が出てくるので補間の値を今回は50にして「ＯＫ」ボタンをクリック。（この補間っていうのはイラレで言うところのブレンドオプションのステップ数のようなもの。）</p>
<p class="clear"><img src="http://redline.hippy.jp/images/100601_06.png" alt="画面キャプチャ・補間数を入力" /></p>
<p>すると2本のパスがブレンドされてこういう状態になります。</p>
<p><img src="http://redline.hippy.jp/images/100601_07.png" alt="画面キャプチャ・パスのブレンド後の状態" /></p>
<p>線が青緑色なのは元々私が分かりやすいようにその色でパスを書いてたからというだけの話です。ちょっと補間数50は多すぎた気がしないでもないですが、勢いが大切なのでこのままいきます。</p>
<p>ちなみに、今回は曲線で2本書きましたが、別に直線でもいいですし、パスの数も別に2本じゃなくても面白い模様ができます。パスの形や数、方向と補間数の組み合わせでユニークな形状が作れます。</p>
<h3 class="tit_h3">カラー、不透明度の調整</h3>
<p>次に今回の背景土台に合わせて、カラーの調整します。フィルタパネルの「色相・彩度」でこういう内容にしました。</p>
<p><img src="http://redline.hippy.jp/images/100601_08.png" alt="画面キャプチャ・カラーの調整" /></p>
<p><img src="http://redline.hippy.jp/images/100601_09.png" alt="画面キャプチャ・カラーの調整反映" /></p>
<p>ちなみにですね、<strong>元々パスの色も土台に合わせて選色しておけば、こんなカラーの調節はしなくて済みます。</strong>ちょっと上で「パスの色分かりやすいほうがキャプチャとった時いいかー」とか思ってしまったので時間と工程ロスってます。それでも5分以内に仕上がりますからご安心ください。</p>
<p>次に不透明度を50%にして、好みの位置へ移動します。</p>
<p><img src="http://redline.hippy.jp/images/100601_10.png" alt="画面キャプチャ・不透明度と位置の調節" /></p>
<h3 class="tit_h3">マスク！</h3>
<p>土台からはみ出してる部分をマスクで隠します。矩形でこういうマスク用の長方形を用意します。</p>
<p class="note01">※「コマンド > クリエイティブ > ベクトルマスク（イメージのフェード）」でフェードの工程をする人はそっちの方法でやってからマスクしてください。どっちでも一緒です。</p>
<p><img src="http://redline.hippy.jp/images/100601_11.png" alt="画面キャプチャ・マスク用のオブジェクト用意" /></p>
<p>土台とブレンドしたパスの上でマスクをかけたい位置に合わせてフェードさせる部分を調整。この時マスク用画像自体の不透明度を下げるとわかりやすいです。</p>
<p><img src="http://redline.hippy.jp/images/100601_12.png" alt="画面キャプチャ・マスクをかけたい位置に合わせてフェードさせる部分を調整" /></p>
<p>んではマスクいきますね。せーのっ！</p>
<p><strong>(n'∀')η＜オルト　エム　エム　ジー！</strong></p>
<p>上の一文がなんのこっちゃ分からない方はスルーして、「変更 &gt; マスク &gt; マスクとしてグループ化」でマスクしてください。次図のようになります。</p>
<p><img src="http://redline.hippy.jp/images/100601_13.png" alt="画面キャプチャ・マスク直後" /></p>
<h3 class="tit_h3">仕上げの1px</h3>
<p>最後の仕上げにもうひと手間だけかけますね。土台の1px内側に白いラインを入れたいので、矩形で塗りなし・線#FFF の長方形を作ってX1・Y1の位置に重ねます。</p>
<p>今回は土台サイズをW 470 * H 40 としたので、その白い線のみの長方形のサイズはW 468 * H 38。その長方形の左上が土台の左から1px、上から1pxの位置にくるように重ねます。</p>
<p><img src="http://redline.hippy.jp/images/100601_14.png" alt="画面キャプチャ・塗りなし・線#FFF の長方形を作ってX1・Y1の位置に重ねます" /></p>
<p>右側の方の色が濃い辺りが分かりやすいかもです。ということで、これで完成ですよん。お疲れ様でした。</p>
<p><img src="http://redline.hippy.jp/images/100601_15.png" alt="画面キャプチャ・完成しました" /></p>
<h3 class="tit_h3">パスのブレンドはいろいろ応用できます。</h3>
<p>パスのブレンドはかなり熱いです。今回はたまたま見出しの背景画像という題材で作ってみたんですが、いろんな箇所で使える子なので、なんかアクセント欲しいときにおすすめです。線だけでなく、星型とかハート型とかのパスでやってみるのもいいと思いますし、直線や曲線を描いた時に線に対してテクスチャを指定しておくのも面白いです。</p>
<p><img src="http://redline.hippy.jp/images/100601_16.png" alt="画面キャプチャ・テクスチャ付きの線でブレンドした場合" /></p>
<p>「ブレンドするまでどうなるか分からない」というのはドキドキものですが、トップページのドーンと大きな画像なんかを作っている時に、こういうのを何種類か組み合わせたりしてると、なぜかものすごく手の込んだデザインのように見える偶然に出会う事もあります。</p>
<p>ただ、一度「これめっちゃいい！」という組み合わせに出会っても、パス保存するの忘れてたら二度と出会えない可能性が非常に高いので、「これはっ！」というパスと補間数の組み合わせに巡り合ったらとりあえずどっかに単体で保存してコレクションしておく方がいいですよー、と。</p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/RedlineMagazine?a=NslEcxkvUFc:tI0hPTx-93Y:OAQBO0PjnPA"><img src="http://feeds.feedburner.com/~ff/RedlineMagazine?d=OAQBO0PjnPA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/RedlineMagazine?a=NslEcxkvUFc:tI0hPTx-93Y:spdCosxkSQE"><img src="http://feeds.feedburner.com/~ff/RedlineMagazine?d=spdCosxkSQE" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/RedlineMagazine?a=NslEcxkvUFc:tI0hPTx-93Y:s9VDnicYSUo"><img src="http://feeds.feedburner.com/~ff/RedlineMagazine?i=NslEcxkvUFc:tI0hPTx-93Y:s9VDnicYSUo" border="0"></img></a>
</div>
    ]]>
    </description>
    <link>http://feedproxy.google.com/~r/RedlineMagazine/~3/NslEcxkvUFc/fireworks_5.php</link> 
    <pubDate>Tue, 01 Jun 2010 11:44:23 +0900</pubDate>
   </item>
  <item>
    <title>Fireworks ちょいネタ集</title> 
    <description>
    <![CDATA[
    <p class="note01">※このエントリはFireworks CS4を元に書いています。<br />
バージョン違いの場合は内容が異なるかもしれません。</p>
<p>大好きなFireworksの「地味だけどコレ知ってると効率いいよ！」という小ネタ集です。このネタが有名な話なのかそうでないのか分からないのですが、私自身最初知らなかったけど、気付いてからは効率上がったぜという話なので、もし知らないユーザーさんがいたら是非活用して欲しいなーと思って書いてます。</p>
<h3 class="tit_h3">整列パネル　間隔に数値を入れて等間隔にする</h3>
<p>CS4ではスマートガイドがあるので、動かしたいオブジェクトを任意の位置へパパっと正確に移動させることができます。任意のオブジェクトを別のオブジェクトの上下左右のどこかに揃えたいなんて場合はそれで済ませる事も多いですが、等間隔に配置したい時は整列パネルの『間隔』使いますよね。</p>
<p>この『間隔』には２種類の間隔をとる方法があるのですが、そのお話。</p>
<h4>「等間隔」で整列する場合</h4>
<p class="entry_box03">デフォルトでは間隔の値は「等間隔」になっています。(右図参照)<br />
<br />
この「等間隔に整列」というのはFireworksに限らず、いろんなソフトで見かける内容なので、今更説明するのもアレなんですが、例えば下の画像内の5つの四角に対して「等間隔」のまま整列を行った場合はこうなります。</p>
<p class="entry_box04"><img src="http://redline.hippy.jp/images/100531_01.png" alt="画面キャプチャ・整列パネル" /></p>
<p class="clear"><img src="http://redline.hippy.jp/images/100531_02.png" alt="画面キャプチャ・等間隔で整列した場合" /></p>
<p>一番左と一番右の四角の位置は変わらず、間に挟まっている3つの四角が移動し等間隔に整列されます。</p>
<h4>「数値を入力」して整列する場合</h4>
<p class="entry_box03">次にその「等間隔」と書いてある枠の中に数値を入力して等間隔に配置させる方法です。単位は px です。<br />
<br />
セレクトメニューの▼をクリックしても「px」としか出てこないし、最初は何これ？状態でしたが、意味分かってからはとても便利だなー、と思ってます。右図のように、その枠に10と入力すると、10px間隔で整列されます。</p>
<p class="entry_box04"><img src="http://redline.hippy.jp/images/100531_03.png" alt="画面キャプチャ・整列パネル" /></p>
<p class="clear"><img src="http://redline.hippy.jp/images/100531_04.png" alt="画面キャプチャ・数値を入力して整列した場合" /></p>
<p>一番右のオブジェクトの位置は関係なくその数値で間隔を開けて整列できます。</p>
<h4>使い分けると便利です。</h4>
<p>例えばナビゲーションボタンとか、予め幅・高さの決まったエリア内でオブジェクトを等間隔に端から端まで配置したい場合はデフォルトの「等間隔」を、特に大きさは決まってないけど、コンテンツ内で使うちょっとした画像なんかで間隔自体を指定して等間隔に配置したい場合は「数値を入力」して整列を、という使い分けがとても便利です。<strong class="keyword"><a href="http://gihyo.jp/design/serial/01/ss-design/0010" target="_blank">CSS Sprite</a></strong>を用いる時も、後者の方法で決まった間隔で整列しておくと背景位置の計算も楽になるかもです。</p>
<h4>よくあるこういうのをパパっと解決</h4>
<p>オブジェクトを複製した時、下図の様に重なった状態で複製してしまった時に「うわー、ミスったー。とりあえず間を空けて複製したかったのにー」という様な時にも、この数値を指定して間隔をあける方法なら重なってた状態をサクっと間のあいた状態にすることができます。</p>
<p class="clear"><img src="http://redline.hippy.jp/images/100531_05.png" alt="画面キャプチャ・数値を入力して整列し、重なってるオブジェクトの間にスペースをとる" /></p>
<p>等間隔の場合は左右の端の位置は変わらないので、オブジェクトの幅によっては重なったまま等間隔になってしまうので、やはりこういう時は「数値を入力」で。</p>
<h3 class="tit_h3">パスパネル　グラデーションをボタン1つで反転させる</h3>
<p>パスパネルの中に「グラデーションを反転」というボタンがあります。</p>
<p><img src="http://redline.hippy.jp/images/100531_06.png" alt="画面キャプチャ・パスパネルのグラデーションを反転ボタン" /></p>
<p>グラデーションのみを反転させたいパスを選択してこのボタンをクリックすると、グラデーションが反転される。</p>
<p><img src="http://redline.hippy.jp/images/100531_07.png" alt="画面キャプチャ・グラデーションを反転" /></p>
<p>グラデーションを反転させるにはグラデーションのスライダーの部分の色を素直に変更してもいいし、オブジェクト自体を反転させるという方法もあります。ただ、スライダーの部分の色をいちいち変更するのは面倒だし、オブジェクト自体を反転させる場合、矩形とか円形ならいいけど、この例のように星型だった場合、</p>
<p><img src="http://redline.hippy.jp/images/100531_08.png" alt="画面キャプチャ・星型のオブジェクトをそのまま反転させた場合" /></p>
<p>こうなると、何か意図と違ってきますよね。そんな時にこの「グラデーションを反転」ボタンなら</p>
<p><img src="http://redline.hippy.jp/images/100531_09.png" alt="画面キャプチャ・オブジェクトの形はそのまま、グラデーションのみ反転させることが可能" /></p>
<p>オブジェクトの形はそのまま、グラデーションのみ反転させることができるよ、と。</p>
<h4>アクア風ボタン等のグラデーションは注意</h4>
<p>グラデーション部分のみを反転させるのにとても便利なのですが、グラデーションに含まれる色数が４種以上の場合、ちとややこしいのです。次図の様なオブジェクトを作って、グラデーションを反転ボタンでひっくり返してみました。左が元オブジェクト、右がグラデーション反転後のオブジェクトです。</p>
<p><img src="http://redline.hippy.jp/images/100531_10.png" alt="画面キャプチャ・アクア風ボタンをグラデ反転させるとぼやける" /></p>
<p>グラデーションのスライダーがズレてしまって、真ん中のラインがハッキリしなくなってしまいます。なので、こういったグラデーションならば、オブジェクト自体を反転させた方がキレイなままの状態を保持できます。次図はオブジェクト自体を反転させたキャプチャです。</p>
<p><img src="http://redline.hippy.jp/images/100531_11.png" alt="画面キャプチャ・オブジェクト自体を反転させた方がキレイなままの状態を保持できる。" /></p>
<p>が、オブジェクトの形状次第では（上記の星形とか）オブジェクト自体を反転させるのはマズいのでグラデ部分のみを反転させたいという場合もありますよね。その時はスライダーの色をそれぞれ変更してもいいのですが、一旦「グラデーションの反転」をクリックしてから、スライダーの位置だけ動かして元の状態にすればハッキリ度が復活します。</p>
<p><img src="http://redline.hippy.jp/images/100531_12.png" alt="画面キャプチャ・スライダーを動かして調整" /></p>
<p>一旦「グラデーションを反転ボタン」を押してからスライダーを調節したものです。スライダーをちょこっと動かしただけで意図したとおりになりました。</p>
<p><img src="http://redline.hippy.jp/images/100531_13.png" alt="画面キャプチャ・一旦グラデーションを反転ボタンを押してからスライダーを調節したオブジェクト" /></p>
<h3 class="tit_h3">テキストのカーニングを速くする</h3>
<p>テキストのカーニングを調節するにはプロパティパネルのカーニングの部分に数字を入れて調節してもいいのですが、数字だと分かりにくいので、実際のテキストオブジェクトを見ながらキーボードで調節している方が多いと思います。その場合は該当テキスト部分をマウスで反転させて「Ctrl + 矢印キー」で調節しますよね。</p>
<p><img src="http://redline.hippy.jp/images/100531_14.png" alt="画面キャプチャ・テキストのカーニング" /></p>
<p>が、これイラレ等と比べるとすごく遅いですよね。ストレスが溜まること溜まること。そこでこのスピードをアップさせるために「Ctrl + 矢印キー」ではなく、「Ctrl +Shift +矢印キー」で操作します。</p>
<p><img src="http://redline.hippy.jp/images/100531_15.png" alt="画面キャプチャ・テキストのカーニングをスピードアップ" /></p>
<p>まぁ、こんな画像を見てもスピード感はまったく伝わらないですが、上記画像くらいの文字間隔をあけるのに「Ctrl + 矢印キー」だと脳内カウントで5、6秒は掛かりますが、「Ctrl +Shift +矢印キー」だと1、2秒で済みます。</p>
<h3 class="tit_h3">ツールヒントのショートカット</h3>
<p>地味だけど侮れないツールヒント。<br />
ツールヒントをオンにしているとこういう時に便利です。</p>
<p><img src="http://redline.hippy.jp/images/100531_16.png" alt="画面キャプチャ・ツールヒントで効率アップ" /></p>
<p>オブジェクトのサイズを変更しようとすると、側に幅・高さが出てきます。オブジェクトを移動させようとするとXY座標が出てきます。こういうの地味なんですけど、すごく助かる時があるんですよね。</p>
<p>だけど、いつもいつも出てこなくていいよ、という存在であるのも確かです。なので、このツールヒントをオン・オフにするショートカットを覚えておくと効率よく作業ができます。</p>
<p class="note02">ツールヒントのショートカット　「 <strong>Ctrl + ]</strong> 」</p>
<p>まだ使ったことのない方はショートカットも覚えて、是非使ってみてください。重宝しますよー。(多分)</p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/RedlineMagazine?a=cn1XvG4OOUE:XMSgSSJz_ys:OAQBO0PjnPA"><img src="http://feeds.feedburner.com/~ff/RedlineMagazine?d=OAQBO0PjnPA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/RedlineMagazine?a=cn1XvG4OOUE:XMSgSSJz_ys:spdCosxkSQE"><img src="http://feeds.feedburner.com/~ff/RedlineMagazine?d=spdCosxkSQE" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/RedlineMagazine?a=cn1XvG4OOUE:XMSgSSJz_ys:s9VDnicYSUo"><img src="http://feeds.feedburner.com/~ff/RedlineMagazine?i=cn1XvG4OOUE:XMSgSSJz_ys:s9VDnicYSUo" border="0"></img></a>
</div>
    ]]>
    </description>
    <link>http://feedproxy.google.com/~r/RedlineMagazine/~3/cn1XvG4OOUE/fireworks_3.php</link> 
    <pubDate>Sun, 30 May 2010 13:33:46 +0900</pubDate>
   </item>
  <item>
    <title>PC音痴な人にはやはり最後まで付き合うべきだった。</title> 
    <description>
    <![CDATA[
    PC音痴なクライアントさんがどうしてもブログやりたーいとおっしゃった。

前からブログやりたいとはおっしゃってたのだけれども、自分はPC音痴だから無理かなーと消極的だった。今回、何かのきっかけで奮起されたらしい。

どんな内容を更新したいのかとか、更新頻度はどの...
    ]]>
    </description>
    <link>http://blog.livedoor.jp/red_line/archives/51740801.html</link> 
    <pubDate>Tue, 25 May 2010 15:15:52 +0900</pubDate>
   </item>
  <item>
    <title>ブラウザ(Win) CSSセレクタ対応状況まとめ （2010年5月14日版）</title> 
    <description>
    <![CDATA[
    <p>下記サイトのセレクタテストで調べた結果です。<strong>調べた日は2010年5月14日です。</strong>（以後バージョンアップで対応状況は変化すると思います）</p>
<p class="note02"><a href="http://www.css3.info/selectors-test/" target="_blank">CSS3 Selectors Test - CSS3 . Info</a></p>
<table class="entry_table01">
<tr>
<td class="nullcell">&nbsp;</td>
<th colspan="3" class="cellcenter"><img src="http://redline.hippy.jp/images/icons/icon_firefox.png" width="30" height="30" alt="Firefox" /><br />
Firefox<br /></th>
<th class="cellcenter"><img src="http://redline.hippy.jp/images/icons/icon_safari.png" width="27" height="30" alt="safari" /><br />
Safari</th>
<th class="cellcenter"><img src="http://redline.hippy.jp/images/icons/icon_opera.png" width="28" height="30" alt="opera" /><br />
Opera</th>
<th class="cellcenter"><img src="http://redline.hippy.jp/images/icons/icon_chrome.png" width="32" height="30" alt="chrome" /><br />
Chrome</th>
<th colspan="3" class="cellcenter"><img src="http://redline.hippy.jp/images/icons/icon_ie.png" width="30" height="30" alt="ie" /><br />
IE</th>
</tr>
<tr>
<th>ブラウザのバージョン</th>
<td class="cellcenter">3.6</td>
<td class="cellcenter">3.0</td>
<td class="cellcenter">2.0</td>
<td class="cellcenter">4.0</td>
<td class="cellcenter">10.5</td>
<td class="cellcenter">4.1</td>
<td class="cellcenter">6</td>
<td class="cellcenter">7</td>
<td class="cellcenter">8</td>
</tr>
<tr>
<th>*</th>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="supported">○</td>
</tr>
<tr>
<th>E</th>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="supported">○</td>
</tr>
<tr>
<th>.class</th>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="buggy">△</td>
<td class="supported">○</td>
<td class="supported">○</td>
</tr>
<tr>
<th>#id</th>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="supported">○</td>
</tr>
<tr>
<th>E F</th>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="supported">○</td>
</tr>
<tr>
<th>E &gt; F</th>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="unsupported">×</td>
<td class="supported">○</td>
<td class="supported">○</td>
</tr>
<tr>
<th>E + F</th>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="unsupported">×</td>
<td class="supported">○</td>
<td class="supported">○</td>
</tr>
<tr>
<th>E ~ F</th>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="unsupported">×</td>
<td class="supported">○</td>
<td class="supported">○</td>
</tr>
<tr>
<th>E[attribute]</th>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="unsupported">×</td>
<td class="buggy">△</td>
<td class="buggy">△</td>
</tr>
<tr>
<th>E[attribute=value]</th>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="buggy">△</td>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="unsupported">×</td>
<td class="supported">○</td>
<td class="supported">○</td>
</tr>
<tr>
<th>E[attribute~=value]</th>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="buggy">△</td>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="unsupported">×</td>
<td class="buggy">△</td>
<td class="supported">○</td>
</tr>
<tr>
<th>E[attribute|=value]</th>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="buggy">△</td>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="unsupported">×</td>
<td class="buggy">△</td>
<td class="supported">○</td>
</tr>
<tr>
<th>E[attribute^=value]</th>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="buggy">△</td>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="unsupported">×</td>
<td class="unsupported">×</td>
<td class="supported">○</td>
</tr>
<tr>
<th>E[attribute$=value]</th>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="buggy">△</td>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="unsupported">×</td>
<td class="unsupported">×</td>
<td class="supported">○</td>
</tr>
<tr>
<th>E[attribute*=value]</th>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="buggy">△</td>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="unsupported">×</td>
<td class="unsupported">×</td>
<td class="supported">○</td>
</tr>
<tr>
<th>:first-child</th>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="buggy">△</td>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="unsupported">×</td>
<td class="buggy">△</td>
<td class="supported">○</td>
</tr>
<tr>
<th>:link</th>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="supported">○</td>
</tr>
<tr>
<th>:visited</th>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="supported">○</td>
</tr>
<tr>
<th>:lang()</th>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="unsupported">×</td>
<td class="unsupported">×</td>
<td class="supported">○</td>
</tr>
<tr>
<th>:before</th>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="unsupported">×</td>
<td class="unsupported">×</td>
<td class="supported">○</td>
</tr>
<tr>
<th>::before</th>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="unsupported">×</td>
<td class="unsupported">×</td>
<td class="unsupported">×</td>
</tr>
<tr>
<th>:after</th>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="unsupported">×</td>
<td class="unsupported">×</td>
<td class="supported">○</td>
</tr>
<tr>
<th>::after</th>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="unsupported">×</td>
<td class="unsupported">×</td>
<td class="unsupported">×</td>
</tr>
<tr>
<th>:first-letter</th>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="supported">○</td>
</tr>
<tr>
<th>::first-letter</th>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="unsupported">×</td>
<td class="unsupported">×</td>
</tr>
<tr>
<th>:first-line</th>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="supported">○</td>
</tr>
<tr>
<th>::first-line</th>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="unsupported">×</td>
<td class="unsupported">×</td>
</tr>
<tr>
<th>:root</th>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="unsupported">×</td>
<td class="unsupported">×</td>
<td class="unsupported">×</td>
</tr>
<tr>
<th>:last-child</th>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="buggy">△</td>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="unsupported">×</td>
<td class="unsupported">×</td>
<td class="unsupported">×</td>
</tr>
<tr>
<th>:only-child</th>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="buggy">△</td>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="unsupported">×</td>
<td class="unsupported">×</td>
<td class="unsupported">×</td>
</tr>
<tr>
<th>:nth-child()</th>
<td class="supported">○</td>
<td class="unsupported">×</td>
<td class="unsupported">×</td>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="unsupported">×</td>
<td class="unsupported">×</td>
<td class="unsupported">×</td>
</tr>
<tr>
<th>:nth-last-child()</th>
<td class="supported">○</td>
<td class="unsupported">×</td>
<td class="unsupported">×</td>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="unsupported">×</td>
<td class="unsupported">×</td>
<td class="unsupported">×</td>
</tr>
<tr>
<th>:first-of-type</th>
<td class="supported">○</td>
<td class="unsupported">×</td>
<td class="unsupported">×</td>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="unsupported">×</td>
<td class="unsupported">×</td>
<td class="unsupported">×</td>
</tr>
<tr>
<th>:last-of-type</th>
<td class="supported">○</td>
<td class="unsupported">×</td>
<td class="unsupported">×</td>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="unsupported">×</td>
<td class="unsupported">×</td>
<td class="unsupported">×</td>
</tr>
<tr>
<th>:only-of-type</th>
<td class="supported">○</td>
<td class="unsupported">×</td>
<td class="unsupported">×</td>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="unsupported">×</td>
<td class="unsupported">×</td>
<td class="unsupported">×</td>
</tr>
<tr>
<th>:nth-of-type()</th>
<td class="supported">○</td>
<td class="unsupported">×</td>
<td class="unsupported">×</td>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="unsupported">×</td>
<td class="unsupported">×</td>
<td class="unsupported">×</td>
</tr>
<tr>
<th>:nth-last-of-type()</th>
<td class="supported">○</td>
<td class="unsupported">×</td>
<td class="unsupported">×</td>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="unsupported">×</td>
<td class="unsupported">×</td>
<td class="unsupported">×</td>
</tr>
<tr>
<th>:empty</th>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="buggy">△</td>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="unsupported">×</td>
<td class="unsupported">×</td>
<td class="unsupported">×</td>
</tr>
<tr>
<th>:not()</th>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="unsupported">×</td>
<td class="unsupported">×</td>
<td class="unsupported">×</td>
</tr>
<tr>
<th>:target</th>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="unsupported">×</td>
<td class="unsupported">×</td>
<td class="unsupported">×</td>
</tr>
<tr>
<th>:enabled</th>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="unsupported">×</td>
<td class="unsupported">×</td>
<td class="unsupported">×</td>
</tr>
<tr>
<th>:disabled</th>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="unsupported">×</td>
<td class="unsupported">×</td>
<td class="unsupported">×</td>
</tr>
<tr>
<th>:checked</th>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="supported">○</td>
<td class="unsupported">×</td>
<td class="unsupported">×</td>
<td class="unsupported">×</td>
</tr>
</table>
<p>※IE6とIE7については正規版ではなく、standalone版でのチェックです。</p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/RedlineMagazine?a=S41UpihQSA8:eKS54t2sFYI:OAQBO0PjnPA"><img src="http://feeds.feedburner.com/~ff/RedlineMagazine?d=OAQBO0PjnPA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/RedlineMagazine?a=S41UpihQSA8:eKS54t2sFYI:spdCosxkSQE"><img src="http://feeds.feedburner.com/~ff/RedlineMagazine?d=spdCosxkSQE" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/RedlineMagazine?a=S41UpihQSA8:eKS54t2sFYI:s9VDnicYSUo"><img src="http://feeds.feedburner.com/~ff/RedlineMagazine?i=S41UpihQSA8:eKS54t2sFYI:s9VDnicYSUo" border="0"></img></a>
</div>
    ]]>
    </description>
    <link>http://feedproxy.google.com/~r/RedlineMagazine/~3/S41UpihQSA8/win_css_2010514.php</link> 
    <pubDate>Fri, 14 May 2010 10:02:34 +0900</pubDate>
   </item>
  <item>
    <title>CSS セレクタ総復習 （2010年5月版）</title> 
    <description>
    <![CDATA[
    <p>CSS3のプロパティにも興味津々なのですが、その前にまずセレクタを全部まとめて総復習しておこうかな、と。本来1ページに書くべきではない内容量なので読み込み遅いと思います。ごめんなさい。</p>
<p class="note02"><a href="http://www.w3.org/TR/css3-selectors/" target="_blank">Selectors Level 3 http://www.w3.org/TR/css3-selectors/</a><br />
<a href="http://zng.info/specs/css3-selectors.html" target="_blank">選択子 http://zng.info/specs/css3-selectors.html</a>　(日本語訳) </p>
<p class="note01">※下記内容で、サンプルページを用意したセレクタもあるんですが、当然、各セレクタに対応しているブラウザとそうでないブラウザがあります。対応していないブラウザでサンプルページを見ても再現できません。</p>
<hr />
<h3 class="tit_h3">目次</h3>
<ul class="entrylist01">
<li><a href="#universal">*　(汎用選択子)</a></li>
<li><a href="#E">E　(型選択子)</a></li>
<li><a href="#E_foo">E[foo] (属性選択子)</a></li>
<li><a href="#E_fooBar1">E[foo="bar"] (属性選択子)</a></li>
<li><a href="#E_fooBar2">E[foo~="bar"] (属性選択子)</a></li>
<li><a href="#E_fooBar3">E[foo^="bar"] (属性選択子)</a></li>
<li><a href="#E_fooBar4">E[foo$="bar"] (属性選択子)</a></li>
<li><a href="#E_fooBar5">E[foo*="bar"] (属性選択子)</a></li>
<li><a href="#E_hreflang">E[foo|="en"]/E[hreflang|="en"] (属性選択子)</a></li>
<li><a href="#E_root">E:root (構造擬似クラス)</a></li>
<li><a href="#E_nthChild">E:nth-child(n) (構造擬似クラス)</a></li>
<li><a href="#E_nthLastChild">E:nth-last-child(n) (構造擬似クラス)</a></li>
<li><a href="#E_nthOfType">E:nth-of-type(n) (構造擬似クラス)</a></li>
<li><a href="#E_nthLastOfType">E:nth-last-of-type(n) (構造擬似クラス)</a></li>
<li><a href="#E_firstChild">E:first-child (構造擬似クラス)</a></li>
<li><a href="#E_lastChild">E:last-child (構造擬似クラス)</a></li>
<li><a href="#E_firstOfType">E:first-of-type (構造擬似クラス)</a></li>
<li><a href="#E_lastOfType">E:last-of-type (構造擬似クラス)</a></li>
<li><a href="#E_onlyChild">E:only-child (構造擬似クラス)</a></li>
<li><a href="#E_onlyOfType">E:only-of-type (構造擬似クラス)</a></li>
<li><a href="#E_empty">E:empty (構造擬似クラス)</a></li>
<li><a href="#E_link">E:link / E:visited (リンク擬似クラス)</a></li>
<li><a href="#E_active">E:active / E:hover / E:focus (利用者行為擬似クラス)</a></li>
<li><a href="#E_target">E:target (ターゲット擬似クラス)</a></li>
<li><a href="#E_lang">E:lang(fr) (lang()擬似クラス)</a></li>
<li><a href="#E_enabledDisabled">E:enabled / E:disabled (UI要素の状態擬似クラス)</a></li>
<li><a href="#E_checked">E:checked (E:indeterminate) (UI要素の状態擬似クラス)</a></li>
<li><a href="#E_firstLine">E::first-line (:first- line擬似要素)</a></li>
<li><a href="#E_firstLetter">E::first-letter (:first- letter擬似要素)</a></li>
<li><a href="#E_before">E::before (:before擬似要素)</a></li>
<li><a href="#E_after">E::after (:after擬似要素)</a></li>
<li><a href="#E_class">E.warning (クラス選択子)</a></li>
<li><a href="#E_id">E#myid (ID選択子)</a></li>
<li><a href="#E_not">E:not(s) (打消しの擬似クラス)</a></li>
<li><a href="#EF1">E F (子孫結合子)</a></li>
<li><a href="#EF2">E > F (子結合子)</a></li>
<li><a href="#EF3">E + F (直接隣接結合子)</a></li>
<li><a href="#EF4">E ~ F (間接隣接結合子)</a></li>
</ul>
<hr />
<h3 class="tit_h3" id="universal">*　(汎用選択子)</h3>
<dl class="entrylist03">
<dt>意味</dt>
<dd>すべての要素に一致する</dd>
<dt>最初に定義されたCSS水準</dt>
<dd>CSS2</dd>
</dl>
<p>「全称セレクタ」「ユニバーサルセレクタ」とも呼ばれる。仕様書の和訳では「汎用選択子」。</p>
<p>「すべての要素に一致する」わけなので、そんなに出現頻度は高くない(はず)。少し前はCSSの頭で一旦ブラウザのデフォルトスタイル（主に margin や padding等）をリセットする目的で使われてるケースも多かった。が、その後の業界の流れでは「*」じゃなくて、各要素ごとに考えてリセットした方がよくね？的な感じになってる気がする。（別に「*」を利用してリセットするのが間違ってるわけではないけど、弊害もあるので）スタイル初期化については前に<a href="http://redline.hippy.jp/lab/css/css_15.php" target="_blank">気になった初期化CSS</a>というエントリを書いたのでそちらもよろしければどうぞ。</p>
<h4>使い方・使い道について</h4>
<p>上に書いたリセット用に使うっていう以外に、こんな使い方もいいかも、な話。ページの本コンテンツ部分では常にいくつかの要素の後はマージンやらなんやら入れて見た目を調節してるけど、例外的にこの部分だけマージンを0にしたい！というような場合。例えばそれがformの中だけは各要素のマージンをなくしたいという事であったらとしたら、</p>
<pre class="short"><code>form * { margin:0; }</code></pre>
<p>同じ例の延長で、formの中だけはどの要素についても上下マージンを統一したいなんて場合は、</p>
<pre class="short"><code>form * { margin:10px auto; }</code></pre>
<p>とか。個別に継承を調節した方がいいケースもあるので、常にこの方法を使うと逆に面倒だという場合もあるけれど、一括で指定したい場合は楽。</p>
<p class="note02"><a href="http://redline.hippy.jp/redline_sample/1005/universal.php" target="_blank">&gt;&gt;サンプルページを確認</a></p>
<p>その他、CSSハックで使う事もあるけど今回の主旨とは違うのでそこはスルー。</p>
<hr />
<h3 class="tit_h3" id="E">E　(型選択子)</h3>
<dl class="entrylist03">
<dt>意味</dt>
<dd>型Eの要素に一致する</dd>
<dt>最初に定義されたCSS水準</dt>
<dd>CSS1</dd>
</dl>
<p>一番単純なセレクタ。ページ内にあるE要素全てに一致。</p>
<h4>使い方・使い道について</h4>
<p>多分これはCSSで一番最初に覚えるやつなので、詳しい説明は省きます。</p>
<pre class="short"><code>p { color:#333; font-size:1em; }</code></pre>
<hr />
<h3 class="tit_h3" id="E_foo">E[foo] (属性選択子)</h3>
<dl class="entrylist03">
<dt>意味</dt>
<dd>"foo"属性を持つE要素に一致する</dd>
<dt>最初に定義されたCSS水準</dt>
<dd>CSS2</dd>
</dl>
<p>属性の「値」は何でもいい。とにかく指定した属性を持ってるE要素ってこと。ちなみに見出し部分には「属性選択子」と書いているのですが、所謂「属性セレクタ」ってやつです。</p>
<p><strong>属性選択子(属性セレクタ)全てに当てはまる事だけれど、[foo]とか下記に出てくる[foo="bar"]などの部分は重ねて指定してもＯＫ</strong>。</p>
<h4>使い方・使い道について</h4>
<p>a要素にtarget属性を持ってるものだけに背景色を指定する例。</p>
<pre class="short"><code>a[target] { background:#fcc; }</code></pre>
<p>属性を組み合わせたい場合なんかは以下のような書き方をする。</p>
<pre class="short"><code>a[target][title] {background:#cfc;}</code></pre>
<p class="note02"><a href="http://redline.hippy.jp/redline_sample/1005/E_foo.php" target="_blank">&gt;&gt;サンプルページを確認</a></p>
<hr />
<h3 class="tit_h3" id="E_fooBar1">E[foo=&quot;bar&quot;] (属性選択子)</h3>
<dl class="entrylist03">
<dt>意味</dt>
<dd>"foo"属性の値が厳密に"bar"と等しいE要素に一致する</dd>
<dt>最初に定義されたCSS水準</dt>
<dd>CSS2</dd>
</dl>
<p>属性と値が完璧にマッチしてるE要素に適応される。どっちかが合ってても、もう一方が合ってなかったら適応外。属性と値の組み合わせを細かく指定することが出来る。</p>
<h4>使い方・使い道について</h4>
<p>例えばform内のinput要素で1行テキストボックスにだけwidth:300pxを適応させたい場合はこんな感じ。</p>
<pre class="short"><code>input[type="text"] {width: 300px;}</code></pre>
<p>ページの上部へ戻るリンクなんかで、a要素のtitle属性に"ページの先頭へ"という値を含むもののだけ背景色を付けたいという場合はこんな感じ。</p>
<pre class="short"><code>a[title="ページの先頭へ"] {background:#fcc;}</code></pre>
<p>今、背景色をつけたリンクでhover時には背景色を変えたいとかいう場合には</p>
<pre class="short"><code>a[title="ページの先頭へ"]:hover {background:#f00;}</code></pre>
<p>と、こんな感じになる。</p>
<p class="note02"><a href="http://redline.hippy.jp/redline_sample/1005/E_fooBar1.php" target="_blank">&gt;&gt;サンプルページを確認</a></p>
<p>自分がこのセレクタを一番最初に実務で使った箇所はフォーム部品の周りの調整だった気がする。チェックボックスやラジオボタン横のマージンとりたいとか、そういうの。IE6では効かないんだけど、元々IE6はそれらのフォーム部品の周りに余白を勝手に取りよるから別に問題ないかーみたいなノリで恐る恐る利用したのも今となってはいい思い出。</p>
<p>このブログみたいに別窓リンクを開くのにJS使わずに、target使ってるサイトで（今時…な感じは否めない）別窓開くリンクの横にアイコン置きたい場合</p>
<pre class="short"><code>a[target=&quot;_blank&quot;]{
	background:url(hoge.png) no-repeat right center;
	padding:0 20px 0 0;
	}</code></pre>
<p>とか、後付で何かいじるのも属性セレクタを使えば楽。IE6ではCSSだけじゃ無理だけど、なくても困らないものは気にしない！・・・といいつつもIE6は未だにシェアが下がらないのでclass付けて同じことするか、JSさんに頼るかという手順を踏んだりしてるんですけどね！早くその無駄なclass付けから開放されたいですね！</p>
<hr />
<h3 class="tit_h3" id="E_fooBar2">E[foo~=&quot;bar&quot;] (属性選択子)</h3>
<dl class="entrylist03">
<dt>意味</dt>
<dd>"foo"属性の値がスペースで区切った値のリストであり、その一つが厳密に"bar"と等しいE要素に一致する</dd>
<dt>最初に定義されたCSS水準</dt>
<dd>CSS2</dd>
</dl>
<p>要素の属性の値がスペース区切りで複数ある場合、その中の1つと完全にマッチした場合に適応される。といっても、<strong>値が複数なくてはいけないわけではなく、値が1つでも適応される。</strong>それだと1つ上のE[foo="bar"]と何が違うんよって話になるけど、E[foo="bar"]の場合は値が複数の場合は例えその中に一致する値があっても複数の値が空白区切りで入ってたら適応されない。（値の中身が完全にそれとまったく同じでないと適応されない）<strong>E[foo=&quot;bar&quot;]は完全一致、E[foo~=&quot;bar&quot;]は「値単位での部分一致」ＯＫみたいな感じ</strong>。</p>
<p>ならば全部E[foo~="bar"]で書けばいいやんという気にならないでもないんだけれど、使い分けとしては、値が1つしかないものに関してはE[foo="bar"] 、複数あるものでその中の1つにでも一致したものを選択したい場合はE[foo~="bar"] を使うといいよってことなのかも。</p>
<h4>使い方・使い道について</h4>
<p>classの複数付けの1つにマッチさせたい場合。</p>
<pre class="short"><code>p[class~="sampleB"] {background:#fcc;}</code></pre>
<p>classの組み合わせでマッチさせたい場合。</p>
<pre class="short"><code>p[class~="sampleB"][class~="sampleC"] {background:#cfc;}</code></pre>
<p class="note02"><a href="http://redline.hippy.jp/redline_sample/1005/E_fooBar2.php" target="_blank">&gt;&gt;サンプルページを確認</a></p>
<p>上記サンプルページのようにclass属性に限らず、こうやって組み合わせで属性と値を組み合わせて該当部分をピンポイントで抽出できるのって超便利。後から変更になったとか追加になったとか、そういう状況の時に手間かけずにこの組み合わせの指定いれるだけで解決したわって事もあった。（IE6は無視で）</p>
<hr />
<h3 class="tit_h3" id="E_fooBar3">E[foo^=&quot;bar&quot;] (属性選択子)</h3>
<dl class="entrylist03">
<dt>意味</dt>
<dd>"foo"属性の値が厳密に文字列"bar"から始まるE要素に一致する</dd>
<dt>最初に定義されたCSS水準</dt>
<dd>CSS3</dd>
</dl>
<p>属性の値が指定した文字列で始まっていれば適応される。前方一致というやつ。</p>
<h4>使い方・使い道について</h4>
<p>このセレクタの使用例としてよくhttp://から始まるリンクにアイコンをつける方法が解説サイトなんかでよく書かれているので、ちょっと違う事します。<br />
mailtoでメールを送るようなリンクにメールアイコンを表示させたい場合は</p>
<pre class="short"><code>a[href^=&quot;mailto:&quot;]{
	background:url(../hoge/letter.png) no-repeat right center;
	padding:0 20px 0 0;
	}</code></pre>
<p>こんな感じ。http://から始まる…の例とほとんど変わらないですね。ごめんなさい。もうちょっと違う事します。</p>
<p>例えば商品を紹介しているページで、p要素の中にimg要素を入れて商品写真を掲載しているページがあったと仮定して、その写真が新製品である場合のみ、周りを他の商品と違う色のボーダーで囲みたいよーというケースでこんなんはどうでしょーか。新製品の場合はp要素のtitle属性に【新商品：なんたらかんたら】のように必ず「【新製品」というのを頭に入れておくと、自動的にその新商品のボーダーだけ新商品用の色を指定できる、みたいな例。</p>
<pre class="short"><code>p[title^=&quot;【新商品&quot;] img{
	border:2px solid #630; /* 茶色のボーダー */
	padding:5px;
	} </code></pre>
<p class="note02"><a href="http://redline.hippy.jp/redline_sample/1005/E_fooBar3.php" target="_blank">&gt;&gt;サンプルページを確認</a></p>     
<p>「新商品：」という部分の文字列を削除するだけで他の商品と同じボーダーカラーになる、みたいな。</p>
<hr />
<h3 class="tit_h3" id="E_fooBar4">E[foo$=&quot;bar&quot;] (属性選択子)</h3>
<dl class="entrylist03">
<dt>意味</dt>
<dd>"foo"属性の値が厳密に文字列"bar"で終わるE要素に一致する</dd>
<dt>最初に定義されたCSS水準</dt>
<dd>CSS3</dd>
</dl>
<p>属性の値が指定した文字列で終わっていれば適応される。後方一致というやつ。</p>
<h4>使い方・使い道について</h4>
<p>このセレクタの使い方としてはだいたいリンク先のファイルの拡張子を判別して別のアイコンをつける（リンク先がpdfファイルならPDFファイルのアイコンを表示させるとか）パターンが紹介されてるので、その書き方。</p>
<pre class="short"><code>a[href$=&quot;.pdf&quot;] {
  background:url(../hoge/letter.png) no-repeat right center;
  padding:0 20px 0 0;
	}</code></pre>
<p class="note02"><a href="http://redline.hippy.jp/redline_sample/1005/E_fooBar4.php" target="_blank">&gt;&gt;サンプルページを確認</a></p>    
<hr />
<h3 class="tit_h3" id="E_fooBar5">E[foo*=&quot;bar&quot;] (属性選択子)</h3>
<dl class="entrylist03">
<dt>意味</dt>
<dd>"foo"属性の値が部分文字列"bar"を含むE要素に一致する</dd>
<dt>最初に定義されたCSS水準</dt>
<dd>CSS3</dd>
</dl>
<p>属性の値の中で指定した文字列が含まれる場合に適応される。部分一致。</p>
<h4>使い方・使い道について</h4>
<p>例えばサイトの更新情報を表示しているリスト部分でリンク先によって違うアイコンを表示しているようなケースを想定。私は実務では今それぞれにclassを振ってアイコンを変えている。でもこのセレクタを利用すれば、いちいちclassを割り振りしなくても、a要素のhref属性の値の文字列からディレクトリ部分を一致させて、それぞれに違うスタイルを割り振ることができる。</p>
<pre class="short"><code>a[href*=&quot;categoryA&quot;],
a[href*=&quot;categoryB&quot;],
a[href*=&quot;categoryC&quot;]{
	padding:0 0 0 65px;
	}
a[href*=&quot;categoryA&quot;]{background:url(img/icon_01.png) no-repeat left center;}
a[href*=&quot;categoryB&quot;]{background:url(img/icon_02.png) no-repeat left center;}
a[href*=&quot;categoryC&quot;]{background:url(img/icon_03.png) no-repeat left center;}</code></pre>
<p class="note01">※上記の例ではhref属性の値が「./categoryA/hoge.html」こんな感じになっているので問題ないのだけれども、もしかしたら「./categoryB/categoryA.html」(文字列「categoryA」と文字列「categoryB」が両方含まれる)なんて値が入るかもしれないので、a[href*=&quot;categoryA&quot;]　の　&quot;categoryA&quot;　部分は「&quot;/categoryA/&quot;」とか「&quot;categoryA/&quot;」とかいう風にしておいた方が無難だと思います。</p>
<p class="note02"><a href="http://redline.hippy.jp/redline_sample/1005/E_fooBar5.php" target="_blank">&gt;&gt;サンプルページを確認</a></p>
<hr />
<h3 class="tit_h3" id="E_hreflang">E[foo|=&quot;en&quot;]/E[hreflang|=&quot;en&quot;] (属性選択子)</h3>
<dl class="entrylist03">
<dt>意味</dt>
<dd><span class="tit_h3">&quot;foo&quot;</span>属性が&quot;en&quot;で(左から)始まる値のハイフンで区切ったリストであるE要素に一致する</dd>
<dt>最初に定義されたCSS水準</dt>
<dd>CSS2</dd>
<dt>補足</dt>
<dd>この属性セレクタの型が最新版の英語で書いてある方の仕様書では「E[foo|=&quot;en&quot;]」ってなってて、翻訳版（古い）のほうでは「E[hreflang|=&quot;en&quot;]」ってなってる。どちらも値が&quot;en&quot;になってるし、元々は言語関連が主な用途みたいだけど、それ以外の用途で使用しても別に構わない。 </dd>
</dl>
<p>ハイフンがどうたらこうたらっていうのが少しややこしいけど、上の例でいうと値が厳密に「en」であるか、またはハイフンの直前に厳密に「en」が来てるか、そのどちらかの条件に合えば適応される。例えばCSS側で E[hreflang|="en"] という風にセレクタを書いてやるとhtml側に「hreflang="en"」「hreflang="en-US"」がついてる要素があると、その両方にもマッチするという意味。</p>
<p>上の補足部分にも書いたけど、言語関連以外の用途で使用しても別に構わない。</p>
<p>class名を考える時に関連するグループでは頭は同じ単語を使ってそのあとハイフンで区切って種類を分けようというルールを用いる時とかありますよね。（なくてもあるってことにしてっ！）例えば「.sample-txt」「.sample-img」のように、そのハイフン前の単語部分の「sample」に一致するものを選択したい場合なんかにも使える。</p>
<h4>使い方・使い道について</h4>
<p>a要素かlink要素内で使用できるリンク先の言語を表すhreflang属性を利用して、リンク先の言語毎に背景色を変える場合はこういう風にする。</p>
<pre class="short"><code>a[hreflang|=&quot;en&quot;] {
	background:#cfc; /* 背景色・うすい緑 */
	}
a[hreflang|=&quot;zh&quot;] {
	background:#fcc; /* 背景色・ピンク */
	}</code></pre>
<p>上に書いたように言語関連以外の属性でも使用できる。</p>
<pre class="short"><code>p[class|=&quot;sample&quot;] {
	background:#fc6; /* 背景色・オレンジ */
	}</code></pre>    
<p class="note02"><a href="http://redline.hippy.jp/redline_sample/1005/E_hreflang.php" target="_blank">&gt;&gt;サンプルページを確認</a></p>
<hr />
<h3 class="tit_h3">属性セレクタ全般に関する備考</h3>
<p>誤解されると申し訳ないので一応書いておきます。<br />
上に書いた7種類の属性セレクタについて、どれを使っても同じものにマッチするというのがいろいろあるので、上記サンプルでその属性セレクタが使われてるからといって、それでないとダメということではないです。自分のマッチさせたい要素が指定できるならどれ使ってもいいです。</p>
<hr />
<h3 class="tit_h3" id="E_root">E:root (構造擬似クラス)</h3>
<dl class="entrylist03">
<dt>意味</dt>
<dd>文書のルートであるE要素に一致する</dd>
<dt>最初に定義されたCSS水準</dt>
<dd>CSS3</dd>
</dl>
<p>これは文書のルート要素を表すものらしい。使い道がよく分からないのだけれども。仕様書の翻訳をそのまま引用すると、</p>
<p class="note02"><q>:root擬似クラスは、文書のルートである要素を表す。HTML4の場合においては、これはHTML要素である。XMLの場合においては、XMLの文書に対する、DTD又はスキーマ、及び名前空間に適切であれば、何でもよい。</q></p>
<p>とのこと。つーことは、これは普通のhtml文書の場合、html要素にスタイル当てるのと同じようになるってことだと思う。</p>
<h4>使い方・使い道について</h4>
<p>:rootを利用して背景色とフォントカラーを指定する例。</p>
<pre class="short"><code>:root{
	background:#000;
	color:#fff;
	}</code></pre>
<p class="note02"><a href="http://redline.hippy.jp/redline_sample/1005/root.php" target="_blank">&gt;&gt;サンプルページを確認</a></p> 
<p>セレクタ「:root」の部分を「html」に変更してもまったく同じ。</p>
<p><ins>コメントにて<q>ルート要素＝初期包含ブロック</q>という風に言葉を置き換えて頂きました。そっちの言葉だとイメージしやすいですね。</ins></p> 
<hr />
<h3 class="tit_h3" id="E_nthChild">E:nth-child(n)  (構造擬似クラス)</h3>
<dl class="entrylist03">
<dt>意味</dt>
<dd>その親のn番目の子であるE要素に一致する</dd>
<dt>最初に定義されたCSS水準</dt>
<dd>CSS3</dd>
</dl>
<p>:nth-child()擬似クラスの()の中に入る引数については仕様書のこの辺り。いろんな指定方法ができるんですなぁ。(2n)のように偶数を表す「even」や(2n+1)のように奇数を表す「odd」の値も使える。</p>
<p class="note02"><a href="http://zng.info/specs/css3-selectors.html#structural-pseudos" target="_blank">:nth-child()擬似クラス</a></p>
<h4>使い方・使い道について</h4>
<p>「何番目のなんたら」の使い道が多すぎてどんな例を挙げたらいいのか悩む。とりあえず以下6件の例。</p>
<ul class="entrylist01">
<li>リストの3番目の要素だけ背景色をつける例</li>
<li>リストの最初の3つに背景色をつける例</li>
<li>(2n)を利用して「しましまテーブル」を作る例</li>
<li>(even)を利用して「しましまテーブル」を作る例</li>
<li>3列にfloatで並べたli要素の一番右だけマージンをなくす例</li>
<li>floatさせたli要素の4番目ごとにclearを入れて3段組にする例</li>
</ul>
<pre class="short"><code>#sample1 li:nth-child(3){
	background:#fcc; /* 背景色・ピンク */
	}
#sample2 li:nth-child(-n+3){
	background:#9cf; /* 背景色・水色 */
	}
#sample3 tr:nth-child(2n){
	background:#cfc; /* 背景色・うすい緑 */
	}
#sample4 tr:nth-child(even){
	background:#fc6; /* 背景色・オレンジ */
	}
#sample5 li{
	float:left;
	display:inline;
	width:180px;
	height:100px;
	background:#fcc; /* 背景色・ピンク */
	margin:10px 10px 10px 0;
	}
#sample5 li:nth-child(3n){
	margin:10px 0;
	}
#sample6 li{
	float:left;
	display:inline;
	width:100px;
	min-height:80px;
	background:#cfc; /* 背景色・うすい緑 */
	margin:10px;
	}
#sample6 li:nth-child(3n+1){
	clear:left;
	}</code></pre>	 	
<p class="note02"><a href="http://redline.hippy.jp/redline_sample/1005/E_nthChild.php" target="_blank">&gt;&gt;サンプルページを確認</a></p>
<p>今はブラウザ側の都合でこういうのをCSSだけではなくJS併用、またはclassやidを余分に追加して実現しなくてはならないケースが多いのだけれど、マジで早く遠慮なく使えるようにして欲しいなぁと思います。</p>
<hr  />
<h3 class="tit_h3" id="E_nthLastChild">E:nth-last-child(n) (構造擬似クラス)</h3>
<dl class="entrylist03">
<dt>意味</dt>
<dd>最後のから数えてその親のn番目の子であるE要素に一致する</dd>
<dt>最初に定義されたCSS水準</dt>
<dd>CSS3</dd>
</dl>
<p>1つ上の「E:nth-child(n)」 が頭から数えて何番目の…に対して、こちらは最後から数えて何番目の…というもの。「even」「odd」の値も使える。</p>
<h4>使い方・使い道について</h4>
<p>ul要素内の各li要素に1pxのボーダーを上下に加えていきたいとき、borderの上なり下なりに罫線を指定する。その時、例えばボーダーを各liの上側につけるとしたら、一番最後のli要素の下側の罫線がつかない。そういう時は最後のli要素にだけclassを振るとか、ul要素自体の下側にボーダーを加えるとか、なんか該当li要素部分以外にひと手間かけて対応するんだけど、（border-topとborder-bottom両方してしまうと、隣接部分のボーダーが倍になっちゃうので）このE:nth-last-child(n)を使えばスッキリ解決する。</p>
<pre class="short"><code>li{
	border-top:1px solid #999;
	}
li:nth-last-child(1){
	border-bottom:1px solid #999;
	}</code></pre>
<p>テーブルの最後の2行にだけ背景をつけたい例。</p>
<pre class="short"><code>tr:nth-last-child(-n+2){
	background:#fcc; /* 背景色・ピンク */
	}</code></pre>   
<p class="note02"><a href="http://redline.hippy.jp/redline_sample/1005/E_nthLastChild.php" target="_blank">&gt;&gt;サンプルページを確認</a></p>
<hr />
<h3 class="tit_h3" id="E_nthOfType">E:nth-of-type(n) (構造擬似クラス)</h3>
<dl class="entrylist03">
<dt>意味</dt>
<dd>その種類のn番目の兄弟であるE要素に一致する</dd>
<dt>最初に定義されたCSS水準</dt>
<dd>CSS3</dd>
</dl>
<p>親要素の中で兄弟関係にある同じ種類の要素の中のn番目の要素に一致するということで、説明しにくいので図解。</p>
<p><img src="http://redline.hippy.jp/images/100509_01.png" alt="図:親要素の中で兄弟関係にある同じ種類の要素の説明" /></p>
<p>周りのグレーの枠が親だと考えて、その中に入ってる子供は皆兄弟。んでもって、「兄弟関係にある同じ種類の要素」というのが、この図で言うと5つのp要素。E:nth-of-type(n)の場合は<strong>「隣接」兄弟でなくてもいい</strong>ので、間にh2要素が挟まっても5つのp要素に対する「何番目の」という関係は継続する。</p>
<p>このE:nth-of-type(n)も「even」「odd」の値が使える。</p>
<h4>使い方・使い道について</h4>
<p>同じ親を持つp要素の中で4番目だけ背景色を変える例。</p>
<pre class="short"><code>p {
	background:#cfc; /* 背景色・うすい緑 */
	}
p:nth-of-type(4) {
	background:#fcc; /* 背景色・ピンク */
	}</code></pre>	
<p class="note02"><a href="http://redline.hippy.jp/redline_sample/1005/E_nthOfType.php" target="_blank">&gt;&gt;サンプルページを確認</a></p>
<hr />
<h3 class="tit_h3" id="E_nthLastOfType">E:nth-last-of-type(n) (構造擬似クラス)</h3>
<dl class="entrylist03">
<dt>意味</dt>
<dd>最後のから数えて、その種類のn番目の兄弟であるE要素に一致する</dd>
<dt>最初に定義されたCSS水準</dt>
<dd>CSS3</dd>
</dl>
<p>上の「E:nth-of-type(n)」が頭から数えて何番目か…に対して、こちらは最後から数えて何番目か…となる。「even」「odd」の値も使える。</p>
<h4>使い方・使い道について</h4>
<p>同じ親を持つp要素の中で最後から4番目だけ背景色を変える例。</p>
<pre class="short"><code>#sample1 p {
	background:#cfc; /* 背景色・うすい緑 */
	}
#sample1 p:nth-last-of-type(4) {
	background:#fcc; /* 背景色・ピンク */
	}</code></pre>	  
<p class="note02"><a href="http://redline.hippy.jp/redline_sample/1005/E_nthLastOfType.php" target="_blank">&gt;&gt;サンプルページを確認</a></p>
<hr />
<h3 class="tit_h3" id="E_firstChild">E:first-child (構造擬似クラス)</h3>
<dl class="entrylist03">
<dt>意味</dt>
<dd>その親の最初の子であるE要素に一致する</dd>
<dt>最初に定義されたCSS水準</dt>
<dd>CSS2</dd>
<dt>これと同じ！</dt>
<dd>:nth-child(1)</dd>
</dl>
<p>ある親要素の最初の子要素、ということで、親要素の直下要素(一番最初に現れる要素)にマッチするやつです。但し、<strong>親要素の直下がマークアップされていない場合はそれは直下要素には当てはまらない。</strong>多分、こういうCSSのお話のブログ読んでる人でマークアップせずに生のまま置いてる人はいない気がしますが一応書いておきますね。</p>
<h4>使い方・使い道について</h4>
<p>最初のp要素内のstrong要素だけ赤字太字にする例と、リストの一番最初のli要素だけに背景色をつける例。</p>
<pre class="short"><code>p:first-child strong {
	color:red;
	font-weight:bold;
	}
li:first-child {
	background:#fcc; /* 背景色・ピンク */
	}</code></pre>	
<p class="note02"><a href="http://redline.hippy.jp/redline_sample/1005/E_firstChild.php" target="_blank">&gt;&gt;サンプルページを確認</a></p>    
<p>:nth-child(1)と同じで、基本的に「1番目のなんたらをどうこうする」という使い方です。ちなみに現在TwitterのTLで、ol要素の各liにはborder-bottomが指定してありますが、そこに一番最初のli要素だけにborder-topを入れるために「ol.statuses > li:first-child」こんな風に指定してあります。</p>
<hr />
<h3 class="tit_h3" id="E_lastChild">E:last-child (構造擬似クラス)</h3>
<dl class="entrylist03">
<dt>意味</dt>
<dd>その親の最後の子であるE要素に一致する</dd>
<dt>最初に定義されたCSS水準</dt>
<dd>CSS3</dd>
<dt>これと同じ！</dt>
<dd>:nth-last-child(1)</dd>
</dl>
<p>「E:first-child」の逆。こちらは最後の子にマッチする。</p>
<h4>使い方・使い道について</h4>
<p>最後のp要素内のstrong要素だけ赤字太字にする例と、リストの一番最後のli要素だけに背景色をつける例。</p>
<pre class="short"><code>#sample1 p:last-child strong {
	color:red;
	font-weight:bold;
	}
#sample2 li:last-child {
	background:#fcc; /* 背景色・ピンク */
	}</code></pre>
<p class="note02"><a href="http://redline.hippy.jp/redline_sample/1005/E_lastChild.php" target="_blank">&gt;&gt;サンプルページを確認</a></p> 
<hr />
<h3 class="tit_h3" id="E_firstOfType">E:first-of-type (構造擬似クラス)</h3>
<dl class="entrylist03">
<dt>意味</dt>
<dd>その型の最初の兄弟であるE要素に一致する</dd>
<dt>最初に定義されたCSS水準</dt>
<dd>CSS3</dd>
<dt>これと同じ！</dt>
<dd>:nth-of-type(1)</dd>
</dl>
<p>「<q>自分の親要素の子のリストの中で、自分の種類の最初の兄弟である要素を表す。</q>」というもの。隣接兄弟であってもなくても、とにかく同じ親で兄弟関係ならその要素の一番最初のものにだけマッチする。</p>
<h4>使い方・使い道について</h4>
<p>同じ親を持つp要素の中で最初の要素だけ背景色を変える例。</p>
<pre class="short"><code>#sample1 p {
	background:#cfc; /* 背景色・うすい緑 */
	}
#sample1 p:first-of-type {
	background:#fcc; /* 背景色・ピンク */
	}</code></pre>
<p class="note02"><a href="http://redline.hippy.jp/redline_sample/1005/E_firstOfType.php" target="_blank">&gt;&gt;サンプルページを確認</a></p>     
<hr />
<h3 class="tit_h3" id="E_lastOfType">E:last-of-type (構造擬似クラス)</h3>
<dl class="entrylist03">
<dt>意味</dt>
<dd>その型の最後の兄弟であるE要素に一致する</dd>
<dt>最初に定義されたCSS水準</dt>
<dd>CSS3</dd>
<dt>これと同じ！</dt>
<dd>:nth-last-of-type(1)</dd>
</dl>
<p>「E:first-of-type」の真逆。こちらは親要素の子のリストの中で、自分の種類の最後の兄弟である要素にマッチする。こちらも隣接兄弟であってもなくても同じ親で兄弟関係ならその要素の一番最後のものにだけマッチ。</p>
<h4>使い方・使い道について</h4>
<p>同じ親を持つp要素の中で最後の要素だけ背景色を変える例。</p>
<pre class="short"><code>#sample1 p {
	background:#cfc; /* 背景色・うすい緑 */
	}
#sample1 p:last-of-type {
	background:#fcc; /* 背景色・ピンク */
	}</code></pre>
<p class="note02"><a href="http://redline.hippy.jp/redline_sample/1005/E_lastOfType.php" target="_blank">&gt;&gt;サンプルページを確認</a></p>    
<hr />
<h3 class="tit_h3" id="E_onlyChild">E:only-child (構造擬似クラス)</h3>
<dl class="entrylist03">
<dt>意味</dt>
<dd>その親の唯一の子であるE要素に一致する</dd>
<dt>最初に定義されたCSS水準</dt>
<dd>CSS3</dd>
<dt>これと同じ！</dt>
<dd>:first-child:last-child / :nth-child(1):nth-last-child(1)<br />
（と同じだけど固有性は低い。）</dd>
</dl>
<p>兄弟を1つも持ってない要素にマッチ。同じ親を持つ同じ要素名の兄弟じゃなくて、同じ親を持つ兄弟自体がいない要素。</p>
<h4>使い方・使い道について</h4>
<p>兄弟がいないp要素だけ背景色をつける例。</p>
<pre class="short"><code>.sampleDiv p:only-child {
	background:#fcc; /* 背景色・ピンク */
	}</code></pre>
<p class="note02"><a href="http://redline.hippy.jp/redline_sample/1005/E_onlyChild.php" target="_blank">&gt;&gt;サンプルページを確認</a></p>  
<hr />
<h3 class="tit_h3" id="E_onlyOfType">E:only-of-type (構造擬似クラス)</h3>
<dl class="entrylist03">
<dt>意味</dt>
<dd>その種類の唯一の兄弟であるE要素に一致する</dd>
<dt>最初に定義されたCSS水準</dt>
<dd>CSS3</dd>
<dt>これと同じ！</dt>
<dd>:first-of-type:last-of-type / :nth-of-type(1):nth-last-of-type(1)<br />
（と同じだけど固有性は低い。）</dd>
</dl>
<p>同じ要素名を持っている兄弟が1つもない要素を表す。「E:only-child」との違いは「E:only-child」は同じ親を持つ兄弟自体がいない要素にマッチするのに対して、こちらの「E:only-of-type」は同じ要素名を持っている兄弟がいない要素にマッチする。</p>
<h4>使い方・使い道について</h4>
<p>親の中に同じ要素名の兄弟がいない要素にだけ背景色をつける例。</p>
<pre class="short"><code>.sampleDiv :only-of-type {
	background:#fcc; /* 背景色・ピンク */
	}
.sampleDiv em:only-of-type {
	background:#cfc; /* 背景色・うすい緑 */
	}</code></pre>	
<p class="note02"><a href="http://redline.hippy.jp/redline_sample/1005/E_onlyOfType.php" target="_blank">&gt;&gt;サンプルページを確認</a></p>  
<hr />
<h3 class="tit_h3" id="E_empty">E:empty (構造擬似クラス)</h3>
<dl class="entrylist03">
<dt>意味</dt>
<dd>(テキストのノードを含めて)子供を持たないE要素に一致する</dd>
<dt>最初に定義されたCSS水準</dt>
<dd>CSS3</dd>
</dl>
<p>子を一つも持たない要素を表す。DOMの観点から時によっては空のテキストのノードを含む。</p>
<h4>使い方・使い道について</h4>
<p>これも:root同様、あまり使い道が分からない。そういえば、どこかのサイトでテーブルの空セルに使えるというのを見たことがある気がします。</p>
<p>それ以外だと…制作途中でコーディングしてる際に要素の開始タグと終了タグだけ書いてあるけど中身は空、実はそれ不要なものでしたーというケースがないとも言い切れないので、そういう凡ミス防止のチェック用に制作途中はCSSの頭にこんなん入れたらミスに気付きやすくなるかなという案。（いや、まぁ実際はそんなミスはあまりないと思うけれども）</p>
<pre class="short"><code>/* 凡ミス防止用 ここから*/	
*:empty {
	background:red;
	padding:50px;
	}
img:empty {
	background:none;
	padding:0;
	}
/* 凡ミス防止用 ここまで */	</code></pre>	
<p class="note02"><a href="http://redline.hippy.jp/redline_sample/1005/E_empty.php" target="_blank">&gt;&gt;サンプルページを確認</a></p>
<p>実験結果。インライン要素がemptyだとなんか大変な失態をしでかした気になる。そして上記サンプルソースのimg要素部分の指定についてなんですが、img要素のwidthとheightの指定がない場合、ちゃんと正しい文法でimg要素を置いててもempty状態とみなされるらしい。（Fxでしか検証してないので他はわからんけれども）img要素にwidthとheightを入れられない時もあるので、そのために上記のimg:emptyってやつを追加してみました。</p>
<p>あ、もちろんこれはネタですよ、ネタ。</p>
<p>真面目に使い道を考えてみると、例えばCMS使ってて、いつも全部の入力項目に内容を入れるわけじゃない、けどソースは要素が中身空のままはいっちゃう、空で入っててもmarginとかは中身が入ってる時と同じように反映されちゃう、それはやだ、そうだ！:emptyを使って中身が空の時はmarginを0にしちゃおう！というかdisplay:none;でいいや！とかいう使い方ができるのではないでしょうか。(と、書いてよく考えてみると自分の使ってるCMSツールは中身空ならソースに反映されないようにできるよな…と気付いたけどせっかく考えたからこのまま残します)</p>
<hr />
<h3 class="tit_h3">構造擬似クラス全般に関する備考</h3>
<p>誤解されると申し訳ないので一応書いておきます。<br />
上に書いた12種類の構造擬似クラスについて、どれを使っても同じものにマッチするというのがいろいろあるので、上記サンプルでその構造擬似クラスが使われてるからといって、それでないとダメということではないです。自分のマッチさせたい要素が指定できるならどれ使ってもいいです。</p>
<hr />
<h3 class="tit_h3" id="E_link">E:link　/　E:visited (リンク擬似クラス)</h3>
<dl class="entrylist03">
<dt>意味</dt>
<dd>ターゲットがまだ訪れていない(:link)か、あるいはすでに訪れている(:visited)ハイパーリンク元のアンカーであるE要素に一致する</dd>
<dt>最初に定義されたCSS水準</dt>
<dd>CSS1</dd>
</dl>
<h4>使い方・使い道について</h4>
<p>これはCSS始めたら初期段階で覚える内容だと思うのでサラっと流しますね。</p>
<pre class="short"><code>a:link {color:＃0000ff; /* 未訪問のリンクカラー */}
a:visited {color:＃800080;/* 訪問済のリンクカラー */}</code></pre>
<hr />
<h3 class="tit_h3" id="E_active">E:active　/　E:hover　/　E:focus (利用者行為擬似クラス)</h3>
<dl class="entrylist03">
<dt>意味</dt>
<dd>利用者がある行為をしている間のE要素に一致する</dd>
<dt>最初に定義されたCSS水準</dt>
<dd>CSS1及び2</dd>
</dl>
<h4>使い方・使い道について</h4>
<p>:activeは利用者が要素をアクティブ状態になった場合に適応。例えばリンクテキストをポチッと押した瞬間とか。（そういえばこの前<a href="http://redline.hippy.jp/lab/css/css_17.php" title="CSS テキストリンクもボタンっぽくポチっとする">こんなん書きました</a>）</p>
<p>:hoverは利用者がポインティング装置（普通にPCでwebページ見てるならマウス・カーソルとか）を用いて要素を指定してるけどアクティブ状態ではない状態の場合に適応。例えばa要素の上にマウスカーソルが重なってる時とか。</p>
<p>:focusは要素がフォーカスを有する状態にある場合に適応。例えば入力フォームにテキストを入力使用としてる時とか。</p>
<pre class="short"><code>a:active {color:＃0000ff; /* active時のカラー */}
a:hover {color:＃ff0000;/* hover時のカラー */}
a:focus {color:＃ffffcc;/* focus時のカラー */}</code></pre>
<h4>余談</h4>
<p>あ、ちなみにですね、私がwebを始めた頃にこの:link、:visited、:hover、:activeっつーのはこの順番で書かないとマズいぜ、というTipsが流行していた（？）気がするのですが、今でもこの順番の覚え方が頭にこびりついています。今もそんな覚え方するのかどうかは知らないけれども、私と同時期にweb始めた人は絶対知ってるはず。</p>
<p class="note02"><strong>(n'∀')η　＜せーの！ラブハッ！　(&quot;LOVE&quot; and &quot;HATE&quot;)</strong></p>
<p>多分一生「ラブハッ」は忘れないと思います。</p>
<h4>順番についての追記（2010.05.14）</h4>
<p><ins>上ではこの順番に書かなきゃならないとサラっと流したのですが、コメントにてCSS2に順番に関する注記のお話を頂いたので補足しておきます。CSSの勉強を始めたときにそれぞれの順番が変わるとどうなるのか、手元で試した人は多いと思いますが、こうなります。</ins></p>
<p><ins>:hoverは:linkや:visitedよりも後に書かないと、カスケードの規則によって:hoverのプロパティが上書きされてしまう事になる。例えばそれぞれに別のcolorプロパティを指定していたとして、:hoverよりも後に:link,:visitedの記述を書いた場合、:hoverのcolorの値は後に書いた:link,:visitedのcolorの値が上書きされるため、hover状態になった時に:hover部分で指定したcolorの値の色は適応されない。</ins></p>
<p><ins>同じように:activeの内容を:hoverよりも先に書いた場合、:hoverの値が上書きされ:activeのcolorの値は適応されない。（hoverの状態はマウスが上に乗っている時だけではなく、クリックされている時もマウスが乗っている状態であることには変わらないのでそういうことになる）</ins></p>
<p><ins>逆に使い方の例として、:hoverや:activeより後に:visitedを指定すると常に:visitedの内容が適応される事を利用して、もし訪問済みリンクに対しては常に:visitedに指定したスタイルで固定したい場合は:visitedを一番最後に記述すればいい。</ins></p>
<hr />
<h3 class="tit_h3" id="E_target">E:target (ターゲット擬似クラス)</h3>
<dl class="entrylist03">
<dt>意味</dt>
<dd>参照しているURIのターゲットであるE要素に一致する</dd>
<dt>最初に定義されたCSS水準</dt>
<dd>CSS3</dd>
</dl>
<p>これはページ内でのリンク等、文書内の特定の部分へのリンク する場合に「href=&quot;#sample&quot;」や「href=&quot;hoge.html#sample&quot;」、こんな風に「#」から始まり識別子（ここで言うとsample）で終わるURIを参照するように指定する場合に使用できる擬似クラス。マッチする対象要素は#●●でターゲットにされた●●の部分。</p>
<h4>使い方・使い道について</h4>
<p>該当要素がターゲットされた際に背景色を変える例。</p>
<pre class="short"><code>#sample1:target {
	background:#fcc; /* 背景色・ピンク */
	}
#sample2:target {
	background:#cfc; /* 背景色・うすい緑 */
	}
#sample3:target {
	background:#fc6; /* 背景色・オレンジ */
	}</code></pre>
<p class="note02"><a href="http://redline.hippy.jp/redline_sample/1005/E_target.php" target="_blank">&gt;&gt;サンプルページを確認</a></p>  	
<p>あとこれは<a href="http://redline.hippy.jp/lab/css/css3_target.php" title="CSS3 :target擬似クラスでイメージギャラリー">前にエントリを書いたのだけれども</a>、下記サイトでは:target擬似クラスでイメージギャラリーを作る方法が紹介されていました。</p>
<p>imgに対してまずposition:absolute;を指定しておいて、各リンクをクリックした時に:targetの該当img要素に対してz- indexで最前面に配置する、というもの。</p>
<p class="note02"><a href="http://www.css3.info/making-an-image-gallery-with-target/" target="_blank">Making an image gallery with :target - CSS3 . Info</a></p>
<hr />
<h3 class="tit_h3" id="E_lang">E:lang(fr) (lang()擬似クラス)</h3>
<dl class="entrylist03">
<dt>意味</dt>
<dd>言語"fr"での型Eの要素(その文書言語は、言語が決定される方法を指定する)に一致する</dd>
<dt>最初に定義されたCSS水準</dt>
<dd>CSS2</dd>
</dl>
<p>lang属性と値がを指定された要素に対して対象言語にマッチしたものに適応される。言語コードはISO-639で定義されているものを指定。</p>
<h4>使い方・使い道について</h4>
<p>lang属性の値によって背景色を変更する例。</p>
<pre class="short"><code>p:lang(ja){
	background:#fcc; /* 背景色・ピンク */
	}
p:lang(fr){
	background:#cfc; /* 背景色・うすい緑 */
	}</code></pre>	
<p class="note02"><a href="http://redline.hippy.jp/redline_sample/1005/E_lang.php" target="_blank">&gt;&gt;サンプルページを確認</a></p>
<p><ins>以下コメントより引用<br />言語は E の祖先でも決まります。p:lang(ja) は &lt;body lang="ja"&gt;&lt;p&gt;ほげ&lt;/p&gt;&lt;/body&gt; の p 要素にマッチします。これは [lang|="ja"] では代替できません。</ins></p>	
<hr />
<h3 class="tit_h3" id="E_enabledDisabled">E:enabled　/　E:disabled (UI要素の状態擬似クラス)</h3>
<dl class="entrylist03">
<dt>意味</dt>
<dd>有効または無効にされている利用者インタフェース要素Eに一致する</dd>
<dt>最初に定義されたCSS水準</dt>
<dd>CSS3</dd>
</dl>
<p>有効になっている時のスタイルと無効になっている時のスタイルを定義できる。無効化についてはHTML側の該当要素に「disabled=&quot;disabled&quot;」を指定する。</p>
<p>が、disabled属性なんて使ったことねーよ！ということで、久々にちゃんとタグ辞典を調べました。この属性が使用できる要素はフォーム関連の6つの要素でした。(input要素・textarea要素・button要素・select要素・option要素・optgroup要素)</p>
<p>また、<a href="http://www.amazon.co.jp/o/ASIN/4798010030/redline0c-22" target="_blank">同辞典</a>によると、<q>この状態を変更するためにはスクリプトを利用する必要があります</q>、とのこと。JSとかで有効無効が変更できるので、その際にこの擬似クラス使うとスタイル当てるのも楽だよということなのかもしれない。</p>
<h4>使い方・使い道について</h4>
<p>よくJSを使って全部入力フォームを埋めるまで送信ボタンは押させない、とか、ある項目に入力があったら最初無効になってた入力欄が有効になるとかそういうやり方を見かけるけれども、そういう時に使う方法がメインなのだと思う。JSはともかく、普通に「disabled=&quot;disabled&quot;」だけ指定して有効のinput要素と無効のinput要素で背景色を分ける例。</p>
<pre class="short"><code>input{
	background:#cfc; /* 背景色・うすい緑 */
	}
input:disabled{
	background:#ccc; /* 背景色・灰色 */
	}</code></pre>
<p class="note02"><a href="http://redline.hippy.jp/redline_sample/1005/E_enabledDisabled.php" target="_blank">&gt;&gt;サンプルページを確認</a></p>     
<p>※有効中のinput要素ってわざわざ「:enabled」つけなくても普通にinputにスタイル付けるのと上の場合は同じなのでそのようにしてます。</p>
<hr />
<h3 class="tit_h3" id="E_checked">E:checked (E:indeterminate) (UI要素の状態擬似クラス)</h3>
<dl class="entrylist03">
<dt>意味</dt>
<dd>チェックされているか、またはチェックされていない状態の利用者インタフェース要素E(例えばラジオボタンやチェックボックス)に一致する</dd>
<dt>最初に定義されたCSS水準</dt>
<dd>CSS3</dd>
<dt>補足</dt>
<dd>翻訳版では型の部分に「E:checked」と並んで「E:indeterminate」というのもあるのですが、現時点での英語の最新版には今のところ書いてありませんでした。その代わり、</dd>
<dd><q>6.6.4.3. The :indeterminate pseudo-class<br />
Note: Radio and checkbox elements can be toggled by the user, but are sometimes in an indeterminate state, neither checked nor unchecked. This can be due to an element attribute, or DOM manipulation.<br />
A future version of this specification may introduce an :indeterminate pseudo-class that applies to such elements. </q></dd>
<dd>そういう不確定状態の要素として将来的に「E:indeterminate」はまた復活するのかも。（英語力ないので勘違いしてたら恥ずかしいのですが）</dd>
</dl>
<h4>使い方・使い道について</h4>
<p>チェックボックスやラジオボタンがチェックされた状態のときにラベル部分に背景色をつける例。</p>
<pre class="short"><code>input:checked + label {
	background:#fcc; /* 背景色・ピンク */
	}</code></pre>
<p class="note02"><a href="http://redline.hippy.jp/redline_sample/1005/E_checked.php" target="_blank">&gt;&gt;サンプルページを確認</a></p>  	
<hr />
<h3 class="tit_h3" id="E_firstLine">E::first-line (:first- line擬似要素)</h3>
<dl class="entrylist03">
<dt>意味</dt>
<dd>E要素の最初にフォーマットされる行に一致する</dd>
<dt>最初に定義されたCSS水準</dt>
<dd>CSS1</dd>
</dl>
<p>指定した要素のテキストの1行目に適応される。「1行目」というのは幅やフォントサイズによって可変する。ブロック要素にのみ適応される。</p>
<p>使用できるプロパティは以下の13種類。（font関連 / color / background関連 / text-decoration / vertical-align(floatがnoneのときのみ) / text-transform / line-height / margin関連 / padding関連 / border関連 / float / text-shadow / clear）</p>
<h4>使い方・使い道について</h4>
<p>一行目だけスタイルを適応させる例。</p>
<pre class="short"><code>p::first-line {
	color:#900;
	font-size:1.2em;
	font-weight:bold;
	}</code></pre>
<p class="note02"><a href="http://redline.hippy.jp/redline_sample/1005/E_firstLine.php" target="_blank">&gt;&gt;サンプルページを確認</a></p>      
<hr />
<h3 class="tit_h3" id="E_firstLetter">E::first-letter (:first- letter擬似要素)</h3>
<dl class="entrylist03">
<dt>意味</dt>
<dd>E要素の最初にフォーマットされる文字に一致する</dd>
<dt>最初に定義されたCSS水準</dt>
<dd>CSS1</dd>
</dl>
<p>指定した要素の1文字目のテキストに対してスタイルを適応させる際に使用する。細かい使用ルールは以下の通り。</p>
<ul class="entrylist01">
<li>ブロック要素, list-item, table-cell, table-caption, inline-block要素にのみ適応される。</li>
<li>この「E::first-letter」は「E::first-line」に含まれるため、併用している場合は「E::first-line」のスタイルを継承する。</li>
<li>「E::first-letter」と「E::first-line」で同じプロパティを指定している場合(競合している場合)は「E::first-letter」の指定が優先される。</li>
<li>1文字目に引用符やカギ括弧等の文字(Unicodeで&quot;開き&quot;(Ps)、&quot;閉じ&quot;(Pe)及び&quot;その他&quot;(Po)に分類されている文字)が指定されている場合は次の文字と合わせて適応対象となる。但し、言語によって特殊な規則があるものもあるので、その辺りは言語によって異なる。</li>
<li>指定できるプロパティは以下の13種類（font関連 / color / background関連 / text-decoration / vertical-align(floatがnoneのときのみ) / text-transform / line-height / margin関連 / padding関連 / border関連 / float / text-shadow / clear）</li>
</ul>
<h4>使い方・使い道について</h4>
<p>ドロップキャップ、イニシャルキャップとしての使い方しか思い浮かばないのでその書き方。</p>
<pre class="short"><code>p::first-letter {
	float:left;
	background:#ffc;
	color:#900;
	font-size:3.8em;
	font-family:&#039;ヒラギノ角ゴ Pro W3&#039;,&#039;Hiragino Kaku Gothic Pro&#039;,&#039;メイリオ&#039;,Meiryo,&#039;ＭＳ Ｐゴシック&#039;,sans-serif;
	font-weight:bold;
	padding:6px;
	border:1px solid #900;
	margin:2px 5px 0 0;
	}</code></pre>
<p class="note02"><a href="http://redline.hippy.jp/redline_sample/1005/E_firstLetter.php" target="_blank">&gt;&gt;サンプルページを確認</a></p>  
<hr />
<h3 class="tit_h3" id="E_before">E::before (:before擬似要素)</h3>
<dl class="entrylist03">
<dt>意味</dt>
<dd>E要素の前に生成される内容に一致する</dd>
<dt>最初に定義されたCSS水準</dt>
<dd>CSS2</dd>
</dl>
<p>要素の前にcontentプロパティで生成する内容にスタイルを適応させる擬似要素。「::first-letter」「::first-line」擬似要素が「::before」と組み合わせられると、挿入されたテキストを含んでいる要素の最初の文字または行に適用される。</p>
<h4>使い方・使い道について</h4>
<p>p要素の前に「Note:」という文字列を挿入しその部分に背景色をつける例。</p>
<pre class="short"><code>#sample1 p::before{
	content: &quot;Note: &quot;;
	background:#fcc; /* 背景色・ピンク */
	}</code></pre>
<p>p要素の前にアイコンを挿入する例。</p>
<pre class="short"><code>#sample2 p::before{
	content:url(hoge.png);
	}</code></pre>
<p>挿入した画像をブロックにしてテキストを下に回り込ませる例。</p>
<pre class="short"><code>#sample3 p::before {
	display:block;
	content:url(&quot;hoge.png&quot;);
	}</code></pre> 
<p class="note02"><a href="http://redline.hippy.jp/redline_sample/1005/E_before.php" target="_blank">&gt;&gt;サンプルページを確認</a></p>  
<p>「::before」で挿入された部分は画像を使用した場合でも、印刷時にブラウザ側で背景画像を印刷しない設定になっていてもちゃんと印刷対象となる。印刷時のロゴの扱いとかで便利かも。この擬似要素が普段使いでブラウザ気にせず使えるようになったらスゲー使い道ありますね。当分は同じ事をJSにお願いしなくてはならなさそうですが。</p>
<p>その他、こちらの使用例も素敵だなーと思いました。</p>
<p class="note02"><a href="http://www.lucky-bag.com/archives/2005/05/before_pseudo.html" target="_blank">:before 疑似要素を使ってテキストを画像に置換 - lucky bag</a><br />
<a href="http://hxxk.jp/2004/11/27/1550" target="_blank">hxxk.jp - :before 擬似要素 / :after 擬似要素の活用例</a></p>
<hr />
<h3 class="tit_h3" id="E_after">E::after (:after擬似要素)</h3>
<dl class="entrylist03">
<dt>意味</dt>
<dd>E要素の後に生成される内容に一致する</dd>
<dt>最初に定義されたCSS水準</dt>
<dd>CSS2</dd>
</dl>
<p>「E::before」の逆。こちらは要素の後にcontentプロパティで内容を生成しスタイルを適応させる擬似要素。「::first-letter」「::first-line」擬似要素が「::after」と組み合わせられると、挿入されたテキストを含んでいる要素の最初の文字または行に適用される。</p>
<h4>使い方・使い道について</h4>
<p>訪問済みリンクテキストの右側にアイコンをつけて分かりやすくする例。</p>
<pre class="short"><code>#sample1 a:visited::after {
	content:url(&quot;hoge.png&quot;);
	}</code></pre>
<p class="note02"><a href="http://redline.hippy.jp/redline_sample/1005/E_after.php" target="_blank">&gt;&gt;サンプルページを確認</a></p>  
<hr />
<h3 class="tit_h3">擬似要素全般に関する備考</h3>
<p>CSS3では擬似要素と擬似クラスを区別するために擬似要素は「：」を2つ重ねて記述するように変更されているそうです。このエントリの上記擬似要素部分やサンプルページもそのCSS3の書き方で書いています。モダンブラウザ（IEは8以上）ではその記述に対応しているので意図した描写がされます。CSS2.1の記述としてはValidにはなりません。</p>
<hr />
<h3 class="tit_h3" id="E_class">E.warning (クラス選択子)</h3>
<dl class="entrylist03">
<dt>意味</dt>
<dd>クラスが"warning"であるE要素(その文書言語はクラスが決定される方法を指定する)に一致する</dd>
<dt>最初に定義されたCSS水準</dt>
<dd>CSS1</dd>
</dl>
<h4>使い方・使い道について</h4>
<p>これはCSS修行の第一歩で習得する話なのでサラっと流しますね。「class=&quot;test&quot;」を持つ要素を太字にする書き方。</p>
<pre class="short"><code>.test { font-weight:bold; }</code></pre>
<hr />
<h3 class="tit_h3" id="E_id">E#myid (ID選択子)</h3>
<dl class="entrylist03">
<dt>意味</dt>
<dd>IDが"myid"と等しいE要素に一致する</dd>
<dt>最初に定義されたCSS水準</dt>
<dd>CSS1</dd>
</dl>
<h4>使い方・使い道について</h4>
<p>これもCSS修行の第一歩で習得する話なのでサラっと流しますね。「id =&quot;test&quot;」を持つ要素を太字にする書き方。</p>
<pre class="short"><code>#test { font-weight:bold; }</code></pre>
<hr />
<h3 class="tit_h3" id="E_not">E:not(s) (打消しの擬似クラス)</h3>
<dl class="entrylist03">
<dt>意味</dt>
<dd>単純選択子sに一致しないE要素に一致する</dd>
<dt>最初に定義されたCSS水準</dt>
<dd>CSS3</dd>
</dl>
<p>「E:not(s)」なら、E という要素の中で s でないのものにマッチする。引数は単純選択子（型選択子・汎用選択子・属性選択子・ID選択子・クラス選択子・擬似クラス）</p>
<h4>使い方・使い道について</h4>
<p>同じような要素が並んでて「この要素のこういう内容以外のもの！」って言うのをピンポイントで指定するのに便利そう。今までわざわざ例外のスタイルを指定したい要素に対してclassやid振ってたものも、これを使えばそういうの回避できるんじゃないかな、と。</p>
<p>最初と最後以外のp要素に背景色をつける例。</p>
<pre class="short"><code>#sample1 p:not(:first-of-type):not(:last-of-type) {
	background:#fcc; /* 背景色・ピンク */
	}</code></pre>
<p>class属性の指定されていないp要素だけ背景色をつける例。</p>	 
<pre class="short"><code>#sample2 p:not([class]) {
	background:#cfc; /* 背景色・うすい緑 */
	}</code></pre>
<p>class属性を持っているp要素の中で値が「.sample」ではないp要素だけ背景色をつける例。</p>
<pre class="short"><code>#sample3 p[class]:not([class=&quot;sample&quot;]) {
	background:#fc6; /* 背景色・オレンジ */		
	}</code></pre>
<p class="note02"><a href="http://redline.hippy.jp/redline_sample/1005/E_not.php" target="_blank">&gt;&gt;サンプルページを確認</a></p>  
<hr />
<h3 class="tit_h3" id="EF1">E F (子孫結合子)</h3>
<dl class="entrylist03">
<dt>意味</dt>
<dd>E要素の子孫であるF要素に一致する</dd>
<dt>最初に定義されたCSS水準</dt>
<dd>CSS1</dd>
</dl>
<h4>使い方・使い道について</h4>
<p>親要素「E」に含まれるすべての<strong>子孫要素</strong>「F」に適用される。「子孫セレクタ」とも呼ばれている。これもCSS修行の初期段階でマスターするものなのでサラっと。p要素中のstrong要素を赤字にする書き方。</p>
<pre class="short"><code>p strong { color:#f00; }</code></pre>
<hr />
<h3 class="tit_h3" id="EF2">E > F (子結合子)</h3>
<dl class="entrylist03">
<dt>意味</dt>
<dd>E要素の子であるF要素に一致する</dd>
<dt>最初に定義されたCSS水準</dt>
<dd>CSS2</dd>
</dl>
<p>親要素「E」の<strong>直接の子要素</strong>「F」に適用される。「子セレクタ・子供セレクタ」とも呼ばれている。</p>
<h4>使い方・使い道について</h4>
<p>「E F (子孫結合子)」との違いは「E F (子孫結合子)」が子孫要素すべてにスタイルが適応されるのに対して、こちらの「E > F (子結合子)」は直接の子にのみ適応される。一応そのサンプルページ置いておきます。</p>
<p class="note02"><a href="http://redline.hippy.jp/redline_sample/1005/EF_sample1.php" target="_blank">&gt;&gt;サンプルページを確認</a></p> 
<p>また、この「E > F」はIE6が対応していない事を逆に利用して、IE6を除外するためのCSSハック（この場合は厳密にはハックとは言わないのだけれども）的な使い方をする事もあります。</p>
<hr />
<h3 class="tit_h3" id="EF3">E + F (直接隣接結合子)</h3>
<dl class="entrylist03">
<dt>意味</dt>
<dd>E要素の直後に来るF要素に一致する</dd>
<dt>最初に定義されたCSS水準</dt>
<dd>CSS2</dd>
</dl>
<p>同じ親要素の中の兄弟関係の要素に対して、兄要素「E」の<strong>直後</strong>(隣接している)の弟要素「F」に適用される。「隣接セレクタ」とも呼ばれている。要素と要素の間に別の要素が挟まっている場合はマッチしない。</p>
<h4>使い方・使い道について</h4>
<p>コンテンツ内のp要素にはマージンが予め指定してあるのだけれども、見出し要素の次に出てくるp要素のみ上マージンを多めに取りたいっていう時はこんな風にします。h4要素の直後にp要素が出現する場合だけマージンを変更する例。</p>
<pre class="short"><code>p{
	margin:3px auto;
	}	
#sample1 h4 + p {
	margin:12px auto 3px;
	}</code></pre>
<p>また、兄要素の直後の弟要素に対しては次の別の要素が出現するまでマッチし続けます。兄弟の弟が続く場合は別の要素が入って途切れるまでマッチする例。(下記のCSSソースだけ見ても意味不明ですが、よかったらサンプルページの方を見て下さい)</p>
<pre class="short"><code>#sample2 p + p {
	background:#fcc; /* 背景色・ピンク */
	}</code></pre>
<p>あと、これは強引な例かもしれませんが・・・。たまにこういうレイアウトを組むときがあるんですが、htmlにclassやid振らなくてもこういうことできるよっていう例です。<br />
1つ目のli要素だけ幅100%、残りのli要素は2カラムにする例。</p>
<pre class="short"><code>#sample3 li {
	width:790px;
	height:50px;
	background:#cfc; /* 背景色・うすい緑 */
	border:1px solid #000;
	margin:5px;
	}
#sample3 li + li {
	width:388px;
	float:left;
	display:inline;
	background:#fc6; /* 背景色・オレンジ */
	}</code></pre>
<p class="note02"><a href="http://redline.hippy.jp/redline_sample/1005/EF_sample2.php" target="_blank">&gt;&gt;サンプルページを確認</a></p> 
<hr />
<h3 class="tit_h3" id="EF4">E ~ F (間接隣接結合子)</h3>
<dl class="entrylist03">
<dt>意味</dt>
<dd>E要素の後に来るF要素に一致する</dd>
<dt>最初に定義されたCSS水準</dt>
<dd>CSS3</dd>
</dl>
<p>フォントの関係で「～」に見えるかもしれないですが、「~ (チルダ)」です。同じ親要素の中の兄弟関係の要素に対して、兄要素「E」の<strong>後</strong>の弟要素「F」に適用されます。「E + F」との違いは<strong>直後</strong>（隣接）にFがあるのか、<strong>後</strong>（隣接してなくてもいい）にFがあるのか。「E + F」は直後にFがある場合にマッチするが、こちらの「E ~ F 」は「直」後でなくても同じ親要素の中に存在する限り「後」にあればマッチする。「間接セレクタ」とも呼ばれている。</p>
<h4>使い方・使い道について</h4>
<p>#sample1の中で、2つ目以降のh4要素にだけ上マージンを指定する例。</p>
<pre class="short"><code>h4 {
	color:#fff;
	background:#900;
	margin:0 auto;
	}
#sample1 h4 ~ h4 {
	margin:30px auto 0;
	}</code></pre>
<p>「E + F」のところで強引にやったネタ、こちらの「E ~ F」でも同じことできますね。なんせこの2つは兄弟関係にある要素に対してうまい事使えば、htmlソース内のclassやidをかなり使わずに済むようにしてくれる素晴らしい人達だと思います。</p>
<p class="note02"><a href="http://redline.hippy.jp/redline_sample/1005/EF_sample3.php" target="_blank">&gt;&gt;サンプルページを確認</a></p> 
<hr />
<h3 class="tit_h3">その他の備考</h3>
<p>「E:contains("foo") (内容擬似クラス)」と「E::selection (UI要素の断片擬似要素)」は翻訳版にはあったのですが、最新版の方では<q>This section intentionally left blank.(This section previously defined a ●●)</q>となってたので、現時点ではなくなってるみたいなのでスルーしました。</p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/RedlineMagazine?a=8aooMte3_Xo:PF_IIqX9UkY:OAQBO0PjnPA"><img src="http://feeds.feedburner.com/~ff/RedlineMagazine?d=OAQBO0PjnPA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/RedlineMagazine?a=8aooMte3_Xo:PF_IIqX9UkY:spdCosxkSQE"><img src="http://feeds.feedburner.com/~ff/RedlineMagazine?d=spdCosxkSQE" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/RedlineMagazine?a=8aooMte3_Xo:PF_IIqX9UkY:s9VDnicYSUo"><img src="http://feeds.feedburner.com/~ff/RedlineMagazine?i=8aooMte3_Xo:PF_IIqX9UkY:s9VDnicYSUo" border="0"></img></a>
</div>
    ]]>
    </description>
    <link>http://feedproxy.google.com/~r/RedlineMagazine/~3/8aooMte3_Xo/css_20105.php</link> 
    <pubDate>Mon, 10 May 2010 13:59:15 +0900</pubDate>
   </item>
  <item>
    <title>楽しんでくださいね</title> 
    <description>
    <![CDATA[
    ゴールデンウィークだからクライアントも休みのところも多いし、ゴールデンウィークも営業中のクライアントは逆に忙しいから、という理由で今回の連休中は急ぎの作業もないだろうと高を括っていたら、昨日突撃メールがきて焦った。

ゴールデンウィークが終わってからの差替...
    ]]>
    </description>
    <link>http://blog.livedoor.jp/red_line/archives/51731189.html</link> 
    <pubDate>Tue, 04 May 2010 11:14:38 +0900</pubDate>
   </item>
  <item>
    <title>ただの日記</title> 
    <description>
    <![CDATA[
    ゴールデンウィーク中も我が家は旦那さんは仕事、子供は野球の練習・・・と家族がみなさんお忙しそうで、まったく『休み』という感じがしません＞＜

街には人が溢れているの？交通機関は混んでいるの？
ほとんど家から出ていないので、状況がまったくわからないんだぜ！

と...
    ]]>
    </description>
    <link>http://blog.livedoor.jp/red_line/archives/51730215.html</link> 
    <pubDate>Sun, 02 May 2010 09:42:59 +0900</pubDate>
   </item>
  <item>
    <title>子供が先日小学校に入学しまして・・・。</title> 
    <description>
    <![CDATA[
    とりあえず無事に入学してくれてよかった。ホっとしました。

幼稚園と違って、送り迎えがない分、随分と楽になるんですねぇ。なんだか生活が落ち着いた様な気がします。時間的に。

幼稚園のお迎えとか行くとね、「やだ。まだ帰らない！公園で友達と遊ぶ！」みたいな恒例行...
    ]]>
    </description>
    <link>http://blog.livedoor.jp/red_line/archives/51723113.html</link> 
    <pubDate>Fri, 16 Apr 2010 09:47:42 +0900</pubDate>
   </item>
  <item>
    <title>DW用 CSS3対応セレクタコードヒント</title> 
    <description>
    <![CDATA[
    <p><ins><strong>2010.04.04追記</strong><br />
このエントリ書いて寝て起きたら修正版が出てた！仕事速い！このエントリの下の方で属性セレクタがなんたらかんたら…と書いてる部分に対して、修正してくださってます。</ins></p>
<p class="note02"><ins><a href="http://dwlog.net/2010/04/cssselectorupdate.html" target="_blank">CSSセレクターコードヒント修正 - dwlog.net</a><br />
（「 [ 」 を入れたら属性セレクタが出てくるようになったバージョン）</ins></p>
<p><ins>が、しかし、今度は「：」を押しても反応がなくなったので作者さんのブログにコメント送ってみたところなう。(2010.04.04 10:58)</ins></p>
<p><ins><strong>2010.04.04 12:19 さらに追記　自己解決</strong><br />
上に書いた「：」を入れても反応しないの件、<strong>Configuration/CodeHints/css_selector.xml</strong>の50行目辺りに&lt;menu pattern=&quot;:&quot; DOCTYPES=&quot;CSS&quot;&gt;に対する閉じタグ<strong>&lt;/menu&gt;</strong>を追加したらちゃんと反応してくれました(n' ω 'n)  </ins></p>
<p>追記ここまで。以下が元の本文です。</p>
<hr />
<p>先日までDreamweaverのコードヒントはこちらの<a href="http://homepage.mac.com/akira_maru/fireworks/indexdw.html" target="_blank">「Dreamweaver スペシャルコードヒント」</a>を利用させて頂いてたんですが、下記のエントリを発見して、種類増えてる！すごいじゃん！と勢いで入れてみました。</p>
<p class="note02"><a href="http://dwlog.net/2010/03/cssselector-codehint.html" target="_blank">CSSセレクターをDreamweaverのコードヒントで出せるようになりました。 - dwlog.net</a></p>
<p>CSS3で定義されたセレクタに対応しているという点にすごく惹かれたのですよ。上記ページにて、mxp形式のファイルがダウンロードできるので、インストールも楽々でした。</p>
<h3 class="tit_h3">こんな感じ。いい感じ。</h3>
<p class="entry_box01"><img src="http://redline.hippy.jp/images/100403_02.png" alt="キャプチャ画像・エディタ" /></p>
<p class="entry_box04">「：」を入れると、CSS3で追加になったセレクタもドーンといっぱい出てくる。わーい。</p>
<p class="clear">あと、個人的には属性セレクタ書くのがめんどくさいなーと感じてたので、同じく「：」を入れるだけでパパっと出てくるのがとても助かります。</p>
<p class="entry_box01"><img src="http://redline.hippy.jp/images/100403_01.png" alt="キャプチャ画像・エディタ" /></p>
<p class="entry_box04">「：」押してキーボードの「↑」をポチっと押すと（選択肢の一番下へ移動ってこと）属性セレクタの選択がズラーと。</p>
<h4 class="clear">ここで素朴な疑問</h4>
<p><ins><strong>2010.04.04追記</strong><br />
以下の内容については作者さんがすでに修正してくださってます(∩´∀｀)∩</ins></p>
<p>これって「：」で属性セレクタ呼んだ後、「：」は自分で消してるんですが、みんなそうなるんやんね？私だけが「：」が残るとか、他の人は「 [ 」を押したら属性セレクタ出てくるのに私だけそれが出ないとか、そういう不運に見舞われてるわけじゃないやんね？？</p>
<h3 class="tit_h3">スニペットもあったよ！</h3>
<p>あと、こちらのサイトの方はそのコードヒントを作成される前にセレクタを全部スニペットにもまとめてらっしゃって・・・。セレクタ愛ですね。</p>
<p class="note02"><a href="http://dwlog.net/2010/03/csssnippets-extention.html" target="_blank">CSSセレクターをDreamweaverのスニペットにまとめました。 - dwlog.net</a></p>
<p>実は最初こっちをインストールしてたんですが、こちらもこちらで便利なのでオススメです。使い分け用に。</p>
<h3 class="tit_h3">CSS3で追加になったセレクタ</h3>
<p>CSS3で追加になったセレクタについては<a href="http://twitter.com/mersy" target="_blank">まーしーさん</a>のこちらのエントリが分かりやすかったです。</p>
<p class="note02"><a href="http://linker.in/journal/2010/03/css3.php" target="_blank">CSS3で追加になったセレクタを改めて見直してみる｜linker journal｜linker</a></p>
<p>あと、一応<a href="http://redline.hippy.jp/lab/css/css3_target.php">当サイトのこのページ</a>でも擬似クラスと擬似要素のまとめみたいなの書いたのでよかったら…。表の部分の備考に「これとこれは同じ」という事も書いてるので、「なんか種類多いけど重複してね？」とかの確認はできると思いますです。</p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/RedlineMagazine?a=rRQskxrcN9M:ovlOnunpVGc:OAQBO0PjnPA"><img src="http://feeds.feedburner.com/~ff/RedlineMagazine?d=OAQBO0PjnPA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/RedlineMagazine?a=rRQskxrcN9M:ovlOnunpVGc:spdCosxkSQE"><img src="http://feeds.feedburner.com/~ff/RedlineMagazine?d=spdCosxkSQE" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/RedlineMagazine?a=rRQskxrcN9M:ovlOnunpVGc:s9VDnicYSUo"><img src="http://feeds.feedburner.com/~ff/RedlineMagazine?i=rRQskxrcN9M:ovlOnunpVGc:s9VDnicYSUo" border="0"></img></a>
</div>
    ]]>
    </description>
    <link>http://feedproxy.google.com/~r/RedlineMagazine/~3/rRQskxrcN9M/dw_css3.php</link> 
    <pubDate>Sat, 03 Apr 2010 21:33:11 +0900</pubDate>
   </item>
  <item>
    <title>近況とか。CSS,PHP雑記の巻。</title> 
    <description>
    <![CDATA[
    <p>しばらく更新を怠ってたので、なんか書こうかなーと。<br />
最近のもろもろ。雑記。日記。チラシの裏とも言う。</p>
<h3 class="tit_h3">CSS関連　雑記</h3>

<h4>IE三兄弟にモヤモヤしてた。</h4>
<p>検証ブラウザにIE8を含まなくちゃならなくなってから、IE6.7.8のIE三兄弟の対応にイライラすることも多々。「MSブラウザ、1つ増えたら1つ消えろや」と声を大にして言いたい。兄弟みんなが微妙に違うっていうケースにも遭遇してハックで凌いでみたり。よくないよね。メンテナンス性悪いなー、汚いなー、そもそもそうしなくちゃならないのって根本的にデザイン or 組み方がおかしいからだろー、とか自分で思いながらもそうせざるを得ない状況で悔し涙を流したり。そんでもってもうIE9の話とか出てきてるし。</p>
<h4>IE8、ガッタンゴットンスパイラル</h4>
<p>これはだいぶ前の話だけど、IE8で思い出した。昔作ったサイトをIE8で見直したらhover時に周りの要素がガッタンゴットン動くという気持ち悪い症状が出てきたん。<br />
<a href="http://twitter.com/hira" target="_blank">Hirasawaさん</a>がいなかったら即死だった。</p>
<p class="note02"><a href="http://css-happylife.com/log/bug/000743.shtml" target="_blank">IE8バグ？：a要素内に画像があってa要素に背景を指定した時に位置がずれる｜CSS HappyLife</a></p>
<p>上記ページのようなリストマーカーの表示が消えるという症状ではなかったんですが、a要素の中にimg要素があって、a要素にbackgroundプロパティの指定がしてある状態で、該当画像の上でhover状態にすると周りの画像がガッタンゴットンと上下にズレてしまうという…なんよコレｗｗｗｗみたいな状況になってしまって。</p>
<p>そりゃね、画像が他ブラウザと比べて数ピクセルずれてるくらいならスルーでいいと思うんですよ。が、如何せんガッタンゴットンするのは「仕様です」で済まないので上記ページの解説通り、display: inline-block; を追加することで回避。いやー、助かりました。ありがとうございました。</p>
<h4>大切な事なのでもう一度言いますね。</h4>
<p>「Hirasawaさんがいなかったら即死だった」＝「a要素の中にimg要素があって、a要素にbackgroundプロパティの指定がしてある状態でIE8だけ変」＝「display: inline-block;」</p>
<p>物事を連想させて記憶するのって大切ですＮｅ！</p>
<h3 class="tit_h3">PHP関連　雑記</h3>
<h4>最近ついにcakePHPに手を出しました。</h4>
<p>「今PHPのフレームワークやるなら<a href="http://cakephp.jp/" target="_blank">cakePHP</a>だよ！」と言われ続けて早数ヶ月。実はずーっと前に一回手元でチュートリアルに沿ってブログを作ったことはあるんだけど、その後どうしよ？という段階で終わってたん。もうちょっと自分でなんやかんやできるように頑張る。今は「ヘルパースゲーーーーーーーｗｗｗｗ」ってなってるとこ。便利ですね。いや、まぁ大事なのはそこじゃないんだけれども。</p>
<p>こういうの手にとって見て、一通りチュートリアルが終わった後に「デザインをカスタマイズするにはどこをいじればいんかな」と、まずその確認から始めてしまうのは悲しいデザイナのＳＡＧＡなのでしょうね。デザインカスタマイズができるかできないかで安心度が違うというかなんというか。</p>
<p>cakePHPはネット上にいろいろ情報があって素敵。難しそうなのは相変わらずスルーしてますが、自分レベルでも学べる事がたくさんある。先人様、ありがとう。</p>
<p>が、如何せん、「何がしたい」とか「これ作りたい」とかいう目的が的確に浮かばず、先人の真似してるだけっていう状態。いずれその壁を越えてみせるぜ。相手がPHPなら人間じゃないんだ、僕だって！</p>
<h4>cakePHP・・・ついでにDreamweaverの設定も。</h4>
<p>PHPやるならEclipseのPDT使うといいですよ、と前にコメント頂いてて、とりあえず環境の用意はしたんですが、なんとなく使い慣れたDWを使っちゃうというか、多分それで事足りる内容しかやってないからだと思うんですが、相変わらずDreamweaverでやってます。</p>
<p>cakePHPのview用ファイルって拡張子がデフォのままだと.ctpじゃないですか。なので、そのままだとDWで開くのがめんどくさい。とりあえず「編集」&gt;「環境設定」&gt;「ファイルタイプ」で.ctpをコードビューで開くファイルとして設定したものの、コードのカラーリングが適応されないので見難い。ということで…。</p>
<p class="note02"><a href="http://labs.cybridge.jp/2009/11/cakephp-ctp.html" target="_blank">DreamweaverでCakePHPの.ctpファイルを色づけして表示する方法/Dreamweaver - サイブリッジラボ</a></p>
<p>上記ページで説明されてる通りに設定。これでctpファイルも見易くなりました。ついでにまだ試してないんですが、viewファイルの拡張子をctp以外にすることも可能なんだって。</p>
<p class="note02"><a href="http://d.hatena.ne.jp/cakephper/20090205/1233809420" target="_blank">ctp以外の拡張子ファイルをviewファイルとして扱う - cakephperの日記(cakePHP1.2ベース)</a></p>
<p>いろいろ出来るんですなぁ…。</p>
<h4>セキュリティとか気になって…</h4>
<p>セキュリティ関連の話はとても気になってるんです。どうせいつかは考えなきゃならない問題なら早いうちに分かっておきたいと思ってこの本買ってみました。</p>
<p class="note02"><a href="http://www.amazon.co.jp/exec/obidos/ASIN/4883374718/redline0c-22/ref=nosim/" target="_blank">PHPサイバーテロの技法―攻撃と防御の実際</a></p>
<p>まだ48ページまでしか読んでないんですが、知らない事大杉。とにかく最後まで読んでみて自分に出来ることはちゃんとしたい。ちゃんとする。これ全部理解したらブクマでつっこみ入れられるレベルになれるかなぁ。そういうのちょっと憧れてる。</p>
<h4>画像のサムネイルを表示するライブラリ使ってみた</h4>
<p>画像のアップロード → 確認画面でアップロードした画像をサムネイルにしてプレビューしたいっていうのがやりたかったこと。その中でサムネイルを効率よく作る方法で迷ってたら<a href="http://www.hido.net/projects/phpThumbnailer/" target="_blank">「phpThumbnailer」</a>っていうライブラリを発見。</p>
<p class="note02"><a href="http://phpspot.org/blog/archives/2007/02/phpphpthumbnail.html" target="_blank">PHPで画像のサムネイルを超簡単に作る方法「phpThumbnailer」:phpspot開発日誌</a></p>
<p><q>PHP+GDな画像のサムネイル作成って結構面倒だったりしますが、配布されているThumbnail クラスを使えば超簡単にサムネイルが作れます。</q>と書かれていたので「マジかよ!」と思って試したらガチで簡単だったので感動しました。</p>
<p>とりあえず、まずはファイルをダウンロードする。</p>
<p class="note02"><a href="http://www.hido.net/projects/phpThumbnailer/" target="_blank">Index of /projects/phpThumbnailer</a></p>
<p>ダウンロードしたファイルを開くといろいろとサンプルが同梱されてて、ソースを見ると本当にシンプルで「これなら私でも簡単にできるんじゃないか」とテンションが上がった。ただ、同梱されてるサンプルページをプレビューした瞬間、なんかホラーな事が起こったかと焦った。本気で一瞬焦った。何を言ってるのか分からねーと思うが、とにかく焦ったわ。</p>
<p>使い方は「class.Thumbnail.php」を読み込んで、あとは元画像、最大幅、最大高さ、パーセントの引数を指定してオブジェクトを作るだけというシンプルさ。これなら私レベルでも手軽に使える。助かるー。</p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/RedlineMagazine?a=ZkLlBAhzCkM:SoMWz-w66x8:OAQBO0PjnPA"><img src="http://feeds.feedburner.com/~ff/RedlineMagazine?d=OAQBO0PjnPA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/RedlineMagazine?a=ZkLlBAhzCkM:SoMWz-w66x8:spdCosxkSQE"><img src="http://feeds.feedburner.com/~ff/RedlineMagazine?d=spdCosxkSQE" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/RedlineMagazine?a=ZkLlBAhzCkM:SoMWz-w66x8:s9VDnicYSUo"><img src="http://feeds.feedburner.com/~ff/RedlineMagazine?i=ZkLlBAhzCkM:SoMWz-w66x8:s9VDnicYSUo" border="0"></img></a>
</div>
    ]]>
    </description>
    <link>http://feedproxy.google.com/~r/RedlineMagazine/~3/ZkLlBAhzCkM/cssphp.php</link> 
    <pubDate>Sat, 03 Apr 2010 21:11:14 +0900</pubDate>
   </item>
</channel>
</rss>
