<?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>www.retujyou.com どうにもならない劣情の種子を植え付けられたばかりに &#187; HTML</title>
	<atom:link href="http://www.retujyou.com/tag/html/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.retujyou.com</link>
	<description>どうにもならない劣情の種子を植え付けられたばかりに</description>
	<lastBuildDate>Fri, 04 Mar 2011 09:14:27 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>IEでは hr タグの border を消せない。そもそも hr はタダの水平線だった。</title>
		<link>http://www.retujyou.com/2007/07/20/html-hr-border-ie/</link>
		<comments>http://www.retujyou.com/2007/07/20/html-hr-border-ie/#comments</comments>
		<pubDate>Thu, 19 Jul 2007 16:00:27 +0000</pubDate>
		<dc:creator>rui_mashita</dc:creator>
				<category><![CDATA[webデザイン]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[WebDesign]]></category>

		<guid isPermaLink="false">http://www.retujyou.com/2007/07/20/html-hr-border-ie/</guid>
		<description><![CDATA[IE6 (Internet Explorer 6) では、線を引くブロック要素 hr タグのボーダー (border) を CSS で { border :0px none; } としても消せません。
IEでは hr タ [...]]]></description>
			<content:encoded><![CDATA[<p>IE6 (Internet Explorer 6) では、線を引くブロック要素 hr タグのボーダー (border) を CSS で { border :0px none; } としても消せません。</p>
<p>IEでは hr タグのボーダーを消せない<br />
参照：<a href="http://www.yomotsu.net/lab/javascripts/replacehr">ヨモツネット 実験室 » hr要素をかっこよく使う</a></p>
<h3>
IEでは&lt;hr&gt;のボーダーを消せない例</h3>
<p>このBlogのtopページでは今まで、素のhrタグで区切りの線を表示してて、新しく区切り線の画像を作ったのでhrにCSSで背景画像をつけて区切り線にしようと思ったんですが、以下の画像の様にIE6ではhrタグのborderが消えずに変な事になってしまいました。</p>
<p>IE6の場合<br />
<a href="http://www.retujyou.com/wp-content/uploads/2007/07/ie-hr-border.png" class="highslide" onclick="return hs.expand(this)"><img src="http://www.retujyou.com/wp-content/uploads/2007/07/thumbnail.ie-hr-border.png" title="ie-hr-border" alt="ie-hr-border" width="500" height="189" /></a></p>
<p>FIrefoxの場合<br />
<a href="http://www.retujyou.com/wp-content/uploads/2007/07/ie-hr-border2.png" class="highslide" onclick="return hs.expand(this)"><img src="http://www.retujyou.com/wp-content/uploads/2007/07/thumbnail.ie-hr-border2.png" title="ie-hr-border" alt="ie-hr-border" width="500" height="187" /></a></p>
<pre><code>hr&nbsp;{&nbsp;border&nbsp;:0px&nbsp;none&nbsp;#000;&nbsp;}&nbsp;</code></pre>
<p>とやっても、画像の周辺にボーダーが出来てしまって、border-cololrでの色の変更もうまくいきません。</p>
<h3>
そもそも&lt;hr&gt;はタダの水平線だった<br />
</h3>
<p>またIE6のバグかぁ、と思ったんですが、これはバグとゆうよりは hr タグの解釈の仕方の問題なのかもしれません。</p>
<p>(x)html に於ける h1 や blockquote などのタグにはそれぞれ意味があって、h1なら一番めの見出しとゆう意味、blockquoteなら引用文とゆう意味です。これは紙に書いた文字と違って、デザインや見た目などに頼らず、文章の意味を理解しやすくするためにあって、ロボットや視覚障害者を助けます。</p>
<p>で、僕は今まで hr タグは (x)html 言語としての意味のある”区切り”の事だと思ってた、つまり、h1 blockquote などのタグと同様にhtmlページ内における意味がタグに込められているものだと思っていたんですが、そうでは無くて、hr は見栄えのためだけのタグだったんです。</p>
<p>hr タグにはhtmlページに於ける”区切り”とゆう意味はなく、ただの見た目に水平線が描かれるだけの意味は全くないタグなのでした。</p>
<blockquote><p>hr 要素はb要素やi要素などと同じく「見栄えのための要素」だという指摘を受けました。HTML4.01では非推奨要素にはなっていないものの、XHTML ではプレゼンテーションモジュール（Presentation Module）に分類されていて、「見栄え」のための要素だとのこと。HTML4.01の仕様でも、「水平線を描く」としか書かれておらず、「区切る」とは説明されていません。XHTML2.0では「区切り」を表現するために、separator要素が加わることになってるようです。</p>
<p><cite><a href="http://www.nishishi.com/css/line-border-hr.html">1本だけ線を引く &#8211; スタイルシートTIPS ふぁくとりー</a></cite></p></blockquote>
<p>hr はタダの水平線なので、その定義に沿ってborderを消さない (borderを消すと線じゃなくなる) とゆうIE6の解釈は、あってもいいのかもしれません。余計なお節介でもありますが。</p>
<p>結局僕は、&lt;hr&gt;をdivの空要素&lt;div&gt;&lt;/div&gt;に変更しました。</p>
<h3>
参考・参照</h3>
<p>IEでは hr タグのボーダーを消せない<br />
<a href="http://www.yomotsu.net/lab/javascripts/replacehr">ヨモツネット 実験室 » hr要素をかっこよく使う</a></p>
<p>hr タグは、 XHTML ではプレゼンテーションモジュール（Presentation Module）「見栄え」のための要素<br />
<a href="http://www.nishishi.com/css/line-border-hr.html">1本だけ線を引く &#8211; スタイルシートTIPS ふぁくとりー</a></p>
<p>photo <a href="http://www.flickr.com/photos/docman/243911460/">by docman</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.retujyou.com/2007/07/20/html-hr-border-ie/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>3カラムにデザインをマイナーチェンジしました</title>
		<link>http://www.retujyou.com/2007/07/11/new-3column-webdesign/</link>
		<comments>http://www.retujyou.com/2007/07/11/new-3column-webdesign/#comments</comments>
		<pubDate>Wed, 11 Jul 2007 12:34:00 +0000</pubDate>
		<dc:creator>rui_mashita</dc:creator>
				<category><![CDATA[webデザイン]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[IE]]></category>
		<category><![CDATA[WebDesign]]></category>

		<guid isPermaLink="false">http://www.retujyou.com/2007/07/11/new-3column-webdesign/</guid>
		<description><![CDATA[個別記事のページの中段部分（記事本文の下、フッターの上）をリキッド（可変）レイアウトの3カラムにして、デザインをマイナーチェンジしました。左から順に、コメント・トラックバック、関連記事、最近の記事って順番に並ぶようにして [...]]]></description>
			<content:encoded><![CDATA[<p>個別記事のページの中段部分（記事本文の下、フッターの上）をリキッド（可変）レイアウトの3カラムにして、デザインをマイナーチェンジしました。左から順に、コメント・トラックバック、関連記事、最近の記事って順番に並ぶようにしています。</p>
<p><a href="http://www.retujyou.com/wp-content/uploads/2007/07/retujyou.png" class="highslide" onclick="return hs.expand(this)"><img src="http://www.retujyou.com/wp-content/uploads/2007/07/thumbnail.retujyou.png" title="new-design" alt="new-design" width="500" height="379" /></a></p>
<h3>可変３カラムを作る時の注意点</h3>
<p>可変３カラムを作る時の注意点をいくつかあげてみます。</p>
<h4>
floatするボックスには、paddingとborderを指定してはいけない</h4>
<p>可変３カラムを作るのfloatを多用します。その時に一番に注意すべき点がこれだと思います。</p>
<p>floatするボックスにpaddingとborderを指定してはいけないのは、IEバグへの対処で以下の２点の理由からです。</p>
<ul>
<li>フロートするボックスにはwidthを指定する<br />
（理由：CSS2定義 参照元：<a href="http://www.y-adagio.com/public/standards/tr_css2/visuren.html#floats">Visual formatting model</a>）</li>
<li>widthを指定したボックスにはpaddingとborderを指定してはいけない<br />
（理由：IE6バグ 参照元：<a href="http://mb.blog7.fc2.com/blog-entry-83.html">CSSレイアウトの定石　WinIE6バグ回避法</a>）</li>
</ul>
<p>よってfloatするボックスにはwidthを絶対指定しなければならず、widthを指定したので、paddingとborderを指定してはいけません。</p>
<h4>
IE6 では min-width、max-widthに対応してない</h4>
<p>リキッドレイアウトでは最大幅と最小幅が結構重要になってきますが、IE6 では min-width、max-widthに対応してないので（XML宣言すると対応しなくなるので）、使わないか、もしくは代用方法をとります。</p>
<p>CSSのみで対応させる（試したけど僕の環境ではうまくいかなかった。）<br />
<a href="http://www.lucky-bag.com/archives/2005/05/ie_minwidth.html">Lucky bag::blog: IE で min-width を指定する方法</a></p>
<p>スクリプトを使う方法<br />
<a href="http://fnya.cocolog-nifty.com/blog/2006/12/minmaxjs_iecssm_d111.html">あるＳＥのつぶやき: minmax.js &#8211; IEでCSSのmax-widthなどを使えるようにするライブラリ</a></p>
<h4>ブロック要素のセンタリング</h4>
<p>margin-left: auto; margin-right: auto; を指定すると、そのボックス内のブロック要素（divなど）がセンタリングされるはずなのですが、IE6 ではそれが効きません。</p>
<p>しかし、text-align:center; してやると、本来は適用しないブロック要素までセンタリングするので、それで代用します。</p>
<h4>%での幅指定とカラム落ち</h4>
<p>ボックスをあんまりカツカツに詰めすぎるとカラムが落ちてしまいます。そうならないように、足して100%にならないようにします。</p>
<p>例えば左フロートはwidth:50%; なら右フロートはwidth:49%; で足して99%。</p>
<h3>HTMLとCSSの例</h3>
<p>新しくデザインを変更した部分は、特にたいした事をしてないリキッド（可変）レイアウトの３カラムです。記事の本文とかは900pxの固定幅のレイアウトなんだけど、新しいデザインの部分は可変レイアウトで、min-widthとmax-widthで最大最小幅を決めています。</p>
<p>HTMLとCSSはそれぞれこんな感じにしました。</p>
<pre><code>
&lt;body&gt;

&lt;div&nbsp;id=&quot;container&quot;&gt;

&nbsp;&nbsp;&nbsp;&nbsp;&lt;div&nbsp;id=&quot;middle&quot;&gt;

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;div&nbsp;id=&quot;middle_left&quot;&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;コメント・トラックバック
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/div&gt;

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;div&nbsp;id=&quot;middle_right&quot;&gt;

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;div&nbsp;id=&quot;middle_right_left&quot;&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;関連記事
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/div&gt;

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;div&nbsp;id=&quot;middle_right_right&quot;&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;最近の記事
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/div&gt;

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/div&gt;&lt;!--middle_right&nbsp;閉じ--&gt;
&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&lt;/div&gt;&lt;!--middle&nbsp;閉じ--&gt;

&lt;/div&gt;&lt;!--container&nbsp;閉じ--&gt;

&lt;/body&gt;

</code></pre>
<pre><code>

*&nbsp;{
&nbsp;&nbsp;&nbsp;&nbsp;margin:0;
&nbsp;&nbsp;&nbsp;&nbsp;padding:0;
}

#container{
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;width:100%;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;margin:0px&nbsp;auto;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;text-align:center;&nbsp;
/*text-align:center;は、#middleのセンタリング*/
}

#middle&nbsp;{
&nbsp;&nbsp;&nbsp;&nbsp;min-width:900px;
&nbsp;&nbsp;&nbsp;&nbsp;max-width:1200px;
&nbsp;&nbsp;&nbsp;&nbsp;margin:0&nbsp;10px;
}

#middle_left{
&nbsp;&nbsp;&nbsp;&nbsp;width:49%;
&nbsp;&nbsp;&nbsp;&nbsp;float:left;
}

#middle_right{
&nbsp;&nbsp;&nbsp;&nbsp;width:50%;
&nbsp;&nbsp;&nbsp;&nbsp;float:right;
}

#middle_right_left&nbsp;{
&nbsp;&nbsp;&nbsp;&nbsp;float:left;
&nbsp;&nbsp;&nbsp;&nbsp;width:49%;
}

