<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <title>CSSデザインノート</title>
    <link rel="alternate" type="text/html" href="http://www.coolwebwindow.com/csstips/" />
    <link rel="self" type="application/atom+xml" href="http://www.coolwebwindow.com/csstips/atom.xml" />
    <id>tag:www.coolwebwindow.com,2008-08-15:/csstips//4</id>
    <updated>2011-03-26T08:44:44Z</updated>
    <subtitle>CSS（カスケードスタイルシート）のメモ帳</subtitle>
    <generator uri="http://www.sixapart.com/movabletype/">Movable Type Pro 4.21-ja</generator>

<entry>
    <title>IE6でposition:absolute;bottom:0を指定した要素が消える</title>
    <link rel="alternate" type="text/html" href="http://www.coolwebwindow.com/csstips/help/000306.php" />
    <id>tag:www.coolwebwindow.com,2011:/csstips//4.306</id>

    <published>2011-03-26T08:40:41Z</published>
    <updated>2011-03-26T08:44:44Z</updated>

    <summary> 個人的メモです。 position:absolute;で絶対配置した際、bot...</summary>
    <author>
        <name></name>
        
    </author>
    
        <category term="ヘルプ" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="position" label="position" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://www.coolwebwindow.com/csstips/">
        <![CDATA[<p>
個人的メモです。<br />
position:absolute;で絶対配置した際、bottom:0;にすると、IE6で要素が消えてしまうバグに遭遇しました。しかしなぜか、top:0;にすると表示されるのです。
</p>
<p class="textHTML">(X)HTMLコード</p>
<pre class="HTML prettyprint"><code>&lt;div&gt;
   &lt;p&gt;テキストテキストテキスト&lt;/p&gt;
   &lt;img src="image.gif" alt="" /&gt;
&lt;/div&gt;</code></pre>
<p class="textCSS">CSSコード</p>
<pre class="CSS prettyprint"><code>div {
   position:relative;
}

p {
   width:500px;
}

img {
   position:absolute;
   right:0;
   bottom:0;
}</code></pre>
<p>
どうやら、親要素のdivのhaslyoutがtrueになっていなかったのが原因みたいです。<br />
なので、親要素にもhaslyoutをtrueするために、widthを指定しました。
</p>
<p class="textCSS">CSSコード</p>
<pre class="CSS prettyprint"><code>div {
   width:710px;
   position:relative;
}

p {
   width:500px;
}

img {
   position:absolute;
   right:0;
   bottom:0;
}</code></pre>]]>
        
    </content>
</entry>

<entry>
    <title>IE6でborderが表示されない</title>
    <link rel="alternate" type="text/html" href="http://www.coolwebwindow.com/csstips/help/000305.php" />
    <id>tag:www.coolwebwindow.com,2011:/csstips//4.305</id>

    <published>2011-01-23T08:09:36Z</published>
    <updated>2011-03-26T08:46:09Z</updated>

    <summary> IE6で、tableタグでテーブルを作成していたら、border要素が一部反映...</summary>
    <author>
        <name></name>
        
    </author>
    
        <category term="ヘルプ" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="ie" label="IE" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="border" label="border" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://www.coolwebwindow.com/csstips/">
        <![CDATA[<p>
IE6で、tableタグでテーブルを作成していたら、border要素が一部反映されないことがありました。IE6は本当にバグが多くて困ります。
</p>
解決方法としては、
</p>
<p class="textCSS">CSSコード</p>
<pre class="CSS prettyprint"><code>table td {
   position:relative;
}</code></pre>
<p>
のように、borderが表示されない要素に｢position:relative;｣を指定すると、表示されることがあります。
</p>]]>
        
    </content>
</entry>

<entry>
    <title>新着情報の日付とテキストに同一のアンカーをつける方法</title>
    <link rel="alternate" type="text/html" href="http://www.coolwebwindow.com/csstips/csstechnic/000304.php" />
    <id>tag:www.coolwebwindow.com,2011:/csstips//4.304</id>

    <published>2011-01-15T02:38:20Z</published>
    <updated>2011-12-31T02:54:55Z</updated>

    <summary> 新着情報やニュースリリースなどのコンテンツは、tableタグやdlタグを利用す...</summary>
    <author>
        <name></name>
        
    </author>
    
        <category term="CSSの小技" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="テキストレイアウト" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="ja" xml:base="http://www.coolwebwindow.com/csstips/">
        <![CDATA[<p>
新着情報やニュースリリースなどのコンテンツは、tableタグやdlタグを利用するのが、一般的です。
</p>
<p class="link">
<a href="http://www.coolwebwindow.com/csstips/csstechnic/000222.php">定義リストを横並びにする - CSSデザインノート</a>
</p>
<p>
ただし、以下のようなレイアウトにしようとすると、tableタグやdlタグではうまく実装できません。
</p>
<div id="style000304">
<h2>新着情報</h2>
<ul>
<li><a href="/"><span>2011/01/20</span>新着情報です。</a></li>
<li><a href="/"><span>2011/01/10</span>新着情報です。新着情報です。新着情報です。新着情報です。新着情報です。</a></li>
<li><a href="/"><span>2011/01/03</span>新着情報です。</a></li>
<li><a href="/"><span>2011/01/01</span>新着情報です。新着情報です。新着情報です。新着情報です。新着情報です。</a></li>
</ul>
</div>
<p>
問題は、日付とテキストに同一のアンカーをつけなければならないということです。
</p>
<p>
tableタグのtd要素やdlタグのdd要素はブロック要素であり、アンカーはインライン要素です。インライン要素であるアンカーの中に、ブロック要素であるtd要素やdd要素を入れることはできません。
</p>
<p>
そのため、文字の部分のみにアンカーをつけようとすると、tableタグやdlタグを使用するのはふさわしくないということになります。
</p>
<p>
もうひとつの問題は、テキスト部分が長くなったら、日付の下にテキストが回りこまずに、テキスト部分の頭をそろえないといけないということです。
</p>
<p>
ひとつの例ですが、以下のような方法があります。
</p>
<p class="textHTML">(X)HTMLコード</p>
<pre class="HTML prettyprint"><code>&lt;div id="information"&gt;
   &lt;h2&gt;新着情報&lt;/h2&gt;
   &lt;ul"&gt;
      &lt;li&gt;&lt;a href="index.html"&gt;&lt;span&gt;2011/01/20&lt;/span&gt;新着情報です。&lt;/a&gt;&lt;/li&gt;
      &lt;li&gt;&lt;a href="index.html"&gt;&lt;span&gt;2011/01/10&lt;/span&gt;新着情報です。新着情報です。新着情報です。新着情報です。新着情報です。&lt;/a&gt;&lt;/li&gt;
      &lt;li&gt;&lt;a href="index.html"&gt;&lt;span&gt;2011/01/03&lt;/span&gt;新着情報です。&lt;/a&gt;&lt;/li&gt;
      &lt;li&gt;&lt;a href="index.html"&gt;&lt;span&gt;2011/01/01&lt;/span&gt;新着情報です。新着情報です。新着情報です。新着情報です。新着情報です。&lt;/a&gt;&lt;/li&gt;
   &lt;/ul&gt;
&lt;/div&gt;</code></pre>
<p class="textCSS">CSSコード</p>
<pre class="CSS prettyprint"><code>#information h2 {
   padding:3px;
   background:#ddd;
}

#information ul {
   margin:0;
   padding:0;
   list-style:none;
}

