<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	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:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>jmblog.jp &#187; css</title>
	<atom:link href="http://jmblog.jp/archives/tag/css/feed" rel="self" type="application/rss+xml" />
	<link>http://jmblog.jp</link>
	<description></description>
	<lastBuildDate>Mon, 05 Jul 2010 05:02:13 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>IEで絶対配置（position:absolute）のボックスが消えるバグの検証</title>
		<link>http://jmblog.jp/archives/180</link>
		<comments>http://jmblog.jp/archives/180#comments</comments>
		<pubDate>Mon, 22 Oct 2007 16:46:14 +0000</pubDate>
		<dc:creator>Yoshihide</dc:creator>
				<category><![CDATA[webdesign, design]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[ie]]></category>

		<guid isPermaLink="false">http://jmblog.jp/archives/180</guid>
		<description><![CDATA[先日、友達の依頼で XHTML+CSS のコーディングをしていたところ、position:absolute を指定したボックスが Win版IE6 でのみ表示されないという現象に出くわしました。あちこち調べてみたところ、かなり厄介な IE のバグのようで、消えるときの条件がいろいろあることがわかったので、整理してみたいと思います。

まず最初に見つけたのが、以下のサイト。
&#187; IEで position:absolute した要素が消えるバグ
こちらで紹介されているのは、float と clear にはさまれた position:absolute が消えてしまう現象とその対策。でも、私がはまったケースでは、position:abloslute の前には float がありません。紹介されているように clear を追加してみても当然ダメ。う～ん、なぜだ・・・
日本語のリソースを調べてみても解決策が全然見つからないので、英語のリソースを探してみたところ、ずばりなページを発見しました。
&#187; IE/Win: Disappearing position:absolute boxes near to floats and clears
なかなか興味深い内容だったので、このページをもとに自分でもテストをしてみました。その結果をまとめたのがこちらです。
&#187; Win/IEで絶対配置（position: absolute）のボックスが消えるバグの検証ページ
（なお、内容がほぼ同じということで、公開にあたってオリジナルページの作者である Bruno  Fassino 氏にメールで許可を求めたところ、快諾とともにいくつかアドバイスまでいただきました。あらためて感謝いたします。Thanks Bruno! ）
整理すると、次のケースで position:absolute のボックスが消えるようです。

position:absolute が float と hasLayout をもつ clear の直前に存在する場合。
position:absolute が float と hasLayout をもつ clear との間に存在する場合。
position:absolute が [...]]]></description>
			<content:encoded><![CDATA[<p>先日、友達の依頼で XHTML+CSS のコーディングをしていたところ、<strong>position:absolute を指定したボックスが Win版IE6 でのみ表示されない</strong>という現象に出くわしました。あちこち調べてみたところ、かなり厄介な IE のバグのようで、消えるときの条件がいろいろあることがわかったので、整理してみたいと思います。</p>
<p><span id="more-180"></span></p>
<p>まず最初に見つけたのが、以下のサイト。</p>
<p>&raquo; <a href="http://pinotan.blog15.fc2.com/blog-entry-195.html" target="_blank">IEで position:absolute した要素が消えるバグ</a></p>
<p>こちらで紹介されているのは、float と clear にはさまれた position:absolute が消えてしまう現象とその対策。でも、私がはまったケースでは、position:abloslute の前には float がありません。紹介されているように clear を追加してみても当然ダメ。う～ん、なぜだ・・・</p>
<p>日本語のリソースを調べてみても解決策が全然見つからないので、英語のリソースを探してみたところ、ずばりなページを発見しました。</p>
<p>&raquo; <a href="http://www.brunildo.org/test/IE_raf3.html" target="_blank">IE/Win: Disappearing position:absolute boxes near to floats and clears</a></p>
<p>なかなか興味深い内容だったので、このページをもとに自分でもテストをしてみました。その結果をまとめたのがこちらです。</p>
<p>&raquo; <a href="http://jmblog.jp/misc/disappearance-of-an-absolute-positioned-box-in-win-ie/index.ja.html" target="_blank">Win/IEで絶対配置（position: absolute）のボックスが消えるバグの検証ページ</a></p>
<p>（なお、内容がほぼ同じということで、公開にあたってオリジナルページの作者である Bruno  Fassino 氏にメールで許可を求めたところ、快諾とともにいくつかアドバイスまでいただきました。あらためて感謝いたします。Thanks Bruno! ）</p>
<p>整理すると、次のケースで position:absolute のボックスが消えるようです。</p>
<ul>
<li>position:absolute が float と hasLayout をもつ clear の直前に存在する場合。</li>
<li>position:absolute が float と hasLayout をもつ clear との間に存在する場合。</li>
<li>position:absolute が width:100% の float の直前に存在する場合。（IE6以下のみ）</li>
<li>position:absolute が width:100% の float の直後に存在する場合。（IE6以下のみ）</li>
</ul>
<p>それぞれの対策はいろいろあるので、詳しくは<a href="http://jmblog.jp/misc/disappearance-of-an-absolute-positioned-box-in-win-ie/index.ja.html" target="_blank">テスト結果のページ</a>をご確認ください。オリジナルにはないものもいくつか存在しています。なお、hasLayout についてはこのあたりが詳しいです。</p>
<p>&raquo; <a href="http://coliss.com/articles/build-websites/operation/css/143.html" target="_blank">IEでのCSSのバグを回避するhasLayout | コリス</a><br />
&raquo; <a href="http://labs.unoh.net/2007/09/what-is-haslayout.html" target="_blank">ウノウラボ Unoh Labs: hasLayoutとは何か</a></p>
<p>しかし、IE はいろいろと厄介ですねぇ・・・</p>
<h4>おまけ</h4>
<p>日本語でこの問題を取り扱っているサイトがあまりないのはなぜでしょうね？position:absolute をあまり使わないからそもそも出くわさないとか？みんな position が苦手なのかなぁ。ちなみに私も最初はちんぷんかんぷんでしたが、<a href="http://www.amazon.co.jp/gp/redirect.html?ie=UTF8&#038;location=http%3A%2F%2Fwww.amazon.co.jp%2F%25E5%25AE%259F%25E8%25B7%25B5Web-Standards-Design%25E2%2580%2595Web%25E6%25A8%2599%25E6%25BA%2596%25E3%2581%25AE%25E5%259F%25BA%25E6%259C%25AC%25E3%2581%25A8CSS%25E3%2583%25AC%25E3%2582%25A4%25E3%2582%25A2%25E3%2582%25A6%25E3%2583%2588-Tips-%25E5%25B8%2582%25E7%2580%25AC%2Fdp%2F4861671647%3Fie%3DUTF8%26s%3Dbooks%26qid%3D1190899008%26sr%3D8-1&#038;tag=0755-22&#038;linkCode=ur2&#038;camp=247&#038;creative=1211">ホップ本</a>（<a href="http://www.amazon.co.jp/gp/product/4774136840?ie=UTF8&#038;tag=0755-22&#038;linkCode=as2&#038;camp=247&#038;creative=7399&#038;creativeASIN=4774136840">再出版バージョン</a>）で完全に使いこなすことが出来るようになりました。えっへん。</p>
]]></content:encoded>
			<wfw:commentRss>http://jmblog.jp/archives/180/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>:link、:visited、:hover、:active の記述順序とその覚え方</title>
		<link>http://jmblog.jp/archives/179</link>
		<comments>http://jmblog.jp/archives/179#comments</comments>
		<pubDate>Thu, 27 Sep 2007 14:51:42 +0000</pubDate>
		<dc:creator>Yoshihide</dc:creator>
				<category><![CDATA[webdesign, design]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[tips]]></category>

		<guid isPermaLink="false">http://jmblog.jp/archives/179</guid>
		<description><![CDATA[スタイルシートでa要素のリンクのデザインをする際に、次のように4つの擬似クラスを用いることが多いと思います。
a:link &#123; color: blue; &#125;
a:visited &#123; color: purple; &#125;
a:hover &#123; color: red; &#125;
a:active &#123; color: yellow; &#125;
実はこの4つの擬似クラスの記述順序には注意が必要で、上記のように link、visited、hover、active の順番で記述しないと意図した結果にならなかったりします。この順序についてちょっと調べてみたので、まとめてみたいと思います。

なぜこの順番じゃなければダメなのか？
実践Web Standards Design（通称ホップ本）には、次のように書かれています。

:hover擬似クラスと:active擬似クラスは一連の動作であるので、スタイルシート内でもこの順番で記述しないと有効にならない点に注意してください。
「3章&#160;3.3/CSS管理のコツ」より


擬似クラスの記述順序には注意が必要です。（略）常に最後の指定で上書きされるということに注意し、link、visited、hover、active の順番で記述しておくと問題ないでしょう。逆に、すでに訪問済みのリンクは背景画像を変えたくないということであれば、visited を最後に記述するとよいでしょう。
「7章&#160;16/背景画像を利用して訪問済みリンクを一工夫する」より

擬似クラスの記述順序にルールがあるというのを知ったのは、実はこの本がきっかけでした。それまでは「hover が効かない！」とか「訪問済みのリンクの色が変わらない！」とかいった問題に出くわしてハマッた経験が何度かあったので、書く順番が原因だったことがわかったときは思わず「そうだったのか！」とひざを打ってしまいました。
で、勢いづいてもう少し調べてみると、CSS の権威である Eric Meyer 氏のサイトでも同じ内容に関する解説を見つけました。
&#187; Link Specificity &#8211; meyerweb.com
カンタンにまとめてみると、

セレクタの固有性（specificity）は4つとも同じ。
なので、最後に書かれたものから優先的に適用される。
例えば、link、active、hover、visited の順番で記述しているとすると・・・
未訪問リンクの場合は、active を hover が打ち消すので active は無効になる。
従って、active は hover の後ろに記述しなければならない。
訪問済みリンクの場合は、active も hover も一番最後の visited が打ち消してしまって無効になる。
従って、visited は hover や active の前に記述しなければならない。
つまり、link、visited、hover、active の順番で書くべし。
ちなみに、link と visited は打ち消しあうことがないので順番はどっちでもOK。
link [...]]]></description>
			<content:encoded><![CDATA[<p>スタイルシートでa要素のリンクのデザインをする際に、次のように4つの擬似クラスを用いることが多いと思います。</p>
<div class="codecolorer-container css blackboard" style="overflow:auto;white-space:nowrap;border: 1px solid #9F9F9F;width:435px;"><div class="css codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">a<span style="color: #3333ff;">:link </span><span style="color: #00AA00;">&#123;</span> <span style="color: #000000; font-weight: bold;">color</span><span style="color: #00AA00;">:</span> <span style="color: #000000; font-weight: bold;">blue</span><span style="color: #00AA00;">;</span> <span style="color: #00AA00;">&#125;</span><br />
a<span style="color: #3333ff;">:visited </span><span style="color: #00AA00;">&#123;</span> <span style="color: #000000; font-weight: bold;">color</span><span style="color: #00AA00;">:</span> <span style="color: #993333;">purple</span><span style="color: #00AA00;">;</span> <span style="color: #00AA00;">&#125;</span><br />
a<span style="color: #3333ff;">:hover </span><span style="color: #00AA00;">&#123;</span> <span style="color: #000000; font-weight: bold;">color</span><span style="color: #00AA00;">:</span> <span style="color: #993333;">red</span><span style="color: #00AA00;">;</span> <span style="color: #00AA00;">&#125;</span><br />
a<span style="color: #3333ff;">:active </span><span style="color: #00AA00;">&#123;</span> <span style="color: #000000; font-weight: bold;">color</span><span style="color: #00AA00;">:</span> <span style="color: #993333;">yellow</span><span style="color: #00AA00;">;</span> <span style="color: #00AA00;">&#125;</span></div></div>
<p>実はこの4つの擬似クラスの記述順序には注意が必要で、上記のように link、visited、hover、active の順番で記述しないと意図した結果にならなかったりします。この順序についてちょっと調べてみたので、まとめてみたいと思います。</p>
<p><span id="more-179"></span></p>
<h3>なぜこの順番じゃなければダメなのか？</h3>
<p><a href="http://www.amazon.co.jp/gp/redirect.html?ie=UTF8&#038;location=http%3A%2F%2Fwww.amazon.co.jp%2F%25E5%25AE%259F%25E8%25B7%25B5Web-Standards-Design%25E2%2580%2595Web%25E6%25A8%2599%25E6%25BA%2596%25E3%2581%25AE%25E5%259F%25BA%25E6%259C%25AC%25E3%2581%25A8CSS%25E3%2583%25AC%25E3%2582%25A4%25E3%2582%25A2%25E3%2582%25A6%25E3%2583%2588-Tips-%25E5%25B8%2582%25E7%2580%25AC%2Fdp%2F4861671647%3Fie%3DUTF8%26s%3Dbooks%26qid%3D1190899008%26sr%3D8-1&#038;tag=0755-22&#038;linkCode=ur2&#038;camp=247&#038;creative=1211">実践Web Standards Design（通称ホップ本）</a><img src="http://www.assoc-amazon.jp/e/ir?t=0755-22&amp;l=ur2&amp;o=9" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />には、次のように書かれています。</p>
<blockquote>
<p><strong>:hover擬似クラスと:active擬似クラスは一連の動作であるので</strong>、スタイルシート内でもこの順番で記述しないと有効にならない点に注意してください。</p>
<p>「<cite>3章&nbsp;3.3/CSS管理のコツ</cite>」より</p>
</blockquote>
<blockquote>
<p>擬似クラスの記述順序には注意が必要です。（略）<strong>常に最後の指定で上書きされるということに注意し</strong>、link、visited、hover、active の順番で記述しておくと問題ないでしょう。逆に、すでに訪問済みのリンクは背景画像を変えたくないということであれば、visited を最後に記述するとよいでしょう。</p>
<p>「<cite>7章&nbsp;16/背景画像を利用して訪問済みリンクを一工夫する</cite>」より</p>
</blockquote>
<p>擬似クラスの記述順序にルールがあるというのを知ったのは、実はこの本がきっかけでした。それまでは「hover が効かない！」とか「訪問済みのリンクの色が変わらない！」とかいった問題に出くわしてハマッた経験が何度かあったので、書く順番が原因だったことがわかったときは思わず「そうだったのか！」とひざを打ってしまいました。</p>
<p>で、勢いづいてもう少し調べてみると、CSS の権威である Eric Meyer 氏のサイトでも同じ内容に関する解説を見つけました。</p>
<p>&raquo; <a href="http://meyerweb.com/eric/css/link-specificity.html">Link Specificity &#8211; meyerweb.com</a></p>
<p>カンタンにまとめてみると、</p>
<ul>
<li>セレクタの固有性（specificity）は4つとも同じ。</li>
<li>なので、最後に書かれたものから優先的に適用される。</li>
<li>例えば、link、active、hover、visited の順番で記述しているとすると・・・</li>
<li>未訪問リンクの場合は、active を hover が打ち消すので active は無効になる。</li>
<li>従って、active は hover の後ろに記述しなければならない。</li>
<li>訪問済みリンクの場合は、active も hover も一番最後の visited が打ち消してしまって無効になる。</li>
<li>従って、visited は hover や active の前に記述しなければならない。</li>
<li>つまり、link、visited、hover、active の順番で書くべし。</li>
<li>ちなみに、link と visited は打ち消しあうことがないので順番はどっちでもOK。</li>
<li>link はあくまで「未訪問（unvisited）」のリンクのみに適用される擬似クラスで、「リンク全般」に適用されるものじゃないので要注意。</li>
<li>link じゃなくて unvisited にすればいいのにね。</li>
</ul>
<h3>順番の覚え方</h3>
<p>海外では、この記述順序ルールを link-visited-hover-active の頭文字をとって「<strong>LVHA</strong>」と言うようです。ちょっと覚えづらいなぁと思っていたのですが、たまたま見かけた海外のブログにうまい覚え方が紹介されていました。</p>
<p>&raquo; <a href="http://css-tricks.com/remember-selectors-with-love-and-hate/">How To Remember The Order of Selectors: LOVE and HATE &#8211; CSS Tricks</a></p>
<blockquote>
<p>Just think <strong>‘LOVE’ (LV) and ‘HATE’ (HA)</strong>….</p>
</blockquote>
<p><strong>LOVE and HATE</strong> かぁ。ちょっと意味深だし覚えやすいですね。</p>
<p>他にも「こんなふうに覚えてるよ」というのがあれば是非教えてください。<strong>live happily</strong> とかどうかな？</p>
]]></content:encoded>
			<wfw:commentRss>http://jmblog.jp/archives/179/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>IEでa要素以外に:hover擬似クラスを適用させる</title>
		<link>http://jmblog.jp/archives/88</link>
		<comments>http://jmblog.jp/archives/88#comments</comments>
		<pubDate>Thu, 03 Aug 2006 16:46:08 +0000</pubDate>
		<dc:creator>Yoshihide</dc:creator>
				<category><![CDATA[webdesign, design]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[ie]]></category>

		<guid isPermaLink="false">http://jmblog.jp/archives/88</guid>
		<description><![CDATA[IE6以下では、
:hover
擬似クラスが &#60;a&#62; 以外では適用されません。が、この問題の解決策が紹介されているサイトを発見しました。

&#187; WEBFACTORY ::: BLOG: IEでhoverをa以外に効かせる
&#187; Hackadelic: csshoverを使ったWeb StandardなCSSコーディング
それぞれで紹介されているとおり、Whatever:hover で配布している csshover.htc  というスクリプトを使えば、IEでもいろんな要素に:hoverを適用させることが出来ます。（ダウンロードの場所がちょっとわかりづらいですが、Changes のなかにあります。）
使い方は、css で以下のように書くだけ。
body &#123; behavior:url&#40;&#34;csshover.htc&#34;&#41;; &#125;
これで、IEでも hover し放題です。素晴らしい！
]]></description>
			<content:encoded><![CDATA[<p>IE6以下では、</p>
<div class="codecolorer-container text blackboard" style="overflow:auto;white-space:nowrap;border: 1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">:hover</div></div>
<p>擬似クラスが &lt;a&gt; 以外では適用されません。が、この問題の解決策が紹介されているサイトを発見しました。</p>
<p><span id="more-88"></span></p>
<p>&raquo; <a href="http://digibot.jp/blog/archives/2005/05/iehovera.html" target="_blank">WEBFACTORY ::: BLOG: IEでhoverをa以外に効かせる</a><br />
&raquo; <a href="http://www.art-code.org/2006/06/csshoverweb_standardcss.html" class="broken_link"  target="_blank">Hackadelic: csshoverを使ったWeb StandardなCSSコーディング</a></p>
<p>それぞれで紹介されているとおり、<a href="http://www.xs4all.nl/~peterned/csshover.html" target="_blank">Whatever:hover</a> で配布している <strong>csshover.htc</strong>  というスクリプトを使えば、IEでもいろんな要素に:hoverを適用させることが出来ます。（ダウンロードの場所がちょっとわかりづらいですが、<a href="http://www.xs4all.nl/~peterned/csshover.html#changes" target="_blank">Changes</a> のなかにあります。）</p>
<p>使い方は、css で以下のように書くだけ。</p>
<div class="codecolorer-container css blackboard" style="overflow:auto;white-space:nowrap;border: 1px solid #9F9F9F;width:435px;"><div class="css codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">body <span style="color: #00AA00;">&#123;</span> behavior<span style="color: #00AA00;">:</span><span style="color: #993333;">url</span><span style="color: #00AA00;">&#40;</span><span style="color: #ff0000;">&quot;csshover.htc&quot;</span><span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">;</span> <span style="color: #00AA00;">&#125;</span></div></div>
<p>これで、IEでも hover し放題です。素晴らしい！</p>
]]></content:encoded>
			<wfw:commentRss>http://jmblog.jp/archives/88/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ソースコードを表示させるのに使うべきHTMLタグは？</title>
		<link>http://jmblog.jp/archives/80</link>
		<comments>http://jmblog.jp/archives/80#comments</comments>
		<pubDate>Tue, 25 Jul 2006 17:09:59 +0000</pubDate>
		<dc:creator>Yoshihide</dc:creator>
				<category><![CDATA[webdesign, design]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[xhtml]]></category>

		<guid isPermaLink="false">http://jmblog.jp/archives/80</guid>
		<description><![CDATA[ソースコードをWebページで表示させるために、どんなHTMLを書いてますか？私はこれまで、&#60;pre&#62;&#8230;&#60;/pre&#62; を使っていました。&#60;code&#62;&#8230;&#60;/code&#62; というタグは知っていましたが、これだと半角スペースや改行がうまく反映されていない、という理由で使っていなかったのです。
が、Web標準の教科書という本を読んで、目からうろこが落ちました。
（pre要素の解説で）

pre要素は、code要素と組み合わせてスクリプト言語やプログラミング言語のソースコードを示すのに使うのが一般的である。

（code要素、var要素、samp要素、kbd要素の解説で）

コンピュータに特有のテキストを定義するには、次の4つの要素を使用する。
（略）
これらはインライン要素であり、インライン要素やテキストを含むことができる。

そうだったのかー！code要素はインライン要素なので、半角スペースや改行が反映されないのは当たり前なのでした。つまり、ソースコードをWebページで表示させるには、

&#60;pre&#62;&#60;code&#62;
function someFunction() {
    // code
}
&#60;/code&#62;&#60;pre&#62;

というふうに、pre要素の中にcode要素を含ませて書くのが正しいようです。ちなみにcode要素はインライン要素なので、次のような書き方もできます。
&#60;p&#62;1行目の&#60;code&#62;someFunction()&#60;/code&#62;の中にコードを実装していきます。&#60;/p&#62;

なお、&#60;pre&#62;&#8230;&#60;/pre&#62;を使うと、一行が長い場合、

function someFunction() {
    // code code code code code code code code code code code code code code code code code code code code code code code code code code code code code code code code
}

という感じで、横スクロールバーが表示されてしまいますが、以下のサイトで紹介されているcssハックを使えば、折り返すことができます。
&#187; Making preformated &#60;pre&#62; text wrap in CSS3, [...]]]></description>
			<content:encoded><![CDATA[<p>ソースコードをWebページで表示させるために、どんなHTMLを書いてますか？<span id="more-80"></span>私はこれまで、&lt;pre&gt;&#8230;&lt;/pre&gt; を使っていました。&lt;code&gt;&#8230;&lt;/code&gt; というタグは知っていましたが、これだと半角スペースや改行がうまく反映されていない、という理由で使っていなかったのです。</p>
<p>が、<a href="http://www.amazon.co.jp/exec/obidos/ASIN/4798010928/0755-22/ref=nosim/" name="amazletlink" target="_blank">Web標準の教科書</a>という本を読んで、目からうろこが落ちました。</p>
<p>（pre要素の解説で）</p>
<blockquote cite="urn:4-7980-1092-8">
<p>pre要素は、code要素と組み合わせてスクリプト言語やプログラミング言語のソースコードを示すのに使うのが一般的である。</p>
</blockquote>
<p>（code要素、var要素、samp要素、kbd要素の解説で）</p>
<blockquote cite="urn:4-7980-1092-8"><p>
コンピュータに特有のテキストを定義するには、次の4つの要素を使用する。<br />
（略）<br />
これらはインライン要素であり、インライン要素やテキストを含むことができる。</p>
</blockquote>
<p>そうだったのかー！code要素はインライン要素なので、半角スペースや改行が反映されないのは当たり前なのでした。つまり、ソースコードをWebページで表示させるには、</p>
<pre>
&lt;pre&gt;&lt;code&gt;
function someFunction() {
    // code
}
&lt;/code&gt;&lt;pre&gt;
</pre>
<p>というふうに、pre要素の中にcode要素を含ませて書くのが正しいようです。ちなみにcode要素はインライン要素なので、次のような書き方もできます。</p>
<pre>&lt;p&gt;1行目の&lt;code&gt;someFunction()&lt;/code&gt;の中にコードを実装していきます。&lt;/p&gt;
</pre>
<p>なお、&lt;pre&gt;&#8230;&lt;/pre&gt;を使うと、一行が長い場合、</p>
<pre style="white-space:pre">
function someFunction() {
    // code code code code code code code code code code code code code code code code code code code code code code code code code code code code code code code code
}
</pre>
<p>という感じで、横スクロールバーが表示されてしまいますが、以下のサイトで紹介されているcssハックを使えば、折り返すことができます。</p>
<p>&raquo; <a href="http://myy.helia.fi/~karte/pre-wrap-css3-mozilla-opera-ie.html" target="_blank">Making preformated &lt;pre&gt; text wrap in CSS3, Mozilla, Opera and IE</a></p>
<p>最近になって、ようやくWeb標準の勉強を始めたのですが、新しい発見がいっぱいあって楽しいです。</p>
]]></content:encoded>
			<wfw:commentRss>http://jmblog.jp/archives/80/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