#middle_right_right&nbsp;{
&nbsp;&nbsp;&nbsp;&nbsp;float:right;
&nbsp;&nbsp;&nbsp;&nbsp;width:49%;
}

</code></pre>
<h3>
参照・参考</h3>
<p><a href="http://mb.blog7.fc2.com/blog-entry-83.html">CSSレイアウトの定石　WinIE6バグ回避法</a></p>
<p><a href="http://www.geocities.jp/multi_column/">CSSによる段組（マルチカラム）レイアウト講座</a></p>
<p><a href="http://www.y-adagio.com/public/standards/tr_css2/toc.html">Cascading Style Sheets, Level 2</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.retujyou.com/2007/07/11/new-3column-webdesign/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>IEで全ての要素に:hover擬似クラスセレクタを適応させるスクリプト</title>
		<link>http://www.retujyou.com/2007/03/20/csshoverhtc/</link>
		<comments>http://www.retujyou.com/2007/03/20/csshoverhtc/#comments</comments>
		<pubDate>Tue, 20 Mar 2007 10:52:51 +0000</pubDate>
		<dc:creator>rui_mashita</dc:creator>
				<category><![CDATA[webデザイン]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[HowTo]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[IE]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[WebDesign]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://www.retujyou.com/2007/03/20/ie%e3%81%a7%e5%85%a8%e3%81%a6%e3%81%ae%e8%a6%81%e7%b4%a0%e3%81%abhover%e6%93%ac%e4%bc%bc%e3%82%af%e3%83%a9%e3%82%b9%e3%82%bb%e3%83%ac%e3%82%af%e3%82%bf%e3%82%92%e9%81%a9%e5%bf%9c%e3%81%95%e3%81%9b/</guid>
		<description><![CDATA[圧倒的なシェアを誇るIE 6 (Internet Explorer 6) では、CSS2で定義されたはずのa要素以外でのhover擬似クラスセレクタに対応してません。で、それを解決する csshover.htc ってスク [...]]]></description>
			<content:encoded><![CDATA[<p>圧倒的なシェアを誇るIE 6 (Internet Explorer 6) では、CSS2で定義されたはずのa要素以外でのhover擬似クラスセレクタに対応してません。で、それを解決する csshover.htc ってスクリプトを<a href="http://www.xs4all.nl/~peterned/csshover.html">Whatever:hover</a>で配布しているので導入してみた。<br />
hoverはマウスポインタ等が要素の上に乗っかった時に適用される擬似クラス。</p>
<h3>hover擬似クラス使用例</h3>
<p>例として、id=testのspan要素に：hover擬似クラスを使って、テキストの色を#ff0000に変える場合の表示例とコードを以下に示してみます。<br />
&#8220;このテキストの色が変わる&#8221;って文字列の上にカーソルを持っていくと、文字の色が赤色に変わる。</p>
<style type="text/css">
<!--
span#test:hover { color : #ff0000 ; }
--> 
</style>
<p>表示例:<span id=test>このテキストの色が変わる</span></p>
<p>コード:</p>
<pre><code>&lt;span&nbsp;id=test&gt;このテキストの色が変わる&lt;/span&gt;
</code></pre>
<pre><code>span#test:hover&nbsp;{&nbsp;color&nbsp;:&nbsp;#ff0000&nbsp;;&nbsp;}</code></pre>
<p>こんな感じに:hoverはどの要素にも適応される決まり<sup><a href="#footnote-1-272" id="footnote-link-1-272" title="See the footnote.">1</a></sup> になってるけど、IE6ではリンクアンカーa要素以外の:hoverはサポートされてない。</p>
<p>ちなみに最新のIE7では、:hoverと:activeには対応してるけど、:focus擬似クラスと:before、:after擬似要素には対応していない。<sup><a href="#footnote-2-272" id="footnote-link-2-272" title="See the footnote.">2</a></sup> </p>
<h3>csshover.htc導入手順</h3>
<p><a href="http://www.xs4all.nl/~peterned/csshover.html">Whatever:hover</a>で配布されてるcsshover.htcには２つの種類があって、</p>
<ol>
<li>:hoverと:activeをIEで適応させるもの (ver1)</li>
<li>
:hoverと:activeと:focusもIEで適応させるもの (ver2)</li>
</ol>
<p>今回はver1の方 (ver1.42.060206) を導入した。</p>
<p>導入にはbody要素にIE独自のCSSプロパティ behavior を使って、HTCって聞きなれないスクリプトファイルを読み込みだけ。</p>
<pre><code>body&nbsp;{&nbsp;behavior:url(&quot;csshover.htc&quot;);&nbsp;}</code></pre>
<p>ただ注意すべきは、 behavior の url にはcssファイルからの相対パスじゃなくて、そのcssファイルを読み込んでる　html からの相対パスを書かなくてはいけないって事。なんかややこしいので、僕は絶対パスにしてhead部分に導入しました。</p>
<pre><code>&lt;head&gt;
&lt;style&nbsp;type=&quot;text/css&quot;&gt;
&lt;!--
body&nbsp;{&nbsp;behavior&nbsp;:&nbsp;url&nbsp;(&quot;絶対パス/csshover.htc&quot;)&nbsp;;&nbsp;}
--&gt;&nbsp;
&lt;/style&gt;
&lt;/head&gt;</code></pre>
<p>WordPressではheader.phpに。<br />
僕は適応してるテーマファイル以下にscriptsディレクトリを作って、そこでスクリプトを管理しているので、以下のようにしました。</p>
<pre><code>&lt;style&gt;
body&nbsp;{&nbsp;behavior&nbsp;:&nbsp;url&nbsp;(&nbsp;&quot;&lt;?php&nbsp;bloginfo('template_directory');&nbsp;?&gt;/scripts/csshover.htc&quot;&nbsp;)&nbsp;;&nbsp;}
&lt;/style&gt;
</code></pre>
<h3>参照・参考・注釈</h3>
<p>csshover.htc導入<br />
<a href="http://jmblog.jp/archives/88">jmblog.jp &#8211; IEでa要素以外に:hover擬似クラスを適用させる</a></p>
<p>CSSプロパティ behavior について<br />
<a href="http://d.hatena.ne.jp/ofk/20070225/1172385096">?D of K &#8211; behaviorに関してのまとめ</a></p>
<ol class="footnotes"><li id="footnote-1-272">CSS2では動的擬似クラスとしてどの要素にも適応されるよう定義されてる。<br />
<a href="http://www.y-adagio.com/public/standards/tr_css2/selector.html#dynamic-pseudo-classes">Selectors</a>  [<a href="#footnote-link-1-272">back</a>]</li><li id="footnote-2-272">IE7のCSS対応状況<br />
<a href="http://journal.mycom.co.jp/special/2007/ie7/menu.html">【特集】正式版完全対応! Internet Explorer 7 CSS攻略法 (MYCOMジャーナル)</a><br />
<a href="http://journal.mycom.co.jp/special/2006/ie7beta2/menu.html">【特集】CSS実装徹底検証! そこが知りたいInternet Explorer 7 (MYCOMジャーナル)</a>  [<a href="#footnote-link-2-272">back</a>]</li></ol>]]></content:encoded>
			<wfw:commentRss>http://www.retujyou.com/2007/03/20/csshoverhtc/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