#information li {
   padding:15px 0 15px 7em;
   text-indent: -7em;
   border-bottom:1px solid #ddd;
}

#information li span {
   display:inline-block;
   width:7em;
   text-indent:0;
}

#information li a {
   text-decoration:none;
   color:#000;
}

#information li a:hover {
   text-decoration:underline;
   color:#AB0404;

}</code></pre>
<p>
ポイントとしては、text-indentを駆使することと、spanにwidthを適用するためにdisplayをinline-blockにすることです。
</p>
<p>
spanは、インライン要素なのですが、インライン要素はwidthやpadding、marginといったものを指定しても有効になりません。そこで、CSSにてdisplayプロパティの値を、文法的にはインラインでありながらも、ブロック要素的な振る舞いもできるinline-blockに変更します。
</p>]]>
        
    </content>
</entry>

<entry>
    <title>メニューをinline要素で横並びしたときに余白が空いてしまう</title>
    <link rel="alternate" type="text/html" href="http://www.coolwebwindow.com/csstips/help/000302.php" />
    <id>tag:www.coolwebwindow.com,2011:/csstips//4.302</id>

    <published>2011-01-03T01:56:41Z</published>
    <updated>2011-07-14T20:42:36Z</updated>

    <summary> 以前のコラムで、リスト(liタグ）で作ったメニューを横並びにする方法を紹介した...</summary>
    <author>
        <name></name>
        
    </author>
    
        <category term="ヘルプ" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="display" label="display" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="menu" label="menu" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://www.coolwebwindow.com/csstips/">
        <![CDATA[<p>
以前のコラムで、<a href="http://www.coolwebwindow.com/csstips/csstechnic/000201.php">リスト(liタグ）で作ったメニューを横並びにする方法</a>を紹介したのですが、inline要素を使用すると、謎の余白（隙間）が空いてしまうということでした。
</p>
<p>
これは、ブラウザが改行を空白類文字をして認識してしまうからです。つまり、改行を半角スペースが空いているとみなしてしまいます。
</p>
<p>
とすると、この余白を消すには、半角スペース分をCSSでネガティブマージンを使用して相殺してしまえばよさそうです。
</p>
<p>
例えば、以下のようなリストを横並びにします。
</p>
<p class="textHTML">(X)HTMLコード</p>
<pre class="HTML prettyprint"><code>&lt;ul class="menu"&gt;
&lt;li&gt;&lt;a href="#"&gt;MENU1&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#"&gt;MENU2&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#"&gt;MENU3&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#"&gt;MENU4&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#"&gt;MENU5&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</code></pre>
<p>
CSSでは、半角スペース分をletter-spacingで制御します。ulのletter-spacingを0.40em分小さくしておいて、liのletter-spacingは元に戻しておきます。
</p>
<p class="textCSS">CSSコード</p>
<pre class="CSS prettyprint"><code>ul.menu {
   letter-spacing:-0.40em;
}

ul.menu li {
   display:inline;
   letter-spacing:normal;
}</code></pre>
<p>
ただし、この方法ではOperaには効きません。
</p>
<p>
そこでさらに、ulのfont-sizeを0にして、liのfont-sizeを任意の値を指定します。ただしpx表記以外はブラウザ間で差異が出てしまうので注意です。Operaだけに有効なhackがあれば相対表示もできるのですが、無いようなので・・・。
</p>
<p class="textCSS">CSSコード</p>
<pre class="CSS prettyprint"><code>ul.menu {
   letter-spacing:-0.40em;
   font-size:0;
}

ul.menu li {
   display:inline;
   letter-spacing:normal;
   font-size:16px;
}</code></pre>
<p>
ちなみに、font-sizeでの指定はSafariやChromeといったWebkit系ブラウザでは有効ではないようです。このCSSはWindowsXP上のFarefox3.6.13、Opera11.00、Safari5.0.2、Chrome8.0、IE6で確認済みです。
</p>]]>
        
    </content>
</entry>

<entry>
    <title>hrタグで1pxの線を引く方法</title>
    <link rel="alternate" type="text/html" href="http://www.coolwebwindow.com/csstips/csstechnic/textlyout/000300.php" />
    <id>tag:www.coolwebwindow.com,2011:/csstips//4.300</id>

    <published>2011-01-02T13:09:46Z</published>
    <updated>2011-01-02T13:17:02Z</updated>

    <summary> hrタグは、デフォルトで使用するとデザイン的に味気ないですよね。画像を使用する...</summary>
    <author>
        <name></name>
        
    </author>
    
        <category term="CSSの小技" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="テキストレイアウト" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="hr" label="hr" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://www.coolwebwindow.com/csstips/">
        <![CDATA[<p>
hrタグは、デフォルトで使用するとデザイン的に味気ないですよね。画像を使用するのが一番見栄えのよいものになりますが、少しだけスタイリッシュにしたい場合などCSSを使用すると便利です。ここでは、1pxの線を引く方法を紹介します。
</p>
<p>
単純に、borderを使って、上線だけ1pxの線を表示すればよいのですが、IE6ではうまくいかないので、「height:1px」と「clear:both」を追加します。
</p>
<p class="textCSS">CSSコード</p>
<pre class="CSS prettyprint"><code>hr {
   border:solid #000;
   border-width:1px 0 0 0;
   height:1px;/* for IE6 */
   clear:both;/* for IE6 */
} </code></pre>]]>
        
    </content>
</entry>

<entry>
    <title>主要のブラウザで縦スクロールバーを出す方法</title>
    <link rel="alternate" type="text/html" href="http://www.coolwebwindow.com/csstips/csstechnic/000284.php" />
    <id>tag:www.coolwebwindow.com,2010:/csstips//4.284</id>

    <published>2010-05-05T09:22:08Z</published>
    <updated>2010-05-05T09:27:17Z</updated>

    <summary> コンテンツ量が少なくても常に縦スクロールバーを出す方法は、昔に以下の記事を書き...</summary>
    <author>
        <name></name>
        
    </author>
    
        <category term="CSSの小技" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="レイアウト" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="overflow" label="overflow" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://www.coolwebwindow.com/csstips/">
        <![CDATA[<p>
コンテンツ量が少なくても常に縦スクロールバーを出す方法は、昔に以下の記事を書きました。
</p>
<p class="link">
<a href="http://www.coolwebwindow.com/csstips/csstechnic/templatelayout/000191.php">Firefoxで常にスクロールバーを出す - CSSデザインノート</a>
</p>
<p class="link">
<a href="http://www.coolwebwindow.com/csstips/csstechnic/templatelayout/000192.php">FirefoxでもOperaでもスクロールバーを出す - CSSデザインノート</a>
</p>
<p>
これらの記事を書いてから約2年が経ち、ブラウザの実装状況も変わってきました。
</p>
<p>
2010年5月現在は、主要の最新ブラウザで、以下の記述で、コンテンツ量が少なくても常に縦スクロールバーを出すことができます。
</p>
<p class="textCSS">CSSコード</p>
<pre class="CSS prettyprint"><code>html {
   overflow-y:scroll;
}</code></pre>
<p>
最新のブラウザならCSS3の草案を取り入れているようですね。
</p>
<p>
また、以前は有効であったhtmlの高さを100%にし、マージンを1px空けて、縦スクロールバーを出す方法はFirefox3.6.3では効かなくなっていたので注意です。今のところ他のブラウザ（safari、Opera、Chome）には有効のようです。
</p>
<p class="textCSS">CSSコード</p>
<pre class="CSS prettyprint"><code>html {
   height:100%;
   margin-bottom:1px;
}</code></pre>]]>
        
    </content>
</entry>

<entry>
    <title>word-breakプロパティとword-wrapプロパティの違い</title>
    <link rel="alternate" type="text/html" href="http://www.coolwebwindow.com/csstips/csstechnic/000283.php" />
    <id>tag:www.coolwebwindow.com,2010:/csstips//4.283</id>

    <published>2010-05-05T06:20:38Z</published>
    <updated>2010-05-05T08:12:27Z</updated>

    <summary> 前回の記事で改行の方法を指定する「word-wrapプロパティ」について述べま...</summary>
    <author>
        <name></name>
        
    </author>
    
        <category term="CSSの小技" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="テキストレイアウト" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="wordbreak" label="word-break" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="wordwrap" label="word-wrap" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://www.coolwebwindow.com/csstips/">
        <![CDATA[<p>
前回の記事で改行の方法を指定する「word-wrapプロパティ」について述べました。
</p>
<p class="link">
<a href="http://www.coolwebwindow.com/csstips/csstechnic/000282.php">改行をコントロールするword-wrapプロパティは主要の最新ブラウザで有効 - CSSデザインノート</a>
</p>
<p>
もうひとつ、改行の方法を指定するプロパティに「word-breakプロパティ」というのがあります。
</p>
<h3>word-breakプロパティとは？</h3>
<p>
word-breakプロパティとは何かと申しますと、簡単に言えば、文章の改行方法を指定するものです。例えば、表示範囲に合わせて改行するか、あるいは単語の切れ目で改行するかなどです。
</p>
<p>
値には、narmal、keep-all、break-allの３種類があり、意味は以下のとおりです。
</p>
<dl>
<dt>normal</dt>
<dd>
日本語は表示範囲で単語の途中でも改行されるが、英語は単語の切れ目で改行される。
</dd>
<dt>keep-all</dt>
<dd>
全ての言語で単語の途中で改行せず、単語の切れ目で改行される。
</dd>
<dt>break-all</dt>
<dd>
全ての言語で単語の途中でも改行される。
</dd>
</dl>
<p>
ただ、各ブラウザで動作が若干異なります。例えば、keep-allは、IE6や7では、そのとおりの動作をするのですが、他のブラウザでは日本語は表示範囲に合わせて単語の途中でも改行されます。
</p>
<h3>word-breakプロパティの実装状況</h3>
<p class="link">
<a href="/csstips/sample/sample000283.html">サンプル</a>
</p>
<p>
各ブラウザで確認してみてください。
</p>
<p>
表にしてみました。
</p>
<table sammary="word-breakプロパティの各ブラウザの実装状況">
<tr><th>ブラウザ/値</th><th>narmal</th><th>keep-all</th><th>break-all</th></tr>
<tr><td>Firefox 3.6.3</td><td>○</td><td>×</td><td>×</td></tr>
<tr><td>Safari 4.0.5</td><td>○</td><td>○</td><td>○</td></tr>
<tr><td>Google Chome 4.1</td><td>○</td><td>○</td><td>○</td></tr>
<tr><td>Opera 10.51</td><td>○</td><td>×</td><td>×</td></tr>
<tr><td>IE6</td><td>○</td><td>○</td><td>○</td></tr>
<tr><td>IE7</td><td>○</td><td>○</td><td>○</td></tr>
<tr><td>IE8</td><td>○</td><td>×</td><td>×</td></tr>
</table>
<p>
基本的に、値がnarmalの場合はどのブラウザでも同じ動作をします。
</p>
<p>
しかし、値がkeep-allの場合、Safari、Chomeは、日本語は表示範囲に合わせて単語の途中でも改行され、英語は単語の切れ目で改行されます。一方、IE6と7は、日本語も英語も単語の切れ目で改行されます。
</p>
<p>
また、値がkeep-allの場合、Safari、Chomeは禁則処理が無効になるのに対し、IE6と7では禁則処理は有効のままです。禁則処理に関しては、以下の記事で説明しています。
</p>
<p class="link">
<a href="http://www.coolwebwindow.com/csstips/csstechnic/000282.php">改行をコントロールするword-wrapプロパティは主要の最新ブラウザで有効 - CSSデザインノート</a>
</p>
<p>
また、IE6、7で使えたword-breakプロパティがIE8で使えなくなっているのは、改行の方法をword-wrapプロパティのみにしたということでしょうか？
</p>
<h3>word-breakプロパティとword-wrapプロパティの「break-all」の違い</h3>
<p>
word-breakプロパティにもword-wrapプロパティにも「break-all」という強制的に改行する値を指定できるのですが、この違いは何なのでしょうか。
</p>
<p>
IEやSafari、Google Chomeはどちらのプロパティの「break-all」も使えるのですが、その差を見てみると、日本語に違いはありませんが、英語のショートセンテンスにおいて、
word-breakプロパティは単語の途中でも強制的に改行してしまいますが、word-wrapプロパティは単語の後の半角スペースで改行してくれるようです。
</p>
<p>
word-wrapプロパティは最新のブラウザならほどんど使える事、また、英単語の途中で強制的に改行しないことを考えると、word-wrapプロパティを使うのが望ましいと言う事ですね。
</p>
<p>
それにしても、似たようなプロパティがあるというのもとても変ですね。
</p>]]>
        
    </content>
</entry>

<entry>
    <title>改行をコントロールするword-wrapプロパティは主要の最新ブラウザで有効</title>
    <link rel="alternate" type="text/html" href="http://www.coolwebwindow.com/csstips/csstechnic/000282.php" />
    <id>tag:www.coolwebwindow.com,2010:/csstips//4.282</id>

    <published>2010-05-05T01:42:55Z</published>
    <updated>2010-05-05T02:10:35Z</updated>

    <summary> 最近はword-breakするのにJSは使わないほうがいいみたい - Webt...</summary>
    <author>
        <name></name>
        
    </author>
    
        <category term="CSSの小技" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="テキストレイアウト" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="wordwrap" label="word-wrap" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://www.coolwebwindow.com/csstips/">
        <![CDATA[<p class="link">
<a href="http://webtech-walker.com/archive/2010/04/26124801.html">最近はword-breakするのにJSは使わないほうがいいみたい - Webtech Walker</a>
</p>
<p>
という記事を見て、おお！全てのブラウザでword-wrap:break-word;が有効なのか！と嬉々としました。特に、お問い合わせフォームなどで、英数字が強制改行されないとレイアウトが崩れる原因になって、よくプログラム側で制御していたので、これは嬉しい。
</p>
<h3>word-wrapプロパティとは？</h3>
<p>
まず、word-wrapプロパティとは何かと申しますと、簡単に言えば、文章の改行方法を指定するものです。単語の途中で改行するかどうかを指定します。
</p>
<p>
word-wrapプロパティは確かIEが独自先行で実装してたと思ったのですが、CSS3で草案されていて、主要の最新のブラウザで実装されているようですね。
<p>
値には、narmal、break-allの２種類があり、意味は以下のとおりです。
</p>
<dl>
<dt>normal</dt>
<dd>
英単語の途中で改行しない。表示範囲をはみ出す場合は表示範囲を拡張する。日本語は表示範囲に合わせて強制的に単語の途中でも改行する。
</dd>
<dt>break-all</dt>
<dd>
日本語も英語も表示範囲からはみ出す場合は強制的に単語の途中でも改行する。
</dd>
</dl>
<h3>サンプル</h3>
<div style="word-wrap:break-word;margin-bottom:1em;border:1px solid green">
朝起きると体がだるく感じた。とりあえず起きてみたものの、段々気分が悪くなってきた。熱を測ってみると39度7分もあった。「Oh, my God!」と僕はふざけて天を仰いだ。今日はどうしても外せない用事があるのだ。
abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789@com.abcdefghijklmnopqrstuvwxyz0123456789@com. abcdefghijklmnopqrstuvw-xyz0123-456789@com.abcdefghijklmnop/qrst/uvwxyz0123456789@com.abcdefghijklm_nopqrstuvwxyz0123456789@com.
</div>
<p>
ハイフンとかスラッシュがある場合は、場所によってはそこで強制的に改行するみたいです。
</p>
<h3>禁則処理</h3>
<p>
文字のレイアウトで重要なのは、禁則処理です。禁則処理とは、例えば日本語で言えば、句読点が行頭にこないなど、作文を書くときによく注意された、文章を書く上での決まりごとですね。
</p>
<p>
ブラウザによってもこの禁則処理に若干の違いがあります。Safari、Chome、Operaでは、一般的な禁則処理は行われます。
</p>
<p>
しかし、firefoxでは、｢段々｣などの｢々｣が行頭にきてしまうことがあります。また、IEでは小さい｢っ｣が行頭にきてしまうことがあります。
</p>
<p>
あと、似たようなのに、word-breakプロパティというのもあります。これも同様に改行方法を指定するものなのですが、ブラウザで実装状況が異なるようです。詳しくは別の機会に。
</p>]]>
        
    </content>
</entry>

<entry>
    <title>IE6で、floatした要素にmarginを指定すると値が2倍になる</title>
    <link rel="alternate" type="text/html" href="http://www.coolwebwindow.com/csstips/help/000281.php" />
    <id>tag:www.coolwebwindow.com,2010:/csstips//4.281</id>

    <published>2010-05-04T09:06:50Z</published>
    <updated>2011-08-15T00:46:35Z</updated>

    <summary> ｢IE6以前のブラウザにおいて、floatしたブロック要素にマージン（marg...</summary>
    <author>
        <name></name>
        
    </author>
    
        <category term="ヘルプ" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="display" label="display" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="margin" label="margin" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://www.coolwebwindow.com/csstips/">
        <![CDATA[<p>
｢IE6以前のブラウザにおいて、floatしたブロック要素にマージン（margin）を指定すると値が2倍になってしまう｣というのは非常に有名なIE6のバグなのですが、最近floatを解除するのに、親要素にfloatを指定して回り込みを解除することをよくしているので、このバグによく遭遇します。このバグの解決方法を紹介します。
</p>
<p class="textHTML">(X)HTMLコード</p>
<pre class="HTML prettyprint"><code>&lt;ul&gt;
&lt;li&gt;テキスト&lt;/li&gt;
&lt;li&gt;テキスト&lt;/li&gt;
&lt;li&gt;テキスト&lt;/li&gt;
&lt;li&gt;テキスト&lt;/li&gt;
&lt;/ul&gt;</code></pre>
<p class="textCSS">CSSコード</p>
<pre class="CSS prettyprint"><code>li {
   display:inline;
   float:left;
}</code></pre>
<p>
display:inline;にすると、他のブラウザで不都合は起こらないのか？という疑問が起こるわけですが、仕様どおりの動作をするブラウザでは起こりません。
</p>
<p>
というのも、｢floatを指定した要素にdisplayプロパティは無視される｣と仕様書に書いてあります。
</p>
<blockquote cite="http://www.swlab.it.okayama-u.ac.jp/man/rec-css2/visuren.html#float-position"title="視覚整形モデル">
<p>float:left・・・左に浮動するブロックボックスを生成する。 続く内容は、（'clear'プロパティの指定に従いつつ）そのボックスの右側に上から流し込まれる。 このプロパティが'none'以外の値を取る場合、その要素の'display'プロパティは無視される。</p>
</blockquote>
<p><a href="http://www.swlab.it.okayama-u.ac.jp/man/rec-css2/visuren.html#float-position">視覚整形モデル</a>より引用</p>
<p>
また、リストを横並びにして、余白をマージンで空ける場合があります。その際、最後の余白は不必要な場合、親要素にマイナスのマージン（ネガティブマージン）を指定することで、各要素の間だけに余白を空けることが出来ます。しかし、IE6ではネガティブマージンが効かない場合があります。
</p>
<p class="link">
<a href="http://www.coolwebwindow.com/csstips/csstechnic/000259.php">余白のあるメニューの特定の余白を消す方法 - CSSデザインノート</a>
</p>
<p>
IE6でネガティブマージンを有効にするために「zoom:1;」を指定します。
</p>
<p class="textCSS">CSSコード</p>
<pre class="CSS prettyprint"><code>ul {
   zoom:1;
}</code></pre>
これはhasLayoutプロパティの値をtrueにするためです。hasLayoutに関しては、以下のサイトなどを参考にしてください。
</p>
<p class="link">
<a href="http://labs.unoh.net/2007/09/what-is-haslayout.html">ウノウラボ Unoh Labs: hasLayoutとは何か</a>
</p>]]>
        
    </content>
</entry>

<entry>
    <title>リストをfloatで横並びにする際、画像の下に余白が空く</title>
    <link rel="alternate" type="text/html" href="http://www.coolwebwindow.com/csstips/help/000280.php" />
    <id>tag:www.coolwebwindow.com,2010:/csstips//4.280</id>

    <published>2010-04-29T11:49:52Z</published>
    <updated>2010-04-29T12:56:49Z</updated>

    <summary> HTMLで画像を指定したメニューをfloatで横並びにしたくて、実際に以下の記...</summary>
    <author>
        <name></name>
        
    </author>
    
        <category term="ヘルプ" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="ja" xml:base="http://www.coolwebwindow.com/csstips/">
        <![CDATA[<p>
HTMLで画像を指定したメニューをfloatで横並びにしたくて、実際に以下の記事を参考にCSSでロールオーバーメニューを作っていたときの事です。
</p>
<p class="link">
<a href="http://www.coolwebwindow.com/csstips/csstechnic/000265.php">アクセシビリティの高いCSSロールオーバーメニュー - CSSデザインノート</a>
</p>
<p>
なぜか、画像の下に余白が開いてしまうことに気づきました。参考元の以下の記事では、そんなことが起こってはいませんでした。
</p>
<p class="link">
<a href="http://css-eblog.com/css-only/dkir-rollover.html">ピュアCSSで実装するDKIRを応用した画像ボタンのロールオーバー効果 | CSS-EBLOG</a>
</p>
<p>
これから推測するに、真っ先に思いついたのが、DOCTYPE宣言の違い。私は、｢xhtml1-transitional.dtd｣だったのですが、CSS-EBLOGさんのデモページでは｢xhtml1-strict.dtd｣でした。
</p>
<p>
試しにxhtml1-strict.dtdにしてみると、下の隙間は空きませんでした。
</p>
<p class="textHTML">(X)HTMLコード</p>
<pre class="HTML prettyprint"><code>&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"&gt;</code></pre>
<p>
ただ、それだけのためにDOCTYPE宣言を変えるのは他にも影響が出そうでなかなか難しいですよね。
</p>
<p>
画像の下に余白が空いていたのですが、それがulの領域が広がっていたためというのが、Firofoxの<a href="https://addons.mozilla.org/ja/firefox/addon/60">Web Developer</a>を使ってわかったので、単純に思いつくのが、｢line-height｣が悪さをしているのではないかということ。ulかliに｢line-height:0;｣というように、値を0にすると、隙間が空かなくなりました。
</p>
<p class="textCSS">CSSコード</p>
<pre class="CSS prettyprint"><code>ul {
   line-height:0;
}</code></pre>
<p>
あるいは
</p>
<p class="textCSS">CSSコード</p>
<pre class="CSS prettyprint"><code>li {
   line-height:0;
}</code></pre>
<p>
逆に、DOCTYPE宣言が｢xhtml1-strict.dtd｣で、ulかliに｢line-height:0;｣を指定してしまうと、余白が空いてしまうようです。どうしてこのようなことが起こるのかよくわかりません。
</p>
<p>
ちなみに｢xhtml1-transitional.dtd｣で余白が空いてしまうのは、Firefox、Google Chome、Safari(Windows XP）でした。｢xhtml1-strict.dtd｣でulかliに｢line-height:0;｣でレイアウトが崩れてしまうのが、Firefox、Operaでした。
</p>
<p>
IE6と7は特に不具合は起こりませんでしたが、IE8だけは｢xhtml1-transitional.dtd｣かつ｢line-height:0;｣を指定すると余白は消えましたが、｢xhtml1-strict.dtd｣だけでは余白は消えず、｢xhtml1-strict.dtd｣かつ｢line-height:0;｣をすると、余白は消えました。謎ですね。
</p>
<p>
要約すると、隙間を空けないようにするには、DOCTYPE宣言を
</p>
<p class="textHTML">(X)HTMLコード</p>
<pre class="HTML prettyprint"><code>&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt;</code></pre>
<p>
にして、CSSにて、
</p>
<p class="textCSS">CSSコード</p>
<pre class="CSS prettyprint"><code>ul {
   line-height:0;
}</code></pre>
<p>
あるいは
</p>
<p class="textCSS">CSSコード</p>
<pre class="CSS prettyprint"><code>li {
   line-height:0;
}</code></pre>
<p>
を指定します。
</p>


]]>
        
    </content>
</entry>

<entry>
    <title>ブラウザ別HTML5、CSS3実装状況</title>
    <link rel="alternate" type="text/html" href="http://www.coolwebwindow.com/csstips/reference/000278.php" />
    <id>tag:www.coolwebwindow.com,2010:/csstips//4.278</id>

    <published>2010-04-10T08:31:44Z</published>
    <updated>2010-04-10T08:45:42Z</updated>

    <summary> 英語のサイトで恐縮ですが、HTML5とCSS3の実装状況をまとめたサイトがあり...</summary>
    <author>
        <name></name>
        
    </author>
    
        <category term="リファレンス" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="ja" xml:base="http://www.coolwebwindow.com/csstips/">
        <![CDATA[<p>
英語のサイトで恐縮ですが、HTML5とCSS3の実装状況をまとめたサイトがありましたので紹介します。これをみると、SafariやFirefoxが優秀で、IEは最新版の8でも、実装が追いていないのがわかります。IEのシェアは日本では大きいのでもう少し頑張っていただきたい事ですね。
</p>
<p>
<a href="http://www.findmebyip.com/litmus/#target-selector"><img src="/csstips/images/reference/000278.gif" alt="ブラウザ別HTML5、CSS3実装状況" /></a>
</p>
<p class="link">
<a href="http://www.findmebyip.com/litmus/#target-selector">Web Designer's Checklist, Web Designers' Browser Support Checklist</a>
</p>
]]>
        
    </content>
</entry>

<entry>
    <title>決定版！？Clearfixのソースコードはここまで短くなった</title>
    <link rel="alternate" type="text/html" href="http://www.coolwebwindow.com/csstips/csstechnic/000277.php" />
    <id>tag:www.coolwebwindow.com,2010:/csstips//4.277</id>

    <published>2010-04-05T04:04:05Z</published>
    <updated>2010-04-05T06:18:42Z</updated>

    <summary> マルチカラム構造にしたときなど、ブロック要素の回り込みを解除するのに、Clea...</summary>
    <author>
        <name></name>
        
    </author>
    
        <category term="CSSの小技" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="レイアウト" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="clearfix" label="clearfix" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://www.coolwebwindow.com/csstips/">
        <![CDATA[<p>
マルチカラム構造にしたときなど、ブロック要素の回り込みを解除するのに、Clearfixと呼ばれるテクニックを使用するのが便利です。ブラウザの移り変わりにより、動作対象とする古いブラウザを考慮しなくなってもよくなってきたこの頃ですので、Clearfixのソースコードも以下のようにここまでスリムになりました。
</p>

<p class="textCSS">CSSコード</p>
<pre class="CSS prettyprint"><code>element{
   &frasl;zoom:1;
}

element:after {
   content:'';
   display:block;
   clear:both;
}</code></pre>

<p>
これはNetScapeとMacのIEを考慮していないソースコードになります。｢/zoom:1;｣のようにプロパティの前にスラッシュをつけるとIE6と7だけに適用されるようです。今まで知りませんでした。
</p>
<p>
このclearfixを使う他に、単純に回り込みを解除させたい要素に｢overflow:hidden｣を適用すればよいというのもあります。印刷時に問題があるらしいのですが、印刷用のCSSを用意する場合は｢overflow:auto;｣などとしておけばよいので、結構使える技ではあります。
</p>
<h3>参考</h3>
<p class="link">
<a href="http://www.yomotsu.net/wp/?p=561">いまどき ? いまさら ? clear fix のコード | ヨモツネット</a>
</p>]]>
        
    </content>
</entry>

<entry>
    <title>CSS3のアニメーション機能を利用してメニューを彩る</title>
    <link rel="alternate" type="text/html" href="http://www.coolwebwindow.com/csstips/csstechnic/000274.php" />
    <id>tag:www.coolwebwindow.com,2010:/csstips//4.274</id>

    <published>2010-03-06T05:30:46Z</published>
    <updated>2010-03-06T05:47:26Z</updated>

    <summary> 小技の効いたサイトを発見しました。 せせらぎダイニング このサイトで、左のメニ...</summary>
    <author>
        <name></name>
        
    </author>
    
        <category term="CSSの小技" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="メニュー" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="css3transition" label="CSS3 transition" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://www.coolwebwindow.com/csstips/">
        <![CDATA[<p>
小技の効いたサイトを発見しました。
</p>
<p class="link">
<a href="http://www.seseragidining.jp/">せせらぎダイニング</a>
</p>
<p>
このサイトで、左のメニューにカーソルを合わせると英語表記のところがゆっくりと色が変化していくのがわかると思います。トランジション効果と言えばよいのでしょうか、アニメーション処理がしてあります。
</p>
<p>
このサイトの場合は、画像のロールオーバー時に、JavaScriptでアニメーション処理をしていると思うのですが、今回画像なしで似たような動作をやってみます。CSS3とそれに対応しているブラウザを使用します。残念ながら現在はSafari4.0とGoogle Chomeしか動作しないようです。
</p>
<p>
<h3>サンプル</h3>
<p class="link">
<a href="/csstips/sample/000274">サンプルはこちらから</a>
</p>
<h3>動作確認</h3>
<p>
Google Chrome 4.0、Safari 4.0.4 for Windows XPです。
</p>
<p>
CSS3はまだ正式勧告されていないので、使用する場合にはプロパティの前にベンダープリフィックスと呼ばれる接頭辞をつける必要があります。SafariおよびChomeは｢-webkit-｣です。
</p>
<p class="textHTML">(X)HTMLコード</p>
<pre class="HTML prettyprint"><code>&lt;ul&gt;
&lt;li&gt;&lt;a href="concept.html"&gt;コンセプト&lt;span&gt;&lt;br /&gt;CONCEPT&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="menu1.html"&gt;メニュー&lt;span&gt;&lt;br /&gt;MENU&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=""&gt;新着・お得情報&lt;br /&gt;&lt;span&gt;NEW&amp;EVENTS&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=""&gt;お問合せ・ご予約&lt;br /&gt;&lt;span&gt;CONTACT&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="info.html"&gt;店舗情報・地図&lt;br /&gt;&lt;span&gt;INFORMATION&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</code></pre>
<p class="textCSS">CSSコード</p>
<pre class="CSS prettyprint"><code>ul {
   width:200px;
   background:#735D4A;
   margin:0;
   padding:0 10px;
}

li {
   list-style:none;
   border-bottom:#524139 1px solid;
}

li:last-child {
   border-bottom:none;
}

li a {
   display:block;
   padding:15px 0 15px 30px;
   font-family:"ＭＳ 明朝",serif;
   color:#F7F3EF;
   font-size:14px;
   text-shadow:2px 2px 2px rgba(0,0,0,0.6);
   -moz-text-shadow:2px 2px 2px rgba(0,0,0,0.6);
   -webkit-text-shadow:2px 2px 2px rgba(0,0,0,0.6);
   line-height:1.4;
   letter-spacing:1px;
   background:url("bg_list.gif") 10px 50% no-repeat;
   text-decoration:none;
   outline: none;
}

li a span {
   color:#080808;
   font-family: "arial",sans-serif;
   font-size:10px;
   text-shadow:none;
   -moz-text-shadow:none;
   -webkit-text-shadow:none;
   -webkit-transition-duration:0.4s;
}

li a:hover span {
   color:#F79239;
}</code></pre>
<p>
｢-webkit-transition-duration:0.4s｣というのがアニメーション部分の指定になります。メニューをマウスオーバーしたときに、英語表記の部分だけが0.4秒かけて色がゆっくりと変わります。
</p>
<p>
また、CSS3のテキストにシャドーをつけれる｢text-shadow｣、親子関係の最後の子要素だけに適用する｢:last-child｣も併せて使用しています。
</p>]]>
        
    </content>
</entry>

<entry>
    <title>コンテンツ量が少なくてもデザインくずれを起こさないようにフッターを固定する</title>
    <link rel="alternate" type="text/html" href="http://www.coolwebwindow.com/csstips/csstechnic/000273.php" />
    <id>tag:www.coolwebwindow.com,2010:/csstips//4.273</id>

    <published>2010-02-26T23:18:29Z</published>
    <updated>2010-02-26T23:30:10Z</updated>

    <summary> ホームページのデザインによっては、コンテンツ部分が少ないとフッターの下に余白が...</summary>
    <author>
        <name></name>
        
    </author>
    
        <category term="CSSの小技" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="レイアウト" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="ja" xml:base="http://www.coolwebwindow.com/csstips/">
        <![CDATA[<p>
ホームページのデザインによっては、コンテンツ部分が少ないとフッターの下に余白ができてかっこ悪くなる場合があります。
そのような場合には、フッターを固定する事でデザインのくずれを防ぐことができます。
</p>
<p>
ポイントは｢フッター以外の要素を囲むブロック要素｣と｢フッターを囲む要素｣を作る事です。このブロック要素にpading-bottomで、フッター分の余白を設け、フッターをposition:relativeで位置を決めます。ここで重要な事はフッターの縦の大きさは固定でなければならないということです。
</p>
<h3>サンプル</h3>
<p>
当サイトで配布しているCSSテンプレート｢pub002｣をフッター固定にしてみました。
</p>
<p class="link">
<a href="/csstips/sample/000273/">サンプルはこちらから</a>
</p>
<h3>動作確認</h3>
<p>

Firefox3.5.8、Google Chrome 4.0、Safari 4.0.4、Opera 10.10、IE6 for Windows XPです。
</p>
<p class="textHTML">(X)HTMLコード</p>
<pre class="HTML prettyprint"><code>&lt;div id="top"&gt;
   &lt;div id="header"&gt;&lt;/div&gt;&lt;!-- header end --&gt;
   &lt;div id="contents"&gt;
      &lt;div id="main"&gt;&lt;/div&gt;&lt;!-- main end --&gt;
      &lt;div id="sub"&gt;&lt;/div&gt;&lt;!-- sub end --&gt;
   &lt;/div&gt;&lt;!-- contents end --&gt;
&lt;/div&gt;&lt;!-- top end --&gt;
&lt;div id="footerWrap"&gt;
   &lt;div id="footer"&gt;
      &lt;div id="totop"&gt;&lt;/div&gt;
      &lt;div id="footerMenu"&gt;&lt;/div&gt;&lt;!-- footerMenu end --&gt;
   &lt;/div&gt;&lt;!-- footer end --&gt;
&lt;/div&gt;&lt;!-- footerWrap end --&gt;</code></pre>

<p class="textCSS">CSSコード</p>
<pre class="CSS prettyprint"><code>/* ========FOOTER FIX======== */
* {
   margin:0;
}

html,
   body,
   div#top {
   height:100%;
}

body > div#top {
   height: auto;
   min-height: 100%;
}

div#contents {
   padding-bottom:150px;/* フッターの高さと同じ値にする */
}

div#footerWrap {
   position:relative;
   margin-top:-150px;/* フッターの高さと同じ値にする */
   height:150px;/* フッターの高さを指定 */
}</code></pre>]]>
        
    </content>
