<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="http://feeds.feedburner.com/~d/styles/rss2full.xsl" type="text/xsl" media="screen"?><?xml-stylesheet href="http://feeds.feedburner.com/~d/styles/itemcontent.css" type="text/css" media="screen"?><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:creativeCommons="http://backend.userland.com/creativeCommonsRssModule" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>CSS Radar</title>
	
	<link>http://css.studiomohawk.com</link>
	<description>CSS Tips and Tricks Sometimes with jQuery</description>
	<pubDate>Fri, 12 Dec 2008 17:08:27 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<creativeCommons:license>http://creativecommons.org/licenses/by/3.0/</creativeCommons:license><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/CssRader" type="application/rss+xml" /><item>
		<title>CSS省略スタイル - CSSの正しい書き方</title>
		<link>http://feeds.feedburner.com/~r/CssRader/~3/482861934/</link>
		<comments>http://css.studiomohawk.com/49/cssshorthandguide/#comments</comments>
		<pubDate>Fri, 12 Dec 2008 17:06:16 +0000</pubDate>
		<dc:creator>Yuya</dc:creator>
		
		<category><![CDATA[CSS]]></category>

		<category><![CDATA[tips]]></category>

		<guid isPermaLink="false">http://css.studiomohawk.com/?p=49</guid>
		<description><![CDATA[CSS省略スタイルを利用すれば、数行に渡るコードがたった一行で書き終える。非常に楽だ。
楽をすることにかけてはどんな苦労もいとわない。
そんな私のような人間にはぴったりなCSS省略スタイルについて紹介しよう。]]></description>
			<content:encoded><![CDATA[<h3>2. CSS省略スタイルを活用して、短く、楽に書く</h3>
<pre class="syntax-highlight:css">
p {
	margin-top: 10px;
	margin-right: 10px;
	margin-bottom: 10px;
	margin-left: 10px;
}
</pre>
<p>marginやpadding、border-widthなどボックスディメンション系のスタイルでは、それぞれtop、right、bottom、leftと4つのプロパティを上記の様に指定しても、</p>
<pre class="syntax-highlight:css">
p {
	margin: 10px;
}
</pre>
<p>このように、1行で指定しても、同じ意味となる。</p>
<p>4行のコードがたった一行。<br />
私は非常に面倒くさがりなので、楽をすることにかけてはどんな苦労もいとわない。<br />
そんな私のような人間にはぴったりなCSS省略スタイルについて紹介しよう。</p>
<p>さて、それでは、</p>
<pre class="syntax-highlight:css">
p {
	margin: 10px 20px 30px;
}
</pre>
<p>この様に書いた場合はどうなるか？<br />
<strong>左から、top(10px)、rightとleft(20px)、そしてbottom(30px)</strong><br />
となる。</p>
<pre class="syntax-highlight:css">
p {
	margin: 10px 20px;
}
</pre>
<p>では、2つの場合は？<br />
<strong>左から、topとbottom(10px)、rightとleft(20px)。</strong><br />
となる。</p>
<p>では、4つの場合、どのような順番で書けばいいのか？<br />
top、right、bottom、leftの順番となるので、<br />
海外では<br />
<strong>Trouble</strong><br />
<strong>T</strong>(op)<strong>R</strong>(ight)ou<strong>B</strong>(ottom)<strong>L</strong>(eft)e<br />
と覚えるとよく言われるが、英語がネイティブかそれに近くしくないとピンとこないかもしれない。<br />
そんな場合は、<br />
top: 12時、right: 3時、bottom: 6時、left: 9時。<br />
という風に、時計に置き換えてみるとわかりやすい。</p>
<p><strong>border</strong><br />
borderにも省略スタイルを適応することができる。</p>
<pre class="syntax-highlight:css">
div {
	border-width: 1px;
	border-style: solid;
	border-color: #000;
}
</pre>
<p>この3行は</p>
<pre class="syntax-highlight:css">
div {
	border:1px solid #000;
}
</pre>
<p>というように一行にまとめることができる。</p>
<p><strong>border: 幅 スタイル 色;</strong><br />
多くのブラウザは省略スタイルの順番を無視するが、私はいつも上記の順番で書くことにしている。<br />
W3Cの仕様書にてそのように記述されているのを真似ている。</p>
<p>borderにも、border-widthというプロパティがある。<br />
先ほどのディメンション系と同じ仕様で</p>
<pre class="syntax-highlight:css">border-width:1px 2px 3px 4px;</pre>
<p>という記述になる。</p>
<p>borderでよくあるスタイルに</p>
<pre class="syntax-highlight:css">
div {
	border-right: 1px solid #000;
	border-left: 1px solid #000;
}
</pre>
<p>というように、左右にのみborderを適応させたい場合がある。<br />
このスタイルは</p>
<pre class="syntax-highlight:css">
div {
	border: 1px solid #000;
	border-width: 0 1px;
}
</pre>
<p>という様に書き換えることもできる。<br />
まず、一行目ですべてのborderを１px、solidで色は黒としてから<br />
2行目でその内、topとbottomの幅を0にスタイルし直す。</p>
<p>ラベルとして、画像をトップに配置して残りはborderで囲みたいという場合、</p>
<pre class="syntax-highlight:css">
div {
	border-right: 1px solid #000;
	border-bottom: 1px solid #000;
	border-left: 1px solid #000;
}
</pre>
<p>と記述する代わりに</p>
<pre class="syntax-highlight:css">
div {
	border: 1px solid #000;
	border-width: 0 1px 1px 1px;
}
</pre>
<p>プログラミングでよく言われる<strong>DRY</strong>、Don&#8217;t repeat yourselfの法則に乗っ取って、<br />
スマートに記述すれば、デバッグも楽になる。</p>
<p><strong>background</strong></p>
<pre class="syntax-highlight:css">
div {
	background-color: #f00;
	background-image: url(background.gif);
	background-repeat: no-repeat;
	background-attachment: fixed;
	background-position: 0 0;
}
</pre>
<p>非常に多くのプロパティがある、backgroundだが、こんな時こそ、</p>
<pre class="syntax-highlight:css">
div {
	background: #f00 url(background.gif) no-repeat fixed 0 0;
}
</pre>
<p>省略スタイルの真価が問われる。</p>
<p>backgroundでもやはり、<br />
<strong>background: 色 画像 リピート アタッチメント 位置;</strong><br />
順番は問われることはないはずだが、上記の順に書くことにしている。</p>
<p><strong>li</strong><br />
リストにもやはり、</p>
<pre class="syntax-highlight:css">
li {
	list-style-type: square;
	list-style-position: inside;
	list-style-image: url(image.gif);
}
</pre>
<p>省略スタイルがある。</p>
<pre class="syntax-highlight:css">
li {
	list-style: square inside url(image.gif);
}
</pre>
<p>こちらも、<br />
<strong>list-style: リストタイプ 位置 画像;</strong><br />
という順番に書くことにしている。</p>
<p><strong>最後にfont</strong><br />
もっとも難解ながら、省略スタイルを持つ、もっともプロパティが多いのがfont。</p>
<pre class="syntax-highlight:css">
p {
	font-style: italic;
	font-variant: small-caps;
	font-weight: bold;
	font-size: 1em;
	line-height: 140%;
	font-family: &quot;Lucida Grande&quot;,sans-serif;
}
</pre>
<p>ということは</p>
<pre class="syntax-highlight:css">
p {
	font: italic small-caps bold 1em/140% &quot;Lucida Grande&quot;,sans-serif;
}
</pre>
<p>一番やりがいのある省略スタイルでもある。<br />
今回紹介した中でも、やはり一番見かけることの少ない省略スタイル。<br />
私も含めてだが、有効に活用していきたい。</p>
<p>一気に紹介してしまったが、情報としてまとまっていた方がわかりやすいはずなので、<br />
ご了承を。</p>
<p>次回はCSSのフォーマットについて紹介したい。</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~f/CssRader?a=1LGBO"><img src="http://feeds.feedburner.com/~f/CssRader?i=1LGBO" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/CssRader?a=Q1cUo"><img src="http://feeds.feedburner.com/~f/CssRader?i=Q1cUo" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/CssRader/~4/482861934" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://css.studiomohawk.com/49/cssshorthandguide/feed/</wfw:commentRss>
		<feedburner:origLink>http://css.studiomohawk.com/49/cssshorthandguide/</feedburner:origLink></item>
		<item>
		<title>CSSの役割分担＆コメント - CSSの正しい書き方</title>
		<link>http://feeds.feedburner.com/~r/CssRader/~3/474720655/</link>
		<comments>http://css.studiomohawk.com/43/writecssbetter/#comments</comments>
		<pubDate>Thu, 04 Dec 2008 14:53:14 +0000</pubDate>
		<dc:creator>Yuya</dc:creator>
		
		<category><![CDATA[CSS]]></category>

		<category><![CDATA[practice]]></category>

		<guid isPermaLink="false">http://css.studiomohawk.com/?p=43</guid>
		<description><![CDATA[レイアウト、フォント、カラー……、CSSドキュメントには実に様々な要素が存在する。
プロジェクトの度にCSSの文書構造が異なっていたのでは、メンテナンス性は最低の上、デバッグも困難になる。
今回、私がCSSを実装する際に心がけているメンテナンス性を向上させる5つのポイントを紹介しよう。
]]></description>
			<content:encoded><![CDATA[<p>レイアウト、フォント、カラー……、CSSドキュメントには実に様々な要素が存在する。<br />
プロジェクトの度にCSSの文書構造が異なっていたのでは、メンテナンス性は良くないし、余計にコードを追加することになる、そしてデバッグも大変だ。<br />
今回、私がCSSを実装する際に心がけているメンテナンス性を向上させる5つのポイントを紹介しよう。</p>
<h3>1. CSSの役割分担＆コメント</h3>
<p>まず、CSSドキュメントが1つで済みそうな規模の場合、例えば個人サイトやブログのCSSなどの場合は、そのドキュメント内で上手にコメントを利用することをおすすめする。<br />
また、CSS内に目次をつけておくと自分以外のデベロッパーにも、どこにスタイルを追加すればよいのかわかりやすくなる。</p>
<pre class="syntax-highlight:css">
/* TABLE OF CONTENTS
-----------------------------------------------
	0 = GLOBAL
	1 = LINKS
	2 = HEADINGS
	3 = HEADER
	4 = NAVIGATION
	5 = MAIN
	6 = SIDEBAR
	7 = FOOTER
/* 

/* 0 = GLOBAL
----------------------------------------------- */
/* 1 = LINKS
----------------------------------------------- */
/* 2 = HEADINGS
----------------------------------------------- */
/* 3 = HEADER
----------------------------------------------- */
/* 4 = NAVIGATION
----------------------------------------------- */
/* 5 = MAIN
----------------------------------------------- */
/* 6 = SIDEBAR
----------------------------------------------- */
/* 7 = FOOTER
----------------------------------------------- */
</pre>
<p>上記はあくまでも一例。<br />
また、私の場合<strong>CSSの構造はマークアップ言語の構造に限りなく近い状態</strong>にしておくようにしている。</p>
<p>上記でMAINというセクションがあるが、ここには多くの場合、相当量のスタイルを加えるセクションなので<br />
インデントなどを活用し、</p>
<pre class="syntax-highlight:css">
/* 5 = MAIN
----------------------------------------------- */
	/* 5-1 = ARTICLE
	----------------------------------------------- */
	/* 5-2 = RELATED LINK
	----------------------------------------------- */
	/* 5-3 = COMMENT
	----------------------------------------------- */
</pre>
<p>というようにするとよいだろう。<br />
だだしサブセクションは一つのインデント分くらいで止めておかなければ、読みづらくなってしまうので、<br />
さらに多くのスタイルが必要な場合は、@importで別ファイルにするほうがいいだろう。</p>
<p>次回は<a href="http://css.studiomohawk.com/49/cssshorthandguide/">CSSの省略スタイルの利用について</a>紹介しよう。</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~f/CssRader?a=TMCgO"><img src="http://feeds.feedburner.com/~f/CssRader?i=TMCgO" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/CssRader?a=UFCUo"><img src="http://feeds.feedburner.com/~f/CssRader?i=UFCUo" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/CssRader/~4/474720655" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://css.studiomohawk.com/43/writecssbetter/feed/</wfw:commentRss>
		<feedburner:origLink>http://css.studiomohawk.com/43/writecssbetter/</feedburner:origLink></item>
		<item>
		<title>CSSスプライトとは？</title>
		<link>http://feeds.feedburner.com/~r/CssRader/~3/366547047/</link>
		<comments>http://css.studiomohawk.com/30/css-sprites/#comments</comments>
		<pubDate>Sat, 16 Aug 2008 14:31:49 +0000</pubDate>
		<dc:creator>Yuya</dc:creator>
		
		<category><![CDATA[CSS]]></category>

		<category><![CDATA[performance]]></category>

		<category><![CDATA[tips]]></category>

		<guid isPermaLink="false">http://css.studiomohawk.com/?p=30</guid>
		<description><![CDATA[CSSスプライトってご存知ですか？
Yahoo！のパフォーマンス改善チームにも推奨されている手法で、CSSのコードもスマートに読みやすくなる、一石二鳥のテクニック。

さらに、ちょっと面倒な値を設定や画像の生成を手伝ってくれるオンラインツールも紹介しよう。]]></description>
			<content:encoded><![CDATA[<p>CSSスプライトという言葉を聞いたことがあるだろうか？<br />
ナビゲーションなどで画像を利用した際にマウスオーバーで画像を切り替えるという効果を加えるのによく利用される手法だ。</p>
<p>その昔はJavaScriptを利用していたが、CSSのbackground-position属性の位置情報を変更することで、CSSで置き換えることが一般的になった。<br />
CSSスプライトが紹介される以前は、通常時とマウスオーバー時の画像を対にしてスライスする手法が主だったが、<br />
CSSスプライトではさらに一歩進め、ナビゲーション全体で利用する通常時、マウスオーバー時の画像を1枚の画像にしてしまい、やはりCSSにより必要な画像を表示させる。</p>
<h3>なぜCSSスプライト？</h3>
<p>CSSスプライトはなぜこれまでの手法よりも優れているのだろうか？<br />
大きな1枚画像はページのロード時間を、複数に分けるより遅くしないだろうのか？</p>
<p>実はほとんどのウェブサイトではおよそ20％をHTMLのロードに、残り80%を画像やCSS、JavaScriptなどのコンポーネントをロードするのに時間がかかっている。</p>
<p>Yahoo!のパフォーマンス改善チームのTenni Theurerによると、<br />
HTTPのリクエスト回数を減らすことが、パフォーマンスの改善にもっとも効果的である、そうだ。</p>
<p>つまり、複数枚にスライスされた大きな画像は、それぞれの画像のロードに時間がかからないというだけで、<br />
ページ全体で考えると複数のHTTPリクエストを生むことになり、結果的にページのロードに時間がかかることになる。</p>
<h3>では、コードを。</h3>
<pre class="syntax-highlight:html">
&lt;div class=&quot;navi&quot;&gt;
    &lt;ul&gt;
        &lt;li&gt;&lt;a href=&quot;#1&quot; class=&quot;home&quot;&gt;&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href=&quot;#2&quot; class=&quot;yourCategory1&quot;&gt;&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href=&quot;#3&quot; class=&quot;yourCategory2&quot;&gt;&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href=&quot;#4&quot; class=&quot;yourCategory3&quot;&gt;&lt;/a&gt;&lt;/li&gt;
    &lt;/ul&gt;
&lt;/div&gt;
</pre>
<p>例として、HTMLは上記を利用する。</p>
<pre class="syntax-highlight:css">
div.navi li a {
    background-image:url(../img/image_nav.gif);
    /* スプライト画像の呼び出し */
}
    div.navi li .home {
        background-position: 0px 0px;
    }
    div.navi li.home a:hover.home  {
        background-position: 0px -32px;
    }
    ......
</pre>
<p>最後の方は省略したが、アイデアは理解できるだろう。<br />
Aタグにスプライト画像を背景として呼び出し、<br />
各li a.homeなどの部分でその背景の必要な部分を読み込む。<br />
という考え方だ。</p>
<p>対になるように画像をスライスするよりはCSSのコード自体もすっきりする。<br />
ナビゲーション以外にも、ブロックごとのアイコンの表示などにも利用でき、意外と利用範囲は広い。</p>
<p>List Apartの<a href="http://www.alistapart.com/articles/sprites">CSS Sprites: Image Slicing’s Kiss of Death</a>や、CSS-Tricksの<a href="http://css-tricks.com/css-sprites-what-they-are-why-theyre-cool-and-how-to-use-them/">CSS Sprites: What They Are, Why They’re Cool, and How To Use Them<br />
</a>にて、いくつかの例を見ることが出来る。</p>
<h3>でも、background-positionの値が面倒そう……</h3>
<p>その部分は確かに面倒だ。<br />
そんな面倒を解決してくれるのが、<br />
<a href="http://website-performance.org/">Website Performance</a>にて公開されている、<a href="http://spritegen.website-performance.org/">CSS Sprite Generator</a>。</p>
<p>このオンラインツールは、スライスした画像をZipファイルにしてアップロードすると、<br />
スプライト画像を作成してくれる上に、面倒なbackground-positionの値を指定も出力してくれる。<br />
さらに、Operaでのバグの修正までしてくれるし、CSSのクラス名の指定もかなり自由度の高い形でできる。</p>
<p>その上、ソースコード(PHP)まで公開され、BSDライセンスにて自由に利用できるので、オフライン時でも利用できる。<br />
サイト自体は英語が主だが、翻訳を募集していたので、先日翻訳してファイルを送信した。<br />
近い内に日本語でも利用可能にしてくれることだろう。</p>
<p><ins datetime="2008-08-22T16:29:08+00:00"><br />
2008-8-23、日本語訳の実装が終了したようです。<br />
もし、妙な日本語になっている場合はご指摘ください。</p>
<p>ヘルプページとCSSスプライトとは？ページの翻訳のお願いも作者からいただきましたので、<br />
合わせて翻訳します。<br />
</ins></p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~f/CssRader?a=kOjBO"><img src="http://feeds.feedburner.com/~f/CssRader?i=kOjBO" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/CssRader?a=WS25o"><img src="http://feeds.feedburner.com/~f/CssRader?i=WS25o" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/CssRader/~4/366547047" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://css.studiomohawk.com/30/css-sprites/feed/</wfw:commentRss>
		<feedburner:origLink>http://css.studiomohawk.com/30/css-sprites/</feedburner:origLink></item>
		<item>
		<title>CSSでカラムのheightを合わせる</title>
		<link>http://feeds.feedburner.com/~r/CssRader/~3/359608672/</link>
		<comments>http://css.studiomohawk.com/26/columns-height-equal-with-css/#comments</comments>
		<pubDate>Fri, 08 Aug 2008 17:39:17 +0000</pubDate>
		<dc:creator>Yuya</dc:creator>
		
		<category><![CDATA[CSS]]></category>

		<category><![CDATA[layout]]></category>

		<category><![CDATA[tips]]></category>

		<guid isPermaLink="false">http://css.studiomohawk.com/?p=26</guid>
		<description><![CDATA[複数カラムを採用する場合のそれぞれのカラムの高さが同じにならない。
CSSレイアウトでよく出会うこんな不満。
Tableレイアウトにしてしまう前に、シンプルな解決を紹介。]]></description>
			<content:encoded><![CDATA[<p>Tableレイアウトをしていた時代に簡単にできたことがCSSでできない。<br />
いまだにフルCSSへ移行できないという場合によくあるのが、複数カラムを採用する場合のそれぞれのカラムの高さが同じにならないこと。<br />
Tableレイアウトでは、基本的にはTDの高さはもっとも高いTDに合わせるという状態なので、とくに意識せずとも実現できたが、CSSではそうはいかない。</p>
<h3>CSSでカラムheightを合わせる方法</h3>
<p><a href="http://css.studiomohawk.com/wp-content/uploads/2008/08/noteq.gif"><img src="http://css.studiomohawk.com/wp-content/uploads/2008/08/noteq.gif" alt="" title="noteq" width="300" height="318" class="image alignleft size-full wp-image-37" /></a>通常CSSでは左図のように、mainカラムとsidebarカラムの高さは合わない。それぞれのカラムがもつ内容がそれぞれのカラムの高さを決めるからだ。</p>
<p>通常であれば、それぞれの高さが異なっていても気にならないが、背景画像がある場合や、カラムごとに異なる背景色を敷いている場合などレイアウトの基本構造的に「ケツをあわせ」ないと気になる。</p>
<p><strong>まずはHTMLから</strong></p>
<pre class="syntax-highlight:html">&lt;div id=”container”&gt;
    &lt;div class=”main”&gt;メインカラム&lt;/div&gt;
    &lt;div class=”sidebar”&gt;サイドバー&lt;/div&gt;
&lt;/div&gt;</pre>
<p>このように、高さを合わせたいカラムをタグで囲むことになるが、<a href="http://css.studiomohawk.com/10/clearing-float-without-extra-markup/">clearfixする</a>必要があるので、追加のタグにはならないだろう。</p>
<p><strong>それではCSS</strong></p>
<pre class="syntax-highlight:css">#container {
width:340px;
height:auto;
overflow:hidden;
}
#container .main {
float:left;
width:160px;
padding-bottom: 30000px;
margin-bottom: -30000px;
}
#container .sidebar {
float:right;
width:160px;
padding-bottom: 30000px;
margin-bottom: -30000px;
}</pre>
<p>としてやればOK。</p>
<p>それぞれのカラムに対して、padding−bottomを絶対安全と思えるくらい追加し、その分をmargin-bottomで割り引く。<br />
これら2つのカラムを#containerで囲み、overflow:hiddenしてやる。</p>
<p>いわずもがなだが、.mainや.sidebarにmarginやpaddingの他の値を入れたい場合には注意が必要だ。</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~f/CssRader?a=ayh7O"><img src="http://feeds.feedburner.com/~f/CssRader?i=ayh7O" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/CssRader?a=Y5tFo"><img src="http://feeds.feedburner.com/~f/CssRader?i=Y5tFo" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/CssRader/~4/359608672" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://css.studiomohawk.com/26/columns-height-equal-with-css/feed/</wfw:commentRss>
		<feedburner:origLink>http://css.studiomohawk.com/26/columns-height-equal-with-css/</feedburner:origLink></item>
		<item>
		<title>IE ダブルマージンフロートバグをFix</title>
		<link>http://feeds.feedburner.com/~r/CssRader/~3/347132018/</link>
		<comments>http://css.studiomohawk.com/23/ie-double-margin-bug-fix/#comments</comments>
		<pubDate>Sun, 27 Jul 2008 03:50:04 +0000</pubDate>
		<dc:creator>Yuya</dc:creator>
		
		<category><![CDATA[CSS]]></category>

		<category><![CDATA[bugfix]]></category>

		<category><![CDATA[ie]]></category>

		<guid isPermaLink="false">http://css.studiomohawk.com/?p=23</guid>
		<description><![CDATA[floatした要素に対して、同じ方向にmarginを与えると、marginが2倍になってしまう。
という、IEにおける不可解なバグ。

レイアウトに欠かすことのできないfloatで、迷い込みやすいこのバグの修正方法を紹介。]]></description>
			<content:encoded><![CDATA[<p>Internet Explorer 5、5.5、6にもっとも不可解とも言えるバグがある。<br />
それが、ダブルマージンフロートバグ。</p>
<h3>ダブルマージンフロートバグとは？</h3>
<p>floatした要素に対して、同じ方向にmarginを与えると、marginが2倍になってしまう。<br />
というバグ。<br />
<img src="http://css.studiomohawk.com/wp-content/uploads/2008/07/doublemargin.gif" alt="" title="doublemargin" width="500" height="166" class="alignnone size-full wp-image-24" /><br />
図解すると上記の様になる。</p>
<pre class="syntax-highlight:css">.content {
    float: left;
    margin-left: 30px;
}</pre>
<p>というようにすると、IE5〜6では</p>
<pre class="syntax-highlight:css">.content {
    float: left;
    margin-left: 60px;
}</pre>
<p>というように解釈される、ということだ。</p>
<p>見落としがちなのは、margin: 10px 0 0 30px；というように省略式で書いた場合。<br />
もちろん、この場合もmargin-left部分の値は倍になってしまう。</p>
<h3>修正方法</h3>
<p>修正は意外と簡単。</p>
<pre class="syntax-highlight:css">.content {
    float: left;
    margin-left: 30px;
}</pre>
<p>この例の場合なら、</p>
<pre class="syntax-highlight:css">.content {
    float: left;
    margin-left: 30px;
    display: inline;
}</pre>
<p>というように、display: inline;を追加すれば解決する。</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~f/CssRader?a=ov9lO"><img src="http://feeds.feedburner.com/~f/CssRader?i=ov9lO" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/CssRader?a=J3SCo"><img src="http://feeds.feedburner.com/~f/CssRader?i=J3SCo" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/CssRader/~4/347132018" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://css.studiomohawk.com/23/ie-double-margin-bug-fix/feed/</wfw:commentRss>
		<feedburner:origLink>http://css.studiomohawk.com/23/ie-double-margin-bug-fix/</feedburner:origLink></item>
		<item>
		<title>コンディショナルコメント</title>
		<link>http://feeds.feedburner.com/~r/CssRader/~3/341605453/</link>
		<comments>http://css.studiomohawk.com/20/conditional-comments/#comments</comments>
		<pubDate>Mon, 21 Jul 2008 14:56:32 +0000</pubDate>
		<dc:creator>Yuya</dc:creator>
		
		<category><![CDATA[CSS]]></category>

		<category><![CDATA[hack]]></category>

		<category><![CDATA[ie]]></category>

		<guid isPermaLink="false">http://css.studiomohawk.com/?p=20</guid>
		<description><![CDATA[アンダースコア(_)ハック、ハイフン(-)ハック、voice-familyハック、バックスラッシュ(/)ハック、スターHTMLハック(* html)など、様々なハックが利用できなくなったIE7。

そんな新時代に覚えておきたいコンディショナルコメントについて解説。]]></description>
			<content:encoded><![CDATA[<p>すでに承知の通り、IE7ではそれまで利用できたIEのCSSの読み込み(パース)バグによるCSSハックを台無しにしてくれた。</p>
<p>例えば、アンダースコア(_)ハック、ハイフン(-)ハック、voice-familyハック、バックスラッシュ(/)ハック、スターHTMLハック(* html)など、様々なハックが利用できなくなった。</p>
<p>マイクロソフトはこれらハックの使用を抑制し、その代わりにコンディショナルコメントの使用を推奨している。<br />
コンディショナルコメントはIEでのみパースされるコメントで、IE5以上であれば動作する。</p>
<h3>コンディショナルコメントとは</h3>
<pre class="syntax-highlight:html">
&lt;!--[if IE ]&gt;
  &lt;link href=&quot;iecss.css&quot; rel=&quot;stylesheet&quot; type=&quot;text/css&quot;&gt;
&lt;![endif]--&gt;
</pre>
<p>というようなコメントを指す。<br />
上記のコードだと、もしIEであれば、iecss.cssをロードするという命令になる。</p>
<p>もちろんHTMLのコメントであるため、CSS文書内では利用できない。<br />
つまり、IE7に対して何らかのCSSハックを行う場合は、別のCSSを用意しなければならない。</p>
<p>先ほどの例だとIEに対して全て、という命令になるがIE7だけに限定したい場合は、</p>
<pre class="syntax-highlight:html">
&lt;!--[if IE7 ]&gt;
  &lt;link href=&quot;iecss7.css&quot; rel=&quot;stylesheet&quot; type=&quot;text/css&quot;&gt;
&lt;![endif]--&gt;
</pre>
<p>とすればいい。</p>
<p>IE5〜IE６まではiecss5-6.cssを、IE7はiecss6.cssを読み込みたいという場合は</p>
<pre class="syntax-highlight:html">
&lt;!--[if lte IE 6]&gt;
  &lt;link href=&quot;iecss5-6.css&quot; rel=&quot;stylesheet&quot; type=&quot;text/css&quot;&gt;
&lt;![endif]--&gt;
&lt;!--[if lte IE 7]&gt;
  &lt;link href=&quot;iecss7.css&quot; rel=&quot;stylesheet&quot; type=&quot;text/css&quot;&gt;
&lt;![endif]--&gt;
</pre>
<p>とすればいい。<br />
[if lte IE 6]は、IE6未満に対して〜という意味だ。<strong>lte</strong>はLess Than or Equalの略。</p>
<p>ちなみに</p>
<pre class="syntax-highlight:html">
&lt;!--[if (IE 5)|(IE 5.5)|(IE 6)]&gt;
  &lt;link href=&quot;iecss5-6.css&quot; rel=&quot;stylesheet&quot; type=&quot;text/css&quot;&gt;
&lt;![endif]--&gt;
&lt;!--[if lte IE 7]&gt;
  &lt;link href=&quot;iecss7.css&quot; rel=&quot;stylesheet&quot; type=&quot;text/css&quot;&gt;
&lt;![endif]--&gt;
</pre>
<p>というようにしても同じ意味だ。若干面倒なので、普段はこんなことはする必要はないだろう。<br />
<strong>｜</strong>はORという意味だ。</p>
<p>ほかにも、</p>
<ul>
<li><strong>gte</strong>(greater-than or equalの略、以上か同じ場合という意)</li>
<li><strong>!</strong>(Notオペレーター、でない場合という意)</li>
</ul>
<p>というオペレーターも存在する。</p>
<p>実はIE7だけをターゲットにするCSSハックも存在するが、どのハックもCSSバリデートしない。<br />
例えば、</p>
<pre class="syntax-highlight:css">&gt;body {}</pre>
<p>はIE7のみをターゲットにできるし、</p>
<pre class="syntax-highlight:css">html* {}</pre>
<p>ならIE7未満すべてをターゲットできる。</p>
<p>はたまた</p>
<pre class="syntax-highlight:css">*:first-child+html {}</pre>
<p>というのもIE7のみで、</p>
<pre class="syntax-highlight:css">*:first-child+html {} * html {}</pre>
<p>ならIE7未満すべて。</p>
<p>もちろん、IE8になったときにこれらハックが通用するかどうかは定かではない。<br />
IE7のデビュー時にそれまで様々利用してきたハック達を修正するのに苦労した私はマイクロソフトの推奨に準拠して、コンディショナルコメントを利用することをオススメする。</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~f/CssRader?a=xpbcO"><img src="http://feeds.feedburner.com/~f/CssRader?i=xpbcO" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/CssRader?a=vicWo"><img src="http://feeds.feedburner.com/~f/CssRader?i=vicWo" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/CssRader/~4/341605453" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://css.studiomohawk.com/20/conditional-comments/feed/</wfw:commentRss>
		<feedburner:origLink>http://css.studiomohawk.com/20/conditional-comments/</feedburner:origLink></item>
		<item>
		<title>CSS セレクター - もし宣言が重複したら？</title>
		<link>http://feeds.feedburner.com/~r/CssRader/~3/371966952/</link>
		<comments>http://css.studiomohawk.com/13/css-selecter-specificity/#comments</comments>
		<pubDate>Fri, 18 Jul 2008 22:53:28 +0000</pubDate>
		<dc:creator>Yuya</dc:creator>
		
		<category><![CDATA[CSS]]></category>

		<category><![CDATA[selector]]></category>

		<guid isPermaLink="false">http://css.studiomohawk.com/?p=13</guid>
		<description><![CDATA[CSSの宣言が重複したら？

CSSの仕様のうちでもっとも強力な概念だろうセレクター。
今回はそのセレクターの仕様中の、もし宣言が重複したら、どの宣言が優先されるのかを判断する方法を紹介しよう。]]></description>
			<content:encoded><![CDATA[<h3>セレクターとは？</h3>
<p>CSSセレクターとはHTML文書中、どのタグにスタイルを宣言するかを確定させるための仕様。<br />
この仕様をしっかりと理解しないと、IDやクラスだらけで、セマンティックとはほど遠いマークアップを書かなければならなくなり、同時にCSSも無駄にセレクターが並んでしまって、可搬性や可読性に欠けるCSSとなってしまう。</p>
<p>今回はそのセレクターの仕様の内、もし宣言が重複したら、どの宣言が優先されるのかを判断する方法を紹介しよう。</p>
<h3>CSS宣言の優先順位づけ</h3>
<p>CSSの宣言はまず、</p>
<ol>
<li>タグ内にstyle=&#8221;"</li>
<li>head内にstyle</li>
<li>linkで外部呼び出し</li>
</ol>
<p>上から順に優先順位が高い。</p>
<p>つまり、style.cssというファイルで仮に<br />
h2 { color: red; }<br />
として、<br />
style<br />
h2 { color: blue; }<br />
/style<br />
と宣言し、さらに<br />
h2 style=&#8221;color: black;&#8221;<br />
とすると、このh2のフォントカラーは黒になる。</p>
<h3>では、本題のCSSセレクターの計算式</h3>
<p>#ID = 100<br />
.class = 10<br />
tag = 1</p>
<p>というように数字を割り当て、足し上げで<strong>数が多いほうが優先</strong>される。<br />
例外は!important。!importantは、先ほどの記述場所による優先順位も、計算による優先順位も無視して、最優先される。</p>
<p><strong>例1:</strong> </p>
<ul>
<li>#ID div.class ul li = 100 + 1 + 10 + 1 + 1 = 113</li>
<li>#Id div.class li = 100 + 1 + 10 + 1 = 112</li>
</ul>
<p>記述ミスのようにみえるくらい、同じタグに対して宣言しているが、この様に書いた場合、上の例の方が優先されるわけだ。<br />
ではもう1例紹介しよう。</p>
<p><strong>例2:</strong> </p>
<ul>
<li>#ID #Second = 100 + 100 = 200</li>
<li>#ID .class div.class a.class = 100 + 1 + 10 + 1 + 10 = 122</li>
</ul>
<p>とてもシンプルな考え方なので、何度か自分でもセレクターを<br />
数字に置き換えてみると覚えてしまうだろう。</p>
<p>テキストばかりでピンとこない場合は、<br />
<a href="http://www.stuffandnonsense.co.uk/archives/css_specificity_wars.html">CSS: Specificity Wars</a><br />
Star Warsになぞらえて、ビジュアルで解説しているのはこちら。</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~f/CssRader?a=qs0pO"><img src="http://feeds.feedburner.com/~f/CssRader?i=qs0pO" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/CssRader?a=shR8o"><img src="http://feeds.feedburner.com/~f/CssRader?i=shR8o" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/CssRader/~4/371966952" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://css.studiomohawk.com/13/css-selecter-specificity/feed/</wfw:commentRss>
		<feedburner:origLink>http://css.studiomohawk.com/13/css-selecter-specificity/</feedburner:origLink></item>
		<item>
		<title>Min-height &amp; Min-width IEバグFix</title>
		<link>http://feeds.feedburner.com/~r/CssRader/~3/328057406/</link>
		<comments>http://css.studiomohawk.com/12/min-height-min-width-ie-bug-fix/#comments</comments>
		<pubDate>Sun, 06 Jul 2008 13:15:50 +0000</pubDate>
		<dc:creator>Yuya</dc:creator>
		
		<category><![CDATA[CSS]]></category>

		<category><![CDATA[hack]]></category>

		<guid isPermaLink="false">http://css.studiomohawk.com/?p=12</guid>
		<description><![CDATA[IE(IE7も含む)にはmin-height、min-widthという非常に便利な属性が存在しない。
ボックスモデルバグをはじめとするIEの数々のバグの中でもかなりやっかいなバグであることは間違いない。

非常に便利なmin-height、そしてついでにmin-widthの属性をIEでもきちんと設定できるようになるバグFixを紹介。]]></description>
			<content:encoded><![CDATA[<p>IE(IE7も含む)にはmin-height、min-widthという非常に便利な属性が存在しない。<br />
ボックスモデルバグをはじめとするIEの数々のバグの中でもかなりやっかいなバグであることは間違いない。</p>
<p>とくに動的なサイトを構築する際に、ある特定のブロック要素を最低でも×px以上確保しておきたいという場合など、<br />
min-heightが活躍する場面は枚挙に暇がない。</p>
<p>そんな便利なmin-height、そしてついでにmin-widthの属性をIEでもきちんと設定できるようになるバグFixを紹介。</p>
<p>とても簡単なバグFixなのでちょっと拍子抜けするかもしれない。</p>
<pre class="syntax-highlight:css">selector {
  min-height:500px;
  height:auto !important;
  height:500px;
}</pre>
<p>コードの説明を加える必要もないくらいシンプルな方法だ。<br />
min-heightを設定したい要素に上記のように設定してやればOK。<br />
もちろん、高さの指定は自由だ。</p>
<p>min-widthのほうもまったく同じ</p>
<pre class="syntax-highlight:css">selector {
  min-width:500px;
  width:auto !important;
  width:500px;
}</pre>
<p>参考サイト<br />
<a href="http://www.dustindiaz.com/min-height-fast-hack/">Min-Height Fast Hack</a></p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~f/CssRader?a=wVKoO"><img src="http://feeds.feedburner.com/~f/CssRader?i=wVKoO" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/CssRader?a=HCo4o"><img src="http://feeds.feedburner.com/~f/CssRader?i=HCo4o" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/CssRader/~4/328057406" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://css.studiomohawk.com/12/min-height-min-width-ie-bug-fix/feed/</wfw:commentRss>
		<feedburner:origLink>http://css.studiomohawk.com/12/min-height-min-width-ie-bug-fix/</feedburner:origLink></item>
		<item>
		<title>CSSのみでFloatをクリアする - Clearfix</title>
		<link>http://feeds.feedburner.com/~r/CssRader/~3/326787305/</link>
		<comments>http://css.studiomohawk.com/10/clearing-float-without-extra-markup/#comments</comments>
		<pubDate>Fri, 04 Jul 2008 17:12:46 +0000</pubDate>
		<dc:creator>Yuya</dc:creator>
		
		<category><![CDATA[CSS]]></category>

		<category><![CDATA[float]]></category>

		<category><![CDATA[hack]]></category>

		<guid isPermaLink="false">http://css.studiomohawk.com/?p=10</guid>
		<description><![CDATA[CSSレイアウト手法の中でもっとも利用されるfloatは、非常に脆弱で多くのバグを全てのブラウザが抱えている。

そんな中でももっとも頭を抱えるのは、要素のheightが子要素に含まれるfloatのheightと連動しないバグ。
このバグ修正としてもっとも優れたclearfixクラスの紹介とその解説。]]></description>
			<content:encoded><![CDATA[<p>クリアする必要のあるdivなどにclass=&#8221;clearfix&#8221;を追加すれば、<br />
HTMLに{ clear: both }を設定したClassやbr clear=&#8221;all&#8221;などを追加することなくFloatをクリアできる。</p>
<pre class="syntax-highlight:css">
.clearfix { display: inline-block; }
.clearfix:after {
     clear: both;
     content: &quot; &quot;;
     display: block;
     font-size: 0;
     height: 0;
     visibility: hidden;
     }
/* start commented backslash hack \*/
* html .clearfix { height: 1%; }
.clearfix { display: block; }
/* close commented backslash hack */
</pre>
<h3>なぜFloatはクリアしなければならないのか？</h3>
<p>Floatした要素をクリアする要因はいくつかあるが、ここではコラムレイアウトを実現するためのFloatをクリアする理由を説明しよう。</p>
<p>例えば2コラムレイアウトをCSSで作成するために</p>
<pre class="syntax-highlight:html">&lt;div id=&quot;header&quot;&gt;&lt;/div&gt;

&lt;div id=&quot;container&quot;&gt;
  &lt;div id=&quot;left&quot;&gt;&lt;/div&gt;
  &lt;div id=&quot;main&quot;&gt;&lt;/div&gt;
  &lt;div id=&quot;right&quot;&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;div id=&quot;footer&quot;&gt;&lt;/div&gt;</pre>
<p>というようなHTMLとなったとする。<br />
仮にdiv#leftにfloat:left;、div#rightにfloat:right;を指定したとする。</p>
<ul>
<li>親要素(Parent Element)が例のように子要素(Child Element)にfloat要素のみを含む</li>
<li>div#containerには高さをあらかじめ設定できない(ブログなどは通常設定できない)</li>
</ul>
<p>そんな場面はよくあるが、<br />
この場面でdiv#containerはクリアしなければ、div#containerのheightは子要素のheightと連動しない。<br />
div#containerが単なるボックスである場合、このバグには気がつかないが、背景を敷いていたり、ボーダーを引いていたりすると、表示がおかしくなってしまう(Mozilla系ブラウザバグ)。<br />
<img src="http://css.studiomohawk.com/wp-content/uploads/2008/07/heightzero.gif" alt="" title="heightzero" width="500" height="114" /><br />
具体的には上図のような状態になる。</p>
<h3>.clearfixの説明</h3>
<p>それでは、10数行のCSSがこの仕様にどのように対応しているのか見ていこう。</p>
<ol>
<li>display: inline-block;はIE/Macにおいて、widthを指定しないでfloatするとwidth:100%と同等に指定されるbugを修正。</li>
<li>.clearfix:after〜では擬似クラス:afterを利用し、content: &#8221; &#8220;;でスペースを挿入、そのスペースを、display:blockでブロック要素化(clearはブロックでなければ適応できない)、そしてclear:bothでクリア。念のため、font-size: 0;、height: 0、visibility:hidden;で追加したスペースが余分なスペース表示とならないように設定。(擬似クラスはIEではサポートしていない)</li>
<li>コメントバックスラッシュハックを利用しIE/Macから次行以降をコメントアウト</li>
<li>IEのみを対象に(スターHTMLハック)、height: 1%;でIEで子要素がfloat要素をのみを含む場合でも親要素のheightを調整する仕様を動作させる(ホーリーハック)、このハックはIEの<a href="http://www.adobe.com/cfusion/communityengine/index.cfm?event=showdetails&#038;postId=3645&amp;productId=1&amp;loc=ja">ギロチンバグ</a>も修正する。</li>
<li>1行目で指定したdisplay: inline-block;を IE/Winにて{display: block;}で上書きする</li>
</ol>
<p><strong>参考サイト</strong></p>
<ul>
<li><a href="http://www.positioniseverything.net/easyclearing.html">How To Clear Floats Without Structural Markup</a></li>
<li><a href="http://perishablepress.com/press/2008/02/05/lessons-learned-concerning-the-clearfix-css-hack/">Lessons Learned Concerning the Clearfix CSS Hack</a></li>
<li><a href="http://www.smashingmagazine.com/2007/05/01/css-float-theory-things-you-should-know/">CSS Float Theory: Things You Should Know</a></li>
<li><a href="http://css.maxdesign.com.au/floatutorial/">Floatutorial</a></li>
</ul>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~f/CssRader?a=WePhO"><img src="http://feeds.feedburner.com/~f/CssRader?i=WePhO" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/CssRader?a=uACzo"><img src="http://feeds.feedburner.com/~f/CssRader?i=uACzo" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/CssRader/~4/326787305" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://css.studiomohawk.com/10/clearing-float-without-extra-markup/feed/</wfw:commentRss>
		<feedburner:origLink>http://css.studiomohawk.com/10/clearing-float-without-extra-markup/</feedburner:origLink></item>
		<item>
		<title>CSSを習得するために必要なリソース群</title>
		<link>http://feeds.feedburner.com/~r/CssRader/~3/330872532/</link>
		<comments>http://css.studiomohawk.com/9/css-books-and-resources/#comments</comments>
		<pubDate>Sun, 29 Jun 2008 15:00:17 +0000</pubDate>
		<dc:creator>Yuya</dc:creator>
		
		<category><![CDATA[CSS]]></category>

		<category><![CDATA[book]]></category>

		<guid isPermaLink="false">http://css.studiomohawk.com/?p=9</guid>
		<description><![CDATA[CSSを学ぶために必要なリソース群。

残念ながら日本語圏におけるCSSに関する情報は多くはない。
そんな中でもオススメのサイトと書籍を紹介。

もし他にもおすすめの書籍があれば、コメントにて。]]></description>
			<content:encoded><![CDATA[<h3>CSS辞典</h3>
<p>実は私はCSSの辞典を一冊も買ったことがない。<br />
CSSとHTMLに関しては、ウェブの辞書を利用することが多い。<br />
何しろどちらの開発期間中もブラウザは開きっぱなしだからだ。</p>
<p>そんな際よく利用するのが、<br />
<a href="http://reference.sitepoint.com/css">SitePoint CSS Reference</a><br />
英語のサイトだが、実際に自分で操作できるLiveデモやHackの紹介もあり、かなり詳細な仕様に関してもわかりやすく紹介されている。<br />
プロパティ名での検索も可能で、ふと忘れしてしまった文法などを調べたりする。</p>
<p>日本語圏では、<a href="http://www.openspc2.org/CSS/">スタイルシート リファレンス</a>や<a href="http://www.tohoho-web.com/css/index.htm">とほほのスタイルシート入門</a>などで代替できるはず。</p>
<h3>CSS仕様詳細</h3>
<ul>
<li><a name="evtst|a|4873112192" href="http://www.amazon.co.jp/CSS%E3%82%AF%E3%83%83%E3%82%AF%E3%83%96%E3%83%83%E3%82%AF%E2%80%95Web%E3%83%87%E3%82%B6%E3%82%A4%E3%83%B3%E3%81%AE%E3%81%9F%E3%82%81%E3%81%AE%E6%B4%BB%E7%94%A8%E3%83%86%E3%82%AF%E3%83%8B%E3%83%83%E3%82%AF%E9%9B%86-%E3%82%AF%E3%83%AA%E3%82%B9%E3%83%88%E3%83%95%E3%82%A1%E3%83%BC-%E3%82%B7%E3%83%A5%E3%83%9F%E3%83%83%E3%83%88/dp/4873112192%3FSubscriptionId%3D02E5W5871AJF7PMMMS82%26tag%3Dstudiomohaw0f-22%26linkCode%3Dxm2%26camp%3D2025%26creative%3D165953%26creativeASIN%3D4873112192">CSSクックブック―Webデザインのための活用テクニック集</a></li>
<li><a name="evtst|a|487311232X" href="http://www.amazon.co.jp/CSS%E5%AE%8C%E5%85%A8%E3%82%AC%E3%82%A4%E3%83%89-%E3%82%A8%E3%83%AA%E3%83%83%E3%82%AF%E3%83%BB-%E3%83%A1%E3%82%A4%E3%83%A4/dp/487311232X%3FSubscriptionId%3D02E5W5871AJF7PMMMS82%26tag%3Dstudiomohaw0f-22%26linkCode%3Dxm2%26camp%3D2025%26creative%3D165953%26creativeASIN%3D487311232X">CSS完全ガイド</a></li>
</ul>
<p>2冊とも若干古いバージョンながら、オライリーらしくかなりマニアックな部分にも言及している。<br />
初心者がいきなり購入すると挫折しかねないくらいのマニアックぶりなので、中上級者向け。</p>
<p>私自身はウェブでCSSの基本を学び、この2冊を何度も繰り返し読み返した。とくにEric Meyer著のCSS完全ガイドに関しては、最新版である3rdエディションも洋書で購入した。<br />
残念ながら3rdエディションはまだ日本語版が発売されていないが、2ndエディションでも十分な知識を得ることができるだろう。</p>
<p>初心者はまず、<a name="evtst|a|4798111414" href="http://www.amazon.co.jp/%E6%A8%99%E6%BA%96Web%E3%83%87%E3%82%B6%E3%82%A4%E3%83%B3%E8%AC%9B%E5%BA%A7-%E3%82%B9%E3%82%BF%E3%82%A4%E3%83%AB%E3%82%B7%E3%83%BC%E3%83%88-%E5%A4%A7%E8%97%A4-%E5%B9%B9/dp/4798111414%3FSubscriptionId%3D02E5W5871AJF7PMMMS82%26tag%3Dstudiomohaw0f-22%26linkCode%3Dxm2%26camp%3D2025%26creative%3D165953%26creativeASIN%3D4798111414">標準Webデザイン講座 スタイルシート (標準Webデザイン講座)</a>などの実践的な本を購入し、実際にコーディングをしながら基礎を学ぶことが最短だろう。</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~f/CssRader?a=u3iyO"><img src="http://feeds.feedburner.com/~f/CssRader?i=u3iyO" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/CssRader?a=Qbt4o"><img src="http://feeds.feedburner.com/~f/CssRader?i=Qbt4o" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/CssRader/~4/330872532" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://css.studiomohawk.com/9/css-books-and-resources/feed/</wfw:commentRss>
		<feedburner:origLink>http://css.studiomohawk.com/9/css-books-and-resources/</feedburner:origLink></item>
	</channel>
</rss>
