<?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>kzms2 - html,css,javascript &#187; 子ネタ</title>
	<atom:link href="http://kzms2.com/category/%e5%ad%90%e3%83%8d%e3%82%bf/feed/" rel="self" type="application/rss+xml" />
	<link>http://kzms2.com</link>
	<description>HTML、CSS、Javascript、Actionscriptなどページを作るのに必要なものならなんでも取り扱います。某ポータルのトップページをコーディング担当。</description>
	<lastBuildDate>Mon, 31 May 2010 03:27:08 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>css3のみ・画像無しでローディング</title>
		<link>http://kzms2.com/2010/03/11/loading_only_css3/</link>
		<comments>http://kzms2.com/2010/03/11/loading_only_css3/#comments</comments>
		<pubDate>Wed, 10 Mar 2010 18:03:45 +0000</pubDate>
		<dc:creator>Zuma</dc:creator>
				<category><![CDATA[サンプルデモ]]></category>
		<category><![CDATA[子ネタ]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[css3]]></category>
		<category><![CDATA[sample]]></category>

		<guid isPermaLink="false">http://kzms2.com/?p=629</guid>
		<description><![CDATA[
topsyWidgetPreload({ "url": "http%3A%2F%2Fkzms2.com%2F2010%2F03%2F11%2Floading_only_css3%2F", "style": "big", "title": "css3のみ・画像無しでローディング" });
概要
よく画像でグルグル回って、ローディングを表現するのがあると思うのですが、それをcss3のみで作成してみました。

↑こんな感じのやつのことですね。
css3のアニメーションを使用しているのでChrome3やSafari4などで見てみてください。
iPhoneでも動くと思います。多分…
※確認したら動きました。
詳細は続きから。

デモ

10%
20%
30%
40%
50%
60%
70%
80%
90%
100%

よかった。ちゃんと動いていますね。
サンプルはこちらにも用意してあります。
HTMLとCSS、解説は以下を参照してください。
ソース
HTML
&#60;ul class=&#34;kzms2loading&#34;&#62;
&#60;li class=&#34;kzms2loading1&#34;&#62;10%&#60;/li&#62;
&#60;li class=&#34;kzms2loading2&#34;&#62;20%&#60;/li&#62;
&#60;li class=&#34;kzms2loading3&#34;&#62;30%&#60;/li&#62;
&#60;li class=&#34;kzms2loading4&#34;&#62;40%&#60;/li&#62;
&#60;li class=&#34;kzms2loading5&#34;&#62;50%&#60;/li&#62;
&#60;li class=&#34;kzms2loading6&#34;&#62;60%&#60;/li&#62;
&#60;li class=&#34;kzms2loading7&#34;&#62;70%&#60;/li&#62;
&#60;li class=&#34;kzms2loading8&#34;&#62;80%&#60;/li&#62;
&#60;li class=&#34;kzms2loading9&#34;&#62;90%&#60;/li&#62;
&#60;li class=&#34;kzms2loading10&#34;&#62;100%&#60;/li&#62;
&#60;/ul&#62;
CSS
/* ローディングを入れる箱の設定
--------------------------------*/
.kzms2loading{
/* 100x100の箱を作成 */
margin:0;
padding:0;
list-style:none;
width:100px;
height:100px;
position:relative;
/* scaleの値をいじれば大きさを変更可能 */
-webkit-transform:scale(1);
}
/* リスト内の共通設定
--------------------------------*/
.kzms2loading li{
/* 絶対配置で中央に配置 */
position:absolute;
top:50%;
left:50%;
height:0;
width:0;
margin:-10px 0 0 -10px;
/* リセット用css */
padding:0;
list-style:none;
/* テキスト飛ばし */
text-indent:-9999px;
/* 初期設定で透過に */
opacity:0.1;
/* ボーダーで無理やり●を表現 */
border:10px solid #666;
background-color:#666;
-webkit-border-radius:10px;
/* アニメーション設定 */
-webkit-animation-duration:2.5s;
-webkit-transform-origin:50% 50%;
-webkit-animation-name:kzms2loading;
-webkit-animation-iteration-count:infinite;
}
/* ●の個別設定（配置と遅延設定）
--------------------------------*/
.kzms2loading1{-webkit-transform:rotate(0deg) translate(0,-40px);}
.kzms2loading2{-webkit-transform:rotate(36deg) translate(0,-40px);-webkit-animation-delay:0.25s;}
.kzms2loading3{-webkit-transform:rotate(72deg) translate(0,-40px);-webkit-animation-delay:0.5s;}
.kzms2loading4{-webkit-transform:rotate(108deg) translate(0,-40px);-webkit-animation-delay:0.75s;}
.kzms2loading5{-webkit-transform:rotate(144deg) translate(0,-40px);-webkit-animation-delay:1s;}
.kzms2loading6{-webkit-transform:rotate(180deg) translate(0,-40px);-webkit-animation-delay:1.25s;}
.kzms2loading7{-webkit-transform:rotate(216deg) translate(0,-40px);-webkit-animation-delay:1.5s;}
.kzms2loading8{-webkit-transform:rotate(252deg) translate(0,-40px);-webkit-animation-delay:1.75s;}
.kzms2loading9{-webkit-transform:rotate(288deg) translate(0,-40px);-webkit-animation-delay:2s;}
.kzms2loading10{-webkit-transform:rotate(324deg) translate(0,-40px);-webkit-animation-delay:2.25s;}
/* [...]]]></description>
			<content:encoded><![CDATA[
<div class="topsy_widget_data topsy_theme_blue" style="float: left;margin-left: 0.75em; background: url(data:,%7B%20%22url%22%3A%20%22http%253A%252F%252Fkzms2.com%252F2010%252F03%252F11%252Floading_only_css3%252F%22%2C%20%22style%22%3A%20%22big%22%2C%20%22title%22%3A%20%22css3%E3%81%AE%E3%81%BF%E3%83%BB%E7%94%BB%E5%83%8F%E7%84%A1%E3%81%97%E3%81%A7%E3%83%AD%E3%83%BC%E3%83%87%E3%82%A3%E3%83%B3%E3%82%B0%22%20%7D);"><script type="text/javascript">topsyWidgetPreload({ "url": "http%3A%2F%2Fkzms2.com%2F2010%2F03%2F11%2Floading_only_css3%2F", "style": "big", "title": "css3のみ・画像無しでローディング" });</script></div>
<h3 class="postMds">概要</h3>
<p>よく画像でグルグル回って、ローディングを表現するのがあると思うのですが、それをcss3のみで作成してみました。<br />
<img src="http://kzms2.com/wp-content/uploads/2010/03/loading.gif" alt="loading" width="48" height="48" class="attachment wp-att-630 "/><br />
↑こんな感じのやつのことですね。</p>
<p>css3のアニメーションを使用しているのでChrome3やSafari4などで見てみてください。<br />
iPhoneでも動くと思います。多分…<br />
※確認したら動きました。</p>
<p>詳細は続きから。</p>
<p><span id="more-629"></span></p>
<h3 class="postMds">デモ</h3>
<ul class="kzms2loading">
<li class="kzms2loading1">10%</li>
<li class="kzms2loading2">20%</li>
<li class="kzms2loading3">30%</li>
<li class="kzms2loading4">40%</li>
<li class="kzms2loading5">50%</li>
<li class="kzms2loading6">60%</li>
<li class="kzms2loading7">70%</li>
<li class="kzms2loading8">80%</li>
<li class="kzms2loading9">90%</li>
<li class="kzms2loading10">100%</li>
</ul>
<p>よかった。ちゃんと動いていますね。<br />
サンプルは<a href="http://kzms2.com/entry/css3/loading.html">こちら</a>にも用意してあります。</p>
<p>HTMLとCSS、解説は以下を参照してください。</p>
<h3 class="postMds">ソース</h3>
<h4 class="postMds">HTML</h4>
<p><code class="html">&lt;ul class=&quot;kzms2loading&quot;&gt;<br />
&lt;li class=&quot;kzms2loading1&quot;&gt;10%&lt;/li&gt;<br />
&lt;li class=&quot;kzms2loading2&quot;&gt;20%&lt;/li&gt;<br />
&lt;li class=&quot;kzms2loading3&quot;&gt;30%&lt;/li&gt;<br />
&lt;li class=&quot;kzms2loading4&quot;&gt;40%&lt;/li&gt;<br />
&lt;li class=&quot;kzms2loading5&quot;&gt;50%&lt;/li&gt;<br />
&lt;li class=&quot;kzms2loading6&quot;&gt;60%&lt;/li&gt;<br />
&lt;li class=&quot;kzms2loading7&quot;&gt;70%&lt;/li&gt;<br />
&lt;li class=&quot;kzms2loading8&quot;&gt;80%&lt;/li&gt;<br />
&lt;li class=&quot;kzms2loading9&quot;&gt;90%&lt;/li&gt;<br />
&lt;li class=&quot;kzms2loading10&quot;&gt;100%&lt;/li&gt;<br />
&lt;/ul&gt;</code></p>
<h4 class="postMds">CSS</h4>
<p><code class="css">/* ローディングを入れる箱の設定<br />
--------------------------------*/<br />
.kzms2loading{<br />
/* 100x100の箱を作成 */<br />
margin:0;<br />
padding:0;<br />
list-style:none;<br />
width:100px;<br />
height:100px;<br />
position:relative;<br />
/* scaleの値をいじれば大きさを変更可能 */<br />
-webkit-transform:scale(1);<br />
}<br />
/* リスト内の共通設定<br />
--------------------------------*/<br />
.kzms2loading li{<br />
/* 絶対配置で中央に配置 */<br />
position:absolute;<br />
top:50%;<br />
left:50%;<br />
height:0;<br />
width:0;<br />
margin:-10px 0 0 -10px;<br />
/* リセット用css */<br />
padding:0;<br />
list-style:none;<br />
/* テキスト飛ばし */<br />
text-indent:-9999px;<br />
/* 初期設定で透過に */<br />
opacity:0.1;<br />
/* ボーダーで無理やり●を表現 */<br />
border:10px solid #666;<br />
background-color:#666;<br />
-webkit-border-radius:10px;<br />
/* アニメーション設定 */<br />
-webkit-animation-duration:2.5s;<br />
-webkit-transform-origin:50% 50%;<br />
-webkit-animation-name:kzms2loading;<br />
-webkit-animation-iteration-count:infinite;<br />
}<br />
/* ●の個別設定（配置と遅延設定）<br />
--------------------------------*/<br />
.kzms2loading1{-webkit-transform:rotate(0deg) translate(0,-40px);}<br />
.kzms2loading2{-webkit-transform:rotate(36deg) translate(0,-40px);-webkit-animation-delay:0.25s;}<br />
.kzms2loading3{-webkit-transform:rotate(72deg) translate(0,-40px);-webkit-animation-delay:0.5s;}<br />
.kzms2loading4{-webkit-transform:rotate(108deg) translate(0,-40px);-webkit-animation-delay:0.75s;}<br />
.kzms2loading5{-webkit-transform:rotate(144deg) translate(0,-40px);-webkit-animation-delay:1s;}<br />
.kzms2loading6{-webkit-transform:rotate(180deg) translate(0,-40px);-webkit-animation-delay:1.25s;}<br />
.kzms2loading7{-webkit-transform:rotate(216deg) translate(0,-40px);-webkit-animation-delay:1.5s;}<br />
.kzms2loading8{-webkit-transform:rotate(252deg) translate(0,-40px);-webkit-animation-delay:1.75s;}<br />
.kzms2loading9{-webkit-transform:rotate(288deg) translate(0,-40px);-webkit-animation-delay:2s;}<br />
.kzms2loading10{-webkit-transform:rotate(324deg) translate(0,-40px);-webkit-animation-delay:2.25s;}<br />
/* フェードイン・アウトのアニメーション<br />
--------------------------------*/<br />
@-webkit-keyframes kzms2loading{<br />
	0%{<br />
		opacity:0.1;<br />
	}<br />
	50%{<br />
		opacity:1;<br />
	}<br />
	100%{<br />
		opacity:0.1;<br />
	}<br />
}</code></p>
<h3 class="postMds">まとめのようなもの</h3>
<p>どんなHTMLにしようか悩みましたが、とりあえずリストにしてみました。<br />
正直深い意味はないです。<br />
HTML5で考えればよかったですねどうせなら…</p>
<p>そしてCSSですが結構細かなことをしているのですが、要約すると以下の様な感じかと思います。</p>
<ol>
<li>olとliをcssで位置調整</li>
<li>liのwidthとheightを0にして、borderとborder-radiusで●を表現</li>
<li>CSS3アニメーションをliに設定</li>
<li>各liを適切な位置に配置して、アニメーションを遅延する設定にする</li>
<li>アニメーションをフェードイン・アウトさせる</li>
</ol>
<p>順番が若干入れ替わってたりしていますが、大体こんなことをさせています。<br />
まだまだいろいろなことが出来てしまいそうですねっ</p>
<p>説明がアバウトすぎるかもしれませんが過去に書いた以下の関連する記事などを眺めて感じ取ってみてください！</p>
<style type="text/css">
.kzms2loading{
margin:0;
padding:0;
list-style:none;
width:100px;
height:100px;
position:relative;
}
.kzms2loading li{
position:absolute;
top:50%;
left:50%;
height:0;
width:0;
margin:-10px 0 0 -10px;
list-style:none !important;
padding:0;
border:10px solid #666;
background-color:#666;
text-indent:-9999px;
opacity:0.1;
-webkit-border-radius:10px;
-webkit-animation-duration:2.5s;
-webkit-transform-origin:50% 50%;
-webkit-animation-name:kzms2loading;
-webkit-animation-iteration-count:infinite;
}
.kzms2loading1{-webkit-transform:rotate(0deg) translate(0,-40px);}
.kzms2loading2{-webkit-transform:rotate(36deg) translate(0,-40px);-webkit-animation-delay:0.25s;}
.kzms2loading3{-webkit-transform:rotate(72deg) translate(0,-40px);-webkit-animation-delay:0.5s;}
.kzms2loading4{-webkit-transform:rotate(108deg) translate(0,-40px);-webkit-animation-delay:0.75s;}
.kzms2loading5{-webkit-transform:rotate(144deg) translate(0,-40px);-webkit-animation-delay:1s;}
.kzms2loading6{-webkit-transform:rotate(180deg) translate(0,-40px);-webkit-animation-delay:1.25s;}
.kzms2loading7{-webkit-transform:rotate(216deg) translate(0,-40px);-webkit-animation-delay:1.5s;}
.kzms2loading8{-webkit-transform:rotate(252deg) translate(0,-40px);-webkit-animation-delay:1.75s;}
.kzms2loading9{-webkit-transform:rotate(288deg) translate(0,-40px);-webkit-animation-delay:2s;}
.kzms2loading10{-webkit-transform:rotate(324deg) translate(0,-40px);-webkit-animation-delay:2.25s;}
@-webkit-keyframes kzms2loading{
	0%{
		opacity:0.1;
	}
	50%{
		opacity:1;
	}
	100%{
		opacity:0.1;
	}
}
</style>

]]></content:encoded>
			<wfw:commentRss>http://kzms2.com/2010/03/11/loading_only_css3/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>IE6を葬るCSS5つ</title>
		<link>http://kzms2.com/2010/03/01/goodby_ie6/</link>
		<comments>http://kzms2.com/2010/03/01/goodby_ie6/#comments</comments>
		<pubDate>Sun, 28 Feb 2010 19:06:39 +0000</pubDate>
		<dc:creator>Zuma</dc:creator>
				<category><![CDATA[子ネタ]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[ie]]></category>
		<category><![CDATA[neta]]></category>

		<guid isPermaLink="false">http://kzms2.com/?p=613</guid>
		<description><![CDATA[
topsyWidgetPreload({ "url": "http%3A%2F%2Fkzms2.com%2F2010%2F03%2F01%2Fgoodby_ie6%2F", "style": "big", "title": "IE6を葬るCSS5つ" });
背景
「Internet Explorer（IE）6は2010年3月1日に亡くなった」という設定で葬式を挙げようという企画が米国で盛り上がっている。
IE6よ、安らかに眠れ――“葬式”を米企業が企画 &#8211; ITmedia Newsより
なにやら3月1日からGoogleさんがIE6のサポートを取りやめるので、米国でIE6の葬式をしちゃおうって話らしいです。
なので便乗してIE6を葬る（？）CSSTipsを5つほど紹介します。
5つというのは特に意味は無く、キリがよいため無理やり5つ用意しました。
※ネタですのでネタ嫌いな方はスルーしてください。
続きは詳細から。

キャプチャとCSS
さくっとキャプチャとcssのサンプルを乗せてみます。
ぼかしが入ってちょっと見づらく

html{
_filter: blur(add=1,direction=135);
}
色を反転させてショッキングに

html{
_filter:invert();
}
白黒でちょっとレガシーに

html{
_filter:gray();
}
ページが薄い状態に

html{
_filter:alpha(style=1,startx=0,starty=0, finishx=0, finishy=100,opacity=50,finishopacity=20;
}
もういっそのこと消去

html{
_display:none;
}
まとめ
なんの事はない8割方IE独自CSSのfilterをただ使っただけです。すみません
_（アンダーバー）ハックを使ってIE6以下だけに適用させてるだけですね！
この流れに乗って是非IE6とおさらば出来たら、幸せな方が沢山出てきそうなのですけどねっ
…とは言ったものの、日本でのIE6のシェアはまだまだ多いはずなのでどうなっていくのかはちょっと判断が難しいですね！
今後の動向に注目したいところです。

]]></description>
			<content:encoded><![CDATA[
<div class="topsy_widget_data topsy_theme_blue" style="float: left;margin-left: 0.75em; background: url(data:,%7B%20%22url%22%3A%20%22http%253A%252F%252Fkzms2.com%252F2010%252F03%252F01%252Fgoodby_ie6%252F%22%2C%20%22style%22%3A%20%22big%22%2C%20%22title%22%3A%20%22IE6%E3%82%92%E8%91%AC%E3%82%8BCSS5%E3%81%A4%22%20%7D);"><script type="text/javascript">topsyWidgetPreload({ "url": "http%3A%2F%2Fkzms2.com%2F2010%2F03%2F01%2Fgoodby_ie6%2F", "style": "big", "title": "IE6を葬るCSS5つ" });</script></div>
<h3 class="postMds">背景</h3>
<blockquote><p>「Internet Explorer（IE）6は2010年3月1日に亡くなった」という設定で葬式を挙げようという企画が米国で盛り上がっている。</p></blockquote>
<p><a href="http://www.itmedia.co.jp/news/articles/1002/25/news038.html" >IE6よ、安らかに眠れ――“葬式”を米企業が企画 &#8211; ITmedia News</a>より</p>
<p>なにやら3月1日からGoogleさんがIE6のサポートを取りやめるので、米国でIE6の葬式をしちゃおうって話らしいです。<br />
なので便乗してIE6を葬る（？）CSSTipsを5つほど紹介します。<br />
5つというのは特に意味は無く、キリがよいため無理やり5つ用意しました。</p>
<p>※ネタですのでネタ嫌いな方はスルーしてください。</p>
<p>続きは詳細から。<br />
<span id="more-613"></span></p>
<h3 class="postMds">キャプチャとCSS</h3>
<p>さくっとキャプチャとcssのサンプルを乗せてみます。</p>
<h4 class="postMds">ぼかしが入ってちょっと見づらく</h4>
<p><img src="http://gyazo.com/aa9d5200ac2fb9db203436d462e01e89.png" alt="" /><br />
<code>html{<br />
_filter: blur(add=1,direction=135);<br />
}</code></p>
<h4 class="postMds">色を反転させてショッキングに</h4>
<p><img src="http://gyazo.com/ab1ba27bd174a84012818578fa3bf17a.png" alt="" /><br />
<code>html{<br />
_filter:invert();<br />
}</code></p>
<h4 class="postMds">白黒でちょっとレガシーに</h4>
<p><img src="http://gyazo.com/4630893ec90b1bbb75b81cc3805815be.png" alt="" /><br />
<code>html{<br />
_filter:gray();<br />
}</code></p>
<h4 class="postMds">ページが薄い状態に</h4>
<p><img src="http://gyazo.com/b745b0a95dd9a88d6bc0e1364e822e0c.png" alt="" /><br />
<code>html{<br />
_filter:alpha(style=1,startx=0,starty=0, finishx=0, finishy=100,opacity=50,finishopacity=20;<br />
}</code></p>
<h4 class="postMds">もういっそのこと消去</h4>
<p><img src="http://gyazo.com/74bf847eeb7193faa4f620f88a9c680d.png" alt="" /><br />
<code>html{<br />
_display:none;<br />
}</code></p>
<h3 class="postMds">まとめ</h3>
<p>なんの事はない8割方IE独自CSSのfilterをただ使っただけです。すみません<br />
_（アンダーバー）ハックを使ってIE6以下だけに適用させてるだけですね！</p>
<p>この流れに乗って是非IE6とおさらば出来たら、幸せな方が沢山出てきそうなのですけどねっ<br />
…とは言ったものの、日本でのIE6のシェアはまだまだ多いはずなのでどうなっていくのかはちょっと判断が難しいですね！</p>
<p>今後の動向に注目したいところです。</p>

]]></content:encoded>
			<wfw:commentRss>http://kzms2.com/2010/03/01/goodby_ie6/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>css3のみ(JS無し)で実装する動的なタブ</title>
		<link>http://kzms2.com/2009/12/16/css3_tab-without_js/</link>
		<comments>http://kzms2.com/2009/12/16/css3_tab-without_js/#comments</comments>
		<pubDate>Tue, 15 Dec 2009 18:16:08 +0000</pubDate>
		<dc:creator>Zuma</dc:creator>
				<category><![CDATA[備忘録]]></category>
		<category><![CDATA[子ネタ]]></category>
		<category><![CDATA[戯言]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[css3]]></category>
		<category><![CDATA[sample]]></category>

		<guid isPermaLink="false">http://kzms2.com/?p=420</guid>
		<description><![CDATA[
topsyWidgetPreload({ "url": "http%3A%2F%2Fkzms2.com%2F2009%2F12%2F16%2Fcss3_tab-without_js%2F", "style": "big", "title": "css3のみ(JS無し)で実装する動的なタブ" });
早速ですが作ったものの動画

というわけでこんな感じの物を作ってみました。
実際のサンプルはこちら
概要と対応ブラウザ
概要みたいなもの
タブにカーソルを合わせると少し光り、クリックすると中身がフェードインして切り替わります。
このサンプルで表現されているアニメーションやグラデーション、影や角丸などはすべてCSS3です。
JavascriptOFFでも同じ挙動になりますよ。
動作環境
Chrome4とSafari4での動作確認はしてあります。
Firefox3.5以上でもそれなりに動きますがアニメーションは動きません。
Firefox3.6↑だとグラデーションも有効になるように記述してあります。
詳細と実物は続きから。

ソースの説明
HTML(HTML5）
一応HTML5で書いてありますが、お好きにDivなどに変えても動きますのでそこら辺は厳密には書いていません。
使いたい状況でかき分けてください。
&#60;section id=&#34;kzms2tab&#34;&#62;
&#60;nav&#62;&#60;ul&#62;
&#60;li&#62;&#60;a href=&#34;#kzms2tab1&#34;&#62;タブ1&#60;/a&#62;&#60;/li&#62;
&#60;li&#62;&#60;a href=&#34;#kzms2tab2&#34;&#62;タブ2&#60;/a&#62;&#60;/li&#62;
&#60;li&#62;&#60;a href=&#34;#kzms2tab3&#34;&#62;タブ3&#60;/a&#62;&#60;/li&#62;
&#60;/ul&#62;&#60;/nav&#62;
&#60;div class=&#34;kzms2bd&#34;&#62;
&#60;article id=&#34;kzms2tab1&#34;&#62;
&#60;p&#62;タブ1の内容ですよ。&#60;/p&#62;
&#60;/article&#62;
&#60;article id=&#34;kzms2tab2&#34;&#62;
&#60;p&#62;タブ2の内容ですよ。&#60;/p&#62;
&#60;/article&#62;
&#60;article id=&#34;kzms2tab3&#34;&#62;
&#60;p&#62;タブ3の内容ですよ。&#60;/p&#62;
&#60;/article&#62;
&#60;/div&#62;
&#60;/section&#62;
CSS(CSS3)
CSSはかなりの量があるので分けて書きます。
/* sample source
-------------------*/
#kzms2tab ul:first-child{
margin-bottom:-1px;
/* タブが増えてもフレキシブルな横幅に調整 */
display:box;
display:-webkit-box;
display:-moz-box;
display:-ms-box;
/* for firefox */
width:100%;
}
#kzms2tab ul:first-of-type li{
text-align:center;
/* タブが増えてもフレキシブルな横幅に調整 */
box-flex:1;
-webkit-box-flex:1;
-moz-box-flex:1;
-ms-box-flex:1;
}
#kzms2tab ul:first-of-type li a{
border:1px solid;
display:block;
padding:5px;
text-decoration:none;
/* タブ部分角丸 */
-moz-border-radius:5px 5px 0 0;
/* Safari対応のために分けて記載 */
-webkit-border-top-left-radius:5px;
-webkit-border-top-right-radius:5px;
}
#kzms2tab ul:first-of-type li a:hover{
/* hover時に光ってる様に見せる為に透過 */
opacity:0.8;
}
まずはタブの基本設定。
上部分のタブの部分の見た目の調整を行っています。
一つ一つのタブの色などは次のソースで指定してます。
/* タブ1つ目の色設定 */
#kzms2tab ul:first-of-type li:nth-of-type(1) a{
background-color:#1a62db;
border-color:#1f54bc;
color:#fff;
/* webkit用グラデーション */
background-image:-webkit-gradient(
	linear,
	left top,
	left bottom,
	from(#1a62db),
	color-stop(0.5,#3690f0),
	color-stop(0.5,#55a4ee),
	to(#70b6f2)
);
/* mozilla用グラデーション */
background-image:-moz-linear-gradient(
	top,
	#1a62db,
	#3690f0 [...]]]></description>
			<content:encoded><![CDATA[
<div class="topsy_widget_data topsy_theme_blue" style="float: left;margin-left: 0.75em; background: url(data:,%7B%20%22url%22%3A%20%22http%253A%252F%252Fkzms2.com%252F2009%252F12%252F16%252Fcss3_tab-without_js%252F%22%2C%20%22style%22%3A%20%22big%22%2C%20%22title%22%3A%20%22css3%E3%81%AE%E3%81%BF%28JS%E7%84%A1%E3%81%97%29%E3%81%A7%E5%AE%9F%E8%A3%85%E3%81%99%E3%82%8B%E5%8B%95%E7%9A%84%E3%81%AA%E3%82%BF%E3%83%96%22%20%7D);"><script type="text/javascript">topsyWidgetPreload({ "url": "http%3A%2F%2Fkzms2.com%2F2009%2F12%2F16%2Fcss3_tab-without_js%2F", "style": "big", "title": "css3のみ(JS無し)で実装する動的なタブ" });</script></div>
<h3 class="postMds">早速ですが作ったものの動画</h3>
<p><object width="480" height="385"><param name="movie" value="http://www.youtube.com/v/vPsZDr0sq-w&#038;hl=ja_JP&#038;fs=1&#038;"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/vPsZDr0sq-w&#038;hl=ja_JP&#038;fs=1&#038;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"></embed></object><br />
というわけでこんな感じの物を作ってみました。<br />
<strong><a href="http://kzms2.com/entry/css3/css3_tab.html#kzms2tab1">実際のサンプルはこちら</a></strong></p>
<h3 class="postMds">概要と対応ブラウザ</h3>
<h4 class="postMds">概要みたいなもの</h4>
<p>タブにカーソルを合わせると少し光り、クリックすると中身がフェードインして切り替わります。<br />
このサンプルで表現されているアニメーションやグラデーション、影や角丸などはすべてCSS3です。<br />
JavascriptOFFでも同じ挙動になりますよ。</p>
<h4 class="postMds">動作環境</h4>
<p>Chrome4とSafari4での動作確認はしてあります。<br />
Firefox3.5以上でもそれなりに動きますがアニメーションは動きません。<br />
Firefox3.6↑だとグラデーションも有効になるように記述してあります。</p>
<p>詳細と実物は続きから。</p>
<p><span id="more-420"></span></p>
<h3 class="postMds">ソースの説明</h3>
<h4 class="postMds">HTML(HTML5）</h4>
<p>一応HTML5で書いてありますが、お好きにDivなどに変えても動きますのでそこら辺は厳密には書いていません。<br />
使いたい状況でかき分けてください。<br />
<code>&lt;section id=&quot;kzms2tab&quot;&gt;<br />
&lt;nav&gt;&lt;ul&gt;<br />
&lt;li&gt;&lt;a href=&quot;#kzms2tab1&quot;&gt;タブ1&lt;/a&gt;&lt;/li&gt;<br />
&lt;li&gt;&lt;a href=&quot;#kzms2tab2&quot;&gt;タブ2&lt;/a&gt;&lt;/li&gt;<br />
&lt;li&gt;&lt;a href=&quot;#kzms2tab3&quot;&gt;タブ3&lt;/a&gt;&lt;/li&gt;<br />
&lt;/ul&gt;&lt;/nav&gt;<br />
&lt;div class=&quot;kzms2bd&quot;&gt;<br />
&lt;article id=&quot;kzms2tab1&quot;&gt;<br />
&lt;p&gt;タブ1の内容ですよ。&lt;/p&gt;<br />
&lt;/article&gt;<br />
&lt;article id=&quot;kzms2tab2&quot;&gt;<br />
&lt;p&gt;タブ2の内容ですよ。&lt;/p&gt;<br />
&lt;/article&gt;<br />
&lt;article id=&quot;kzms2tab3&quot;&gt;<br />
&lt;p&gt;タブ3の内容ですよ。&lt;/p&gt;<br />
&lt;/article&gt;<br />
&lt;/div&gt;<br />
&lt;/section&gt;</code></p>
<h4 class="postMds">CSS(CSS3)</h4>
<p>CSSはかなりの量があるので分けて書きます。<br />
<code>/* sample source<br />
-------------------*/<br />
#kzms2tab ul:first-child{<br />
margin-bottom:-1px;<br />
/* タブが増えてもフレキシブルな横幅に調整 */<br />
display:box;<br />
display:-webkit-box;<br />
display:-moz-box;<br />
display:-ms-box;<br />
/* for firefox */<br />
width:100%;<br />
}<br />
#kzms2tab ul:first-of-type li{<br />
text-align:center;<br />
/* タブが増えてもフレキシブルな横幅に調整 */<br />
box-flex:1;<br />
-webkit-box-flex:1;<br />
-moz-box-flex:1;<br />
-ms-box-flex:1;<br />
}<br />
#kzms2tab ul:first-of-type li a{<br />
border:1px solid;<br />
display:block;<br />
padding:5px;<br />
text-decoration:none;<br />
/* タブ部分角丸 */<br />
-moz-border-radius:5px 5px 0 0;<br />
/* Safari対応のために分けて記載 */<br />
-webkit-border-top-left-radius:5px;<br />
-webkit-border-top-right-radius:5px;<br />
}<br />
#kzms2tab ul:first-of-type li a:hover{<br />
/* hover時に光ってる様に見せる為に透過 */<br />
opacity:0.8;<br />
}</code><br />
まずはタブの基本設定。<br />
上部分のタブの部分の見た目の調整を行っています。</p>
<p>一つ一つのタブの色などは次のソースで指定してます。<br />
<code>/* タブ1つ目の色設定 */<br />
#kzms2tab ul:first-of-type li:nth-of-type(1) a{<br />
background-color:#1a62db;<br />
border-color:#1f54bc;<br />
color:#fff;<br />
/* webkit用グラデーション */<br />
background-image:-webkit-gradient(<br />
	linear,<br />
	left top,<br />
	left bottom,<br />
	from(#1a62db),<br />
	color-stop(0.5,#3690f0),<br />
	color-stop(0.5,#55a4ee),<br />
	to(#70b6f2)<br />
);<br />
/* mozilla用グラデーション */<br />
background-image:-moz-linear-gradient(<br />
	top,<br />
	#1a62db,<br />
	#3690f0 50%,<br />
	#55a4ee 50%,<br />
	#70b6f2<br />
);<br />
/* テキストシャドウ */<br />
text-shadow:-1px -1px 0px #1f54bc;<br />
}<br />
/* タブ2つ目の色設定 */<br />
#kzms2tab ul:first-of-type li:nth-of-type(2) a{<br />
background-color:#ff7d00;<br />
border-color:#dc6b00;<br />
color:#fff;<br />
/* webkit用グラデーション */<br />
background-image:-webkit-gradient(<br />
	linear,<br />
	left top,<br />
	left bottom,<br />
	from(#ff7d00),<br />
	color-stop(0.5,#ff7c00),<br />
	color-stop(0.5,#ffa73d),<br />
	to(#ffa03c)<br />
);<br />
/* mozilla用グラデーション */<br />
background-image:-moz-linear-gradient(<br />
	top,<br />
	#ff7d00,<br />
	#ff7c00 50%,<br />
	#ffa73d 50%,<br />
	#ffa03c<br />
);<br />
/* テキストシャドウ */<br />
text-shadow:-1px -1px 0px #dc6b00;<br />
}<br />
/* タブ3つ目の色設定 */<br />
#kzms2tab ul:first-of-type li:nth-of-type(3) a{<br />
background-color:#7dbe0a;<br />
border-color:#5b9400;<br />
color:#fff;<br />
/* webkit用グラデーション */<br />
background-image:-webkit-gradient(<br />
	linear,<br />
	left top,<br />
	left bottom,<br />
	from(#7dbe0a),<br />
	color-stop(0.5,#80c218),<br />
	color-stop(0.5,#a1d54f),<br />
	to(#a2d93f)<br />
);<br />
/* mozilla用グラデーション */<br />
background-image:-moz-linear-gradient(<br />
	top,<br />
	#7dbe0a,<br />
	#80c218 50%,<br />
	#a1d54f 50%,<br />
	#a2d93f<br />
);<br />
/* テキストシャドウ */<br />
text-shadow:-1px -1px 0px #5b9400;<br />
}</code><br />
ここがかなり長いですね・・・CSS3のグラデーション部分でかなり長いコードとなっています。<br />
この詳細については別の機会にまた説明したいと思います。</p>
<p><code>.kzms2bd{<br />
border:1px solid #ddd;<br />
/* タブ部分角丸 */<br />
-moz-border-radius:0 0 5px 5px;<br />
/* Safari対応のために分けて記載 */<br />
-webkit-border-bottom-left-radius:5px;<br />
-webkit-border-bottom-right-radius:5px;<br />
/* タブ全体のボックスシャドウ */<br />
-moz-box-shadow:3px 3px 7px #999;<br />
-webkit-box-shadow:3px 3px 7px #999;<br />
}<br />
.kzms2bd article{<br />
display:none;<br />
box-sizing:border-box;<br />
-webkit-box-sizing:border-box;<br />
-moz-box-sizing:border-box;<br />
-ms-box-sizing:border-box;<br />
border:1px solid;<br />
padding:10px;<br />
margin:-1px;<br />
height:200px;<br />
/* タブ部分角丸 */<br />
-moz-border-radius:0 0 5px 5px;<br />
/* Safari対応のために分けて記載 */<br />
-webkit-border-bottom-left-radius:5px;<br />
-webkit-border-bottom-right-radius:5px;<br />
}</code><br />
ここはタブ内容部分の外枠の見た目の調整。<br />
影をつけたり、箱を作っています。</p>
<p><code>/* :targetの対象のarticle */<br />
.kzms2bd article:target{<br />
display:block;<br />
}<br />
/* :targetの対象でないarticle */<br />
.kzms2bd article:not(:target){<br />
display:none;<br />
}</code><br />
ここは<a href="http://kzms2.com/2009/12/14/advantage_of_css3-2_5/">セレクタについて(2/4)その2 – css3を触ってみて思った4個の利点</a>などでも説明している、CSS3のセレクタを使って、ターゲットになっている部分となっていない部分をだし分けています。</p>
<p><code>/* :targetの対象のarticle */<br />
.kzms2bd article:target{<br />
-webkit-animation-duration:1s;<br />
-webkit-transform-origin:50% 0;<br />
-webkit-animation-timing-function:linear;<br />
-webkit-animation-name:kzms2alpha;<br />
opacity:1;<br />
}<br />
/* アニメーション用 */<br />
@-webkit-keyframes kzms2alpha{<br />
	0%{<br />
		opacity:0;<br />
	}<br />
	100%{<br />
		opacity:1;<br />
	}<br />
}</code><br />
ここでタブの中身がフェードインするアニメーションを追加しています。<br />
Webkit系でないと期待した表示になりません。</p>
<p><code>/* タブ内容1つ目の色設定 */<br />
.kzms2bd article:nth-of-type(1){<br />
background-color:#edf7ff;<br />
border-color:#1f54bc;<br />
}<br />
/* タブ内容2つ目の色設定 */<br />
.kzms2bd article:nth-of-type(2){<br />
background-color:#ffeeda;<br />
border-color:#dc6b00;<br />
}<br />
/* タブ内容3つ目の色設定 */<br />
.kzms2bd article:nth-of-type(3){<br />
background-color:#edffd0;<br />
border-color:#5b9400;<br />
}</code><br />
そして最後にタブの中身の背景色と、枠線色の設定をしています。</p>
<h3 class="postMds">やってみた感想とかまとめ</h3>
<ol>
<li>CSS3でもMozillaとWebkitで解釈の仕方が異なる部分がいくつかあった。<br />
→display:box;の部分にwidth:100%;と指定しないとMozillaだと期待しない表示になる　等</li>
<li>セレクタだけで場合分けをするには限界がある<br />
→割りきってやっていたことですが、細かな状態分けはやはりJavascriptに頼らないと無理だと言うことがわかりました。（今カレントのタブを変化させられない）</li>
<li>楽チン・綺麗・軽い<br />
→地味な感想ですが、やっぱりCSS３は素敵でした</li>
</ol>
<p>動かせるブラウザ<del datetime="2009-12-15T17:57:57+00:00">IEなど</del>が限られている、とかはもう若干お決まりになってきたので、そこまで触れないことにします。</p>
<p>今回はこの辺でおしまいとさせていただきたいと思います。</p>

]]></content:encoded>
			<wfw:commentRss>http://kzms2.com/2009/12/16/css3_tab-without_js/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Javascript・画像なしでcssを使った噴出し</title>
		<link>http://kzms2.com/2009/12/10/no_js-img_hkds/</link>
		<comments>http://kzms2.com/2009/12/10/no_js-img_hkds/#comments</comments>
		<pubDate>Wed, 09 Dec 2009 16:04:22 +0000</pubDate>
		<dc:creator>Zuma</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[子ネタ]]></category>
		<category><![CDATA[tips]]></category>

		<guid isPermaLink="false">http://kzms2.com/?p=367</guid>
		<description><![CDATA[
topsyWidgetPreload({ "url": "http%3A%2F%2Fkzms2.com%2F2009%2F12%2F10%2Fno_js-img_hkds%2F", "style": "big", "title": "Javascript・画像なしでcssを使った噴出し" });
ちょこっとした小ネタですが…
モダンブラウザの場合の表示

CSS3をサポートしているブラウザだと上の様に見えます。
古いブラウザの場合

古いブラウザになればなるほどしょぼい表示になります。
うーん、しょぼいですね。とりあえず詳細は続きに。

ソースについて
css
サンプルはこちら.hkdsWp:hover .hkds{
/*マウスカーソルが重なったら表示*/
visibility:visible;
}
.hkds{
/*通常の状態は非表示*/
visibility:hidden;
/*絶対配置に*/
position:absolute;
/*ネガティブマージンで位置を調整*/
margin:-2.4em 0 0 -2.3em;
/*レイアウト調整*/
padding:0.3em;
line-height:1;
/*ボーダーで影っぽく調整*/
border-style:solid;
border-color:#336;
border-width:1px 2px 2px 1px;
/*色指定*/
background-color:#369;
color:#fff;
/*角丸処理（CSS3）*/
-moz-border-radius:5px;
-webkit-border-radius:5px;
/*ボックスシャドウ処理（CSS3）*/
-moz-box-shadow:2px 2px 7px #666;
-webkit-box-shadow:2px 2px 7px #666;
}
.hkds:after{
/*噴出しの出っ張り部分の表示*/
content:"◆";
/*噴出しの背景色と同色に*/
color:#369;
/*絶対配置で表示*/
position:absolute;
bottom:0;
left:1em;
margin-bottom:-0.5em;
line-height:1;
}
とこんな感じに設定しています。
詳細はコメントアウトに書いてあるのでそちらを参照してください。
HTML
&#60;span class=&#34;hkdsWp&#34;&#62;
リンク
&#60;span class=&#34;hkds&#34;&#62;
リンク先の説明だよ！噴出しだよ！！
&#60;/span&#62;
&#60;/span&#62;
HTMLはこのように入れ子になっています。
親要素（噴出しを出させたいリンクなど）には「.hkdsWp」を、子要素（噴出し部分）には「.hkds」というclassを追加してあげれば表示されます。
ページ内にも一応サンプルを

ここにカーソルを合わせるとリンク先の説明だよ！噴出しだよ！！
と言う感じでした。
またIEで使えない技なので需要はなさそうですね！

]]></description>
			<content:encoded><![CDATA[
<div class="topsy_widget_data topsy_theme_blue" style="float: left;margin-left: 0.75em; background: url(data:,%7B%20%22url%22%3A%20%22http%253A%252F%252Fkzms2.com%252F2009%252F12%252F10%252Fno_js-img_hkds%252F%22%2C%20%22style%22%3A%20%22big%22%2C%20%22title%22%3A%20%22Javascript%E3%83%BB%E7%94%BB%E5%83%8F%E3%81%AA%E3%81%97%E3%81%A7css%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%9F%E5%99%B4%E5%87%BA%E3%81%97%22%20%7D);"><script type="text/javascript">topsyWidgetPreload({ "url": "http%3A%2F%2Fkzms2.com%2F2009%2F12%2F10%2Fno_js-img_hkds%2F", "style": "big", "title": "Javascript・画像なしでcssを使った噴出し" });</script></div>
<h3 class="postMds">ちょこっとした小ネタですが…</h3>
<h4 class="postMds">モダンブラウザの場合の表示</h4>
<p><img src="http://kzms2.com/wp-content/uploads/2009/12/hkds_cap1.png" alt="hkds_cap1" width="431" height="73" class="attachment wp-att-381 "/><br />
CSS3をサポートしているブラウザだと上の様に見えます。</p>
<h4 class="postMds">古いブラウザの場合</h4>
<p><img src="http://kzms2.com/wp-content/uploads/2009/12/hkds-ie7_cap1.png" alt="hkds-ie7_cap1" width="431" height="78" class="attachment wp-att-382 "/><br />
古いブラウザになればなるほどしょぼい表示になります。<br />
うーん、しょぼいですね。とりあえず詳細は続きに。</p>
<p><span id="more-367"></span></p>
<h3 class="postMds">ソースについて</h3>
<h4 class="postMds">css</h4>
<p><a href="http://kzms2.com/entry/css/hkds.html" class="sampleLink">サンプルはこちら</a><code>.hkdsWp:hover .hkds{<br />
/*マウスカーソルが重なったら表示*/<br />
visibility:visible;<br />
}<br />
.hkds{<br />
/*通常の状態は非表示*/<br />
visibility:hidden;<br />
/*絶対配置に*/<br />
position:absolute;<br />
/*ネガティブマージンで位置を調整*/<br />
margin:-2.4em 0 0 -2.3em;<br />
/*レイアウト調整*/<br />
padding:0.3em;<br />
line-height:1;<br />
/*ボーダーで影っぽく調整*/<br />
border-style:solid;<br />
border-color:#336;<br />
border-width:1px 2px 2px 1px;<br />
/*色指定*/<br />
background-color:#369;<br />
color:#fff;<br />
/*角丸処理（CSS3）*/<br />
-moz-border-radius:5px;<br />
-webkit-border-radius:5px;<br />
/*ボックスシャドウ処理（CSS3）*/<br />
-moz-box-shadow:2px 2px 7px #666;<br />
-webkit-box-shadow:2px 2px 7px #666;<br />
}<br />
.hkds:after{<br />
/*噴出しの出っ張り部分の表示*/<br />
content:"◆";<br />
/*噴出しの背景色と同色に*/<br />
color:#369;<br />
/*絶対配置で表示*/<br />
position:absolute;<br />
bottom:0;<br />
left:1em;<br />
margin-bottom:-0.5em;<br />
line-height:1;<br />
}</code><br />
とこんな感じに設定しています。<br />
詳細はコメントアウトに書いてあるのでそちらを参照してください。</p>
<h4 class="postMds">HTML</h4>
<p><code>&lt;span class=&quot;hkdsWp&quot;&gt;<br />
リンク<br />
&lt;span class=&quot;hkds&quot;&gt;<br />
リンク先の説明だよ！噴出しだよ！！<br />
&lt;/span&gt;<br />
&lt;/span&gt;</code><br />
HTMLはこのように入れ子になっています。<br />
親要素（噴出しを出させたいリンクなど）には「<strong>.hkdsWp</strong>」を、子要素（噴出し部分）には「<strong>.hkds</strong>」というclassを追加してあげれば表示されます。</p>
<h3 class="postMds">ページ内にも一応サンプルを</h3>
<style type="text/css"><!--
.hkdsWp:hover .hkds{
/*マウスカーソルが重なったら表示*/
visibility:visible;
}
.hkds{
/*通常の状態は非表示*/
visibility:hidden;
/*絶対配置に*/
position:absolute;
/*ネガティブマージンで位置を調整*/
margin:-2.4em 0 0 -2.3em;
/*レイアウト調整*/
padding:0.3em;
line-height:1;
/*ボーダーで影っぽく調整*/
border-style:solid;
border-color:#336;
border-width:1px 2px 2px 1px;
/*色指定*/
background-color:#369;
color:#fff;
/*角丸処理（CSS3）*/
-moz-border-radius:5px;
-webkit-border-radius:5px;
/*ボックスシャドウ処理（CSS3）*/
-moz-box-shadow:2px 2px 7px #666;
-webkit-box-shadow:2px 2px 7px #666;
}
.hkds:after{
/*噴出しの出っ張り部分の表示*/
content:"◆";
/*噴出しの背景色と同色に*/
color:#369;
/*絶対配置で表示*/
position:absolute;
bottom:0;
left:1em;
margin-bottom:-0.5em;
line-height:1;
}
--></style>
<p><span class="hkdsWp">ここにカーソルを合わせると<span class="hkds">リンク先の説明だよ！噴出しだよ！！</span></span></p>
<p>と言う感じでした。<br />
またIEで使えない技なので需要はなさそうですね！</p>

]]></content:encoded>
			<wfw:commentRss>http://kzms2.com/2009/12/10/no_js-img_hkds/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