</entry>

<entry>
    <title>カーソルを合わせたメニューを強調する</title>
    <link rel="alternate" type="text/html" href="http://www.coolwebwindow.com/csstips/csstechnic/000270.php" />
    <id>tag:www.coolwebwindow.com,2010:/csstips//4.270</id>

    <published>2010-01-20T13:41:34Z</published>
    <updated>2010-01-22T09:55:41Z</updated>

    <summary> CSS HappyLifeの平澤さんが新しいサイト「CSS HappyLife...</summary>
    <author>
        <name></name>
        
    </author>
    
        <category term="CSSの小技" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="メニュー" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="rollover" label="roll-over" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://www.coolwebwindow.com/csstips/">
        <![CDATA[<p>
<a href="http://css-happylife.com/">CSS HappyLife</a>の平澤さんが新しいサイト「<a href="http://css-happylifezero.com/">CSS HappyLife ZERO</a>」をオープンされたのですが、そのメニュー部分がとても素敵だったので、参考に同じようなものを作ってみました。
</p>
<p>
ちなみに全くソースコードは拝見していませんので、同じようには作られてはいないと思います。
</p>
<p>
前回の記事「<a href="http://www.coolwebwindow.com/csstips/csstechnic/000265.php">アクセシビリティの高いCSSロールオーバーメニュー</a>」を参考にすれば、比較的簡単に作れそうです。
</p>
<h3>サンプル</h3>
<p class="link">
<a href="/csstips/sample/000270/">サンプルはこちらから</a>
</p>
<h3>動作確認</h3>
<p>
Firefox3.5.7、Google Chrome 3.0、Safari 4.0.4 for Windows XPです。IE6はhoverに対応していませんので、強調する効果は得られませんが、不具合なく表示する事はできます。<del>Opera 10.10は正常に動作しません。なぜでしょう。</del>「ul#menu li a」に「display:inline-block;」を追加するとちゃんと動作しました。
</p>
<p class="textHTML">(X)HTMLコード</p>
<pre class="HTML prettyprint"><code>&lt;ul id="menu"&gt;
   &lt;li class="menu1"&gt;&lt;a href="#" class="current"&gt;&lt;img src="images/menu1.gif" alt="menu1" /&gt;&lt;/a&gt;&lt;/li&gt;
   &lt;li class="menu2"&gt;&lt;a href="#"&gt;&lt;img src="images/menu2.gif" alt="menu2" /&gt;&lt;/a&gt;&lt;/li&gt;
   &lt;li class="menu3"&gt;&lt;a href="#"&gt;&lt;img src="images/menu3.gif" alt="menu3" /&gt;&lt;/a&gt;&lt;/li&gt;
   &lt;li class="menu4"&gt;&lt;a href="#"&gt;&lt;img src="images/menu4.gif" alt="menu4" /&gt;&lt;/a&gt;&lt;/li&gt;
   &lt;li class="menu5"&gt;&lt;a href="#"&gt;&lt;img src="images/menu5.gif" alt="menu5" /&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</code></pre>
<p class="textCSS">CSSコード</p>
<pre class="CSS prettyprint"><code>img {
   border:0;
}

ul#menu {
   float:left;
   margin:0;
   padding:0;
}

ul#menu:hover {
   background: url(images/bg_menu_hover.gif) no-repeat;
}

ul#menu li {
   float:left;
   margin:0;
   padding:0;
   list-style:none;
}

ul#menu li a {
   display:block;
   display:inline-block;
   width:100px;
   height:30px;
}

ul#menu li a:hover,
ul#menu li a.current {
   background-image:url(images/bg_menu_on.gif);
}

ul#menu li.menu1 a:hover,
ul#menu li.menu1 a.current {
   background-position:0 0;
}

ul#menu li.menu2 a:hover,
ul#menu li.menu2 a.current {
   background-position:-100px 0;
}

ul#menu li.menu3 a:hover,
ul#menu li.menu3 a.current {
   background-position:-200px 0;
}

ul#menu li.menu4 a:hover,
ul#menu li.menu4 a.current {
   background-position:-300px 0;
}

ul#menu li.menu5 a:hover,
ul#menu li.menu5 a.current {
   background-position:-400px 0;
}

ul#menu li img {
   position:relative;
   z-index:-1;
}</code></pre>
<p>
考え方としては、リスト（ul）の背景に目立たない用のリスト画像を指定し、特定のメニューにカーソルがあったときはそのメニューだけオンマウス用の画像に切り替え、他のメニューはリストの一番下に回りこませてることにより目立たない用のリスト画像が表示されるというわけです。
</p>
<p>
また、現在表示しているページのメニューも目立たせたい場合は、a要素にcurrentというクラス名をつけて、CSSのほうで個別にスタイルを指定するとよいと思います。
</p>
]]>
        
    </content>
</entry>

</feed>

