<?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>understandard &#187; 透過PNG</title>
	<atom:link href="http://www.understandard.net/tag/transparent-png/feed" rel="self" type="application/rss+xml" />
	<link>http://www.understandard.net</link>
	<description></description>
	<lastBuildDate>Fri, 30 Jul 2010 02:24:56 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>IE6 で透過 PNG を使えるようにする javascript</title>
		<link>http://www.understandard.net/javascript/javascript002.html</link>
		<comments>http://www.understandard.net/javascript/javascript002.html#comments</comments>
		<pubDate>Fri, 19 Dec 2008 02:42:45 +0000</pubDate>
		<dc:creator>じゅん＠understandard</dc:creator>
				<category><![CDATA[javascript]]></category>
		<category><![CDATA[IE6]]></category>
		<category><![CDATA[透過PNG]]></category>

		<guid isPermaLink="false">http://www.understandard.net/?p=83</guid>
		<description><![CDATA[IE6 でも透過 PNG が使えて、さらに background-image + background-repeat + background-position に対応した javascript が Drew Dille [...]

<dl class="relatives">
	<dt><span>関連投稿</span></dt>
		<dd>			<ul>
								<li>
					<a href="http://www.understandard.net/javascript/javascript001.html" rel="bookmark">要素の高さをそろえるjQueryプラグイン</a><!-- (12.209)-->
					<div class="info">
						<span class="category">category: <a href="http://www.understandard.net/category/javascript/jquery" title="jQuery の投稿をすべて表示" rel="category tag">jQuery</a> &gt; <a href="http://www.understandard.net/category/javascript" title="javascript の投稿をすべて表示" rel="category tag">javascript</a></span>
						<span class="tags">tags: <a href="http://www.understandard.net/tag/inline-block" rel="tag">inline-block</a>+<a href="http://www.understandard.net/tag/javascript" rel="tag">javascript</a>+<a href="http://www.understandard.net/tag/jquery" rel="tag">jQuery</a>.</span>
					</div>
				</li>
								<li>
					<a href="http://www.understandard.net/javascript/javascript004.html" rel="bookmark">タイル状にアニメーションして画像を切り替えるjQueryプラグイン jFancyTile</a><!-- (11.5308)-->
					<div class="info">
						<span class="category">category: <a href="http://www.understandard.net/category/javascript/jquery" title="jQuery の投稿をすべて表示" rel="category tag">jQuery</a> &gt; <a href="http://www.understandard.net/category/javascript" title="javascript の投稿をすべて表示" rel="category tag">javascript</a></span>
						<span class="tags">tags: <a href="http://www.understandard.net/tag/javascript" rel="tag">javascript</a>+<a href="http://www.understandard.net/tag/jquery" rel="tag">jQuery</a>.</span>
					</div>
				</li>
								<li>
					<a href="http://www.understandard.net/css/css003.html" rel="bookmark">透過PNGを使う時に注意すること２</a><!-- (10.2826)-->
					<div class="info">
						<span class="category">category: <a href="http://www.understandard.net/category/css" title="css の投稿をすべて表示" rel="category tag">css</a></span>
						<span class="tags">tags: <a href="http://www.understandard.net/tag/alphaimageloader" rel="tag">AlphaImageLoader</a>+<a href="http://www.understandard.net/tag/ie6" rel="tag">IE6</a>+<a href="http://www.understandard.net/tag/javascript" rel="tag">javascript</a>+<a href="http://www.understandard.net/tag/transparent-png" rel="tag">透過PNG</a>.</span>
					</div>
				</li>
							</ul>
					</dd>
</dl>
]]></description>
			<content:encoded><![CDATA[<p>IE6 でも透過 PNG が使えて、さらに background-image + background-repeat + background-position に対応した javascript が <a href="http://dillerdesign.wordpress.com/">Drew Diller’s blog</a> で公開されていました（<a href="http://www.dillerdesign.com/experiment/DD_belatedPNG/#release0.0.8a">javscript ファイルのダウンロードページ</a>）。<br />
<ins datetime="2009-11-19T01:57:31+00:00"><span>※2009年11月19日10時57分</span> バージョンアップしているので、リンク先を 0.0.6a から 0.0.8a に変更しました。</ins></p>
<p>IE6 で透過 PNG が使えるようになる javascript は結構色々ありますが、background-repeat や background-position に対応したものはあまり見かけないので、いざというときに活躍してくれるはずです。<br />
ファイルサイズも圧縮版で約 5Kb と軽いです。</p>
<p>使い方は、</p>
<ol>
<li>DD_belatedPNG.js を読み込む</li>
<li>head 内で DD_belatedPNG.fix() を呼び出し、適用させたい CSS セレクタを指定する</li>
</ol>
<p>となっています。<br />
具体的には、</p>
<pre class="brush: xml;">&lt;!--[if lte IE 6]&gt;
&lt;script type=&quot;text/javascript&quot; src=&quot;DD_belatedPNG_0.0.6a.js&quot;&gt;&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot;&gt;DD_belatedPNG.fix('.png_bg');&lt;/script&gt;
&lt;![endif]--&gt;</pre>
<p>IE6 以上のブラウザなどには意味がない指定なのでコンディショナルタグで他のブラウザには読ませないようにしています。<br />
スクリプトのバージョンが 0.0.6a となっているので、今後もっと軽くなったりするのが楽しみです。</p>


<dl class="relatives">
	<dt><span>関連投稿</span></dt>
		<dd>			<ul>
								<li>
					<a href="http://www.understandard.net/javascript/javascript001.html" rel="bookmark">要素の高さをそろえるjQueryプラグイン</a><!-- (12.209)-->
					<div class="info">
						<span class="category">category: <a href="http://www.understandard.net/category/javascript/jquery" title="jQuery の投稿をすべて表示" rel="category tag">jQuery</a> &gt; <a href="http://www.understandard.net/category/javascript" title="javascript の投稿をすべて表示" rel="category tag">javascript</a></span>
						<span class="tags">tags: <a href="http://www.understandard.net/tag/inline-block" rel="tag">inline-block</a>+<a href="http://www.understandard.net/tag/javascript" rel="tag">javascript</a>+<a href="http://www.understandard.net/tag/jquery" rel="tag">jQuery</a>.</span>
					</div>
				</li>
								<li>
					<a href="http://www.understandard.net/javascript/javascript004.html" rel="bookmark">タイル状にアニメーションして画像を切り替えるjQueryプラグイン jFancyTile</a><!-- (11.5308)-->
					<div class="info">
						<span class="category">category: <a href="http://www.understandard.net/category/javascript/jquery" title="jQuery の投稿をすべて表示" rel="category tag">jQuery</a> &gt; <a href="http://www.understandard.net/category/javascript" title="javascript の投稿をすべて表示" rel="category tag">javascript</a></span>
						<span class="tags">tags: <a href="http://www.understandard.net/tag/javascript" rel="tag">javascript</a>+<a href="http://www.understandard.net/tag/jquery" rel="tag">jQuery</a>.</span>
					</div>
				</li>
								<li>
					<a href="http://www.understandard.net/css/css003.html" rel="bookmark">透過PNGを使う時に注意すること２</a><!-- (10.2826)-->
					<div class="info">
						<span class="category">category: <a href="http://www.understandard.net/category/css" title="css の投稿をすべて表示" rel="category tag">css</a></span>
						<span class="tags">tags: <a href="http://www.understandard.net/tag/alphaimageloader" rel="tag">AlphaImageLoader</a>+<a href="http://www.understandard.net/tag/ie6" rel="tag">IE6</a>+<a href="http://www.understandard.net/tag/javascript" rel="tag">javascript</a>+<a href="http://www.understandard.net/tag/transparent-png" rel="tag">透過PNG</a>.</span>
					</div>
				</li>
							</ul>
					</dd>
</dl>
]]></content:encoded>
			<wfw:commentRss>http://www.understandard.net/javascript/javascript002.html/feed</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
		<item>
		<title>透過PNGを使う時に注意すること２</title>
		<link>http://www.understandard.net/css/css003.html</link>
		<comments>http://www.understandard.net/css/css003.html#comments</comments>
		<pubDate>Wed, 09 Jul 2008 12:31:50 +0000</pubDate>
		<dc:creator>じゅん＠understandard</dc:creator>
				<category><![CDATA[css]]></category>
		<category><![CDATA[AlphaImageLoader]]></category>
		<category><![CDATA[IE6]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[透過PNG]]></category>

		<guid isPermaLink="false">http://www.understandard.net/?p=18</guid>
		<description><![CDATA[前回（透過PNGを使う時に注意すること）の続き。
どうしても透過PNGを使いたい場合、IE6でもちゃんと表示させるには、

AlphaImageLoaderを使う
javascriptを使う

ことになると思います。
A [...]

<dl class="relatives">
	<dt><span>関連投稿</span></dt>
		<dd>			<ul>
								<li>
					<a href="http://www.understandard.net/javascript/javascript002.html" rel="bookmark">IE6 で透過 PNG を使えるようにする javascript</a><!-- (6.48669)-->
					<div class="info">
						<span class="category">category: <a href="http://www.understandard.net/category/javascript" title="javascript の投稿をすべて表示" rel="category tag">javascript</a></span>
						<span class="tags">tags: <a href="http://www.understandard.net/tag/ie6" rel="tag">IE6</a>+<a href="http://www.understandard.net/tag/javascript" rel="tag">javascript</a>+<a href="http://www.understandard.net/tag/transparent-png" rel="tag">透過PNG</a>.</span>
					</div>
				</li>
								<li>
					<a href="http://www.understandard.net/javascript/javascript001.html" rel="bookmark">要素の高さをそろえるjQueryプラグイン</a><!-- (4.70701)-->
					<div class="info">
						<span class="category">category: <a href="http://www.understandard.net/category/javascript/jquery" title="jQuery の投稿をすべて表示" rel="category tag">jQuery</a> &gt; <a href="http://www.understandard.net/category/javascript" title="javascript の投稿をすべて表示" rel="category tag">javascript</a></span>
						<span class="tags">tags: <a href="http://www.understandard.net/tag/inline-block" rel="tag">inline-block</a>+<a href="http://www.understandard.net/tag/javascript" rel="tag">javascript</a>+<a href="http://www.understandard.net/tag/jquery" rel="tag">jQuery</a>.</span>
					</div>
				</li>
								<li>
					<a href="http://www.understandard.net/javascript/javascript004.html" rel="bookmark">タイル状にアニメーションして画像を切り替えるjQueryプラグイン jFancyTile</a><!-- (3.78767)-->
					<div class="info">
						<span class="category">category: <a href="http://www.understandard.net/category/javascript/jquery" title="jQuery の投稿をすべて表示" rel="category tag">jQuery</a> &gt; <a href="http://www.understandard.net/category/javascript" title="javascript の投稿をすべて表示" rel="category tag">javascript</a></span>
						<span class="tags">tags: <a href="http://www.understandard.net/tag/javascript" rel="tag">javascript</a>+<a href="http://www.understandard.net/tag/jquery" rel="tag">jQuery</a>.</span>
					</div>
				</li>
							</ul>
					</dd>
</dl>
]]></description>
			<content:encoded><![CDATA[<p>前回（<a href="http://www.understandard.net/css/css002.html">透過PNGを使う時に注意すること</a>）の続き。</p>
<p>どうしても透過PNGを使いたい場合、IE6でもちゃんと表示させるには、</p>
<ol>
<li>AlphaImageLoaderを使う</li>
<li>javascriptを使う</li>
</ol>
<p>ことになると思います。</p>
<h2>AlphaImageLoaderを使う場合</h2>
<p>Amentiさんの<a href="http://amenti.usamimi.info/ie6png.html">IEと透過PNG</a>という記事にまとめられていて、読むのは大変ですがとても勉強になります。</p>
<p>この中に「標準準拠モードだと効かない」というように書いてあります。<br />
IE6でも標準準拠モードになるように作っている人は要注意の箇所ですね。</p>
<p>AlphaImageLoaderは外部のスクリプトを使わず一番手軽に利用できるIE6の透過PNG対策だと思います。</p>
<h2>javascriptを使う場合</h2>
<p>かなりアバウトな表現になっているのは、同じことをするにも様々なスクリプトがあるから。</p>
<p>その中でも、<a href="http://www.designwalker.com/2006/12/transparent-png2.html/trackback">透過PNGをCSSで背景に指定してIE6や5.5のバージョンでも綺麗に表示してみる &#8211; DesignWalker</a>で紹介されている、「iepngfix.js」は結構使いやすいスクリプトなんじゃないかと思います。</p>
<p>これを使うときは、iepngfix.jsを読み込み、cssで該当箇所（仮にクラスhoge）に以下のように指定する。</p>
<pre class="brush: css;">* html .hoge{
behavior:expression(IEPNGFIX.fix(this));
}</pre>
<p>指定するのはこれだけ。<br />
あとは、このjavascriptを適用するのはIE6以下なので、html内でそれらのブラウザにだけ読ませる。<br />
これをやらなくても「* html」がついてるので、どっちにしろIE7以上では効かないです。</p>
<pre class="brush: xml;">&lt;!--[if lt IE7]&gt;
&lt;script type=&quot;text/javascript&quot; src=&quot;iepngfix.js&quot;&gt;&lt;/script&gt;
&lt;![endif]--&gt;</pre>
<p>IE以外のブラウザにはこの対処法は効かないので、[if lt IE7]の部分を[if IE]に変えて、「IEなら」という条件にしてもいいかも知れません。</p>
<p>他に「IE7.js」というライブラリがあります。</p>
<p>これを読み込んでおき、透過PNGに名前をつける時に「XX-trans.png」（XXは任意）という形式にします。<br />
そうすると、backgroundプロパティでこのPNG画像を指定した際に透過されて表示されるというもの。</p>
<p>このライブラリは透過PNGのためだけのライブラリではなく、これを読み込むと、IE6以下でもIE7と同じようなレンダリングをしてくれるという機能まであります。例えばIE6以下で、</p>
<ol>
<li>a以外の要素に:hoverなどの疑似クラスが使えるようになる</li>
<li>position:fixedが使えるようになる</li>
</ol>
<p>というものです。</p>
<p>ただ注意しなければならないのは、既存のサイトにIE7.jsを読み込むと、<strong>IE6用に指定していたcssハックが影響して表示にズレ</strong>が生じてしまいます。気をつけましょう。</p>
<p>それと、IE7.jsについてもう１つ。<br />
サーバー環境にもよるかもしれないんですが、結構重かった記憶が・・・。</p>
<p>一回あるサイトのリニューアルの際に使おうとしたけど、あまりに遅くて導入を諦めたことがあったので、使ってみたい方は一度チェックしてみたほうがいいと思います。<br />
軽かったらぜひ使いたいライブラリです。今後のバージョンアップに期待してます。</p>
<p><ins datetime="2008-07-09T14:05:50+00:00"><span>※2008年7月9日23時5分</span> 追記</ins></p>
<p>記事を更新した直後に発見してしまったので、追記します。</p>
<p><a href="http://coliss.com/articles/build-websites/operation/javascript/1281.html/trackback/">[JS]超軽量で設置も簡単な、透過PNGをIE6で表示するスクリプト -Unit PNG Fix</a></p>
<p>実際に使ったことが無いし、容量が軽いから動作が軽いとも限らないのでなんとも言えませんが、javascriptファイルだけなら1KBありません。ここまでファイルが小さいのは今までになかったんじゃないでしょうか？</p>
<p>ダウンロードしたら、Zipファイルを解凍し、unitpngfix.jsの1行目にある、clear.gifのパスを自分のサーバーのものにする。<br />
画像のパスを変更したら、htmlからunitpngfix.jsを読み込む。<br />
これだけでいいようです。</p>
<p>注意：imgタグにwidthとheightの値を入れておかないと画像が見えなくなってしまうようなので、それだけは気をつけてくれということです。</p>
<p>使ってみた方がいたら感想を教えてもらいたいですね。</p>


<dl class="relatives">
	<dt><span>関連投稿</span></dt>
		<dd>			<ul>
								<li>
					<a href="http://www.understandard.net/javascript/javascript002.html" rel="bookmark">IE6 で透過 PNG を使えるようにする javascript</a><!-- (6.48669)-->
					<div class="info">
						<span class="category">category: <a href="http://www.understandard.net/category/javascript" title="javascript の投稿をすべて表示" rel="category tag">javascript</a></span>
						<span class="tags">tags: <a href="http://www.understandard.net/tag/ie6" rel="tag">IE6</a>+<a href="http://www.understandard.net/tag/javascript" rel="tag">javascript</a>+<a href="http://www.understandard.net/tag/transparent-png" rel="tag">透過PNG</a>.</span>
					</div>
				</li>
								<li>
					<a href="http://www.understandard.net/javascript/javascript001.html" rel="bookmark">要素の高さをそろえるjQueryプラグイン</a><!-- (4.70701)-->
					<div class="info">
						<span class="category">category: <a href="http://www.understandard.net/category/javascript/jquery" title="jQuery の投稿をすべて表示" rel="category tag">jQuery</a> &gt; <a href="http://www.understandard.net/category/javascript" title="javascript の投稿をすべて表示" rel="category tag">javascript</a></span>
						<span class="tags">tags: <a href="http://www.understandard.net/tag/inline-block" rel="tag">inline-block</a>+<a href="http://www.understandard.net/tag/javascript" rel="tag">javascript</a>+<a href="http://www.understandard.net/tag/jquery" rel="tag">jQuery</a>.</span>
					</div>
				</li>
								<li>
					<a href="http://www.understandard.net/javascript/javascript004.html" rel="bookmark">タイル状にアニメーションして画像を切り替えるjQueryプラグイン jFancyTile</a><!-- (3.78767)-->
					<div class="info">
						<span class="category">category: <a href="http://www.understandard.net/category/javascript/jquery" title="jQuery の投稿をすべて表示" rel="category tag">jQuery</a> &gt; <a href="http://www.understandard.net/category/javascript" title="javascript の投稿をすべて表示" rel="category tag">javascript</a></span>
						<span class="tags">tags: <a href="http://www.understandard.net/tag/javascript" rel="tag">javascript</a>+<a href="http://www.understandard.net/tag/jquery" rel="tag">jQuery</a>.</span>
					</div>
				</li>
							</ul>
					</dd>
</dl>
]]></content:encoded>
			<wfw:commentRss>http://www.understandard.net/css/css003.html/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>透過PNGを使う時に注意すること</title>
		<link>http://www.understandard.net/css/css002.html</link>
		<comments>http://www.understandard.net/css/css002.html#comments</comments>
		<pubDate>Sun, 06 Jul 2008 16:02:24 +0000</pubDate>
		<dc:creator>じゅん＠understandard</dc:creator>
				<category><![CDATA[css]]></category>
		<category><![CDATA[IE6]]></category>
		<category><![CDATA[透過PNG]]></category>

		<guid isPermaLink="false">http://www.understandard.net/?p=17</guid>
		<description><![CDATA[透過PNGが透過GIFより優れていることはいろいろあると思いますが、僕が一番優れていると思うのは、背景がどんな状態でもキレイに透過してくれることです。
透過GIFをグラデーションのかかった部分に乗せるとどうしても汚い部分 [...]

<dl class="relatives">
	<dt><span>関連投稿</span></dt>
		<dd>			<ul>
								<li>
					<a href="http://www.understandard.net/css/css003.html" rel="bookmark">透過PNGを使う時に注意すること２</a><!-- (6.37988)-->
					<div class="info">
						<span class="category">category: <a href="http://www.understandard.net/category/css" title="css の投稿をすべて表示" rel="category tag">css</a></span>
						<span class="tags">tags: <a href="http://www.understandard.net/tag/alphaimageloader" rel="tag">AlphaImageLoader</a>+<a href="http://www.understandard.net/tag/ie6" rel="tag">IE6</a>+<a href="http://www.understandard.net/tag/javascript" rel="tag">javascript</a>+<a href="http://www.understandard.net/tag/transparent-png" rel="tag">透過PNG</a>.</span>
					</div>
				</li>
							</ul>
					</dd>
</dl>
]]></description>
			<content:encoded><![CDATA[<p>透過PNGが透過GIFより優れていることはいろいろあると思いますが、僕が一番優れていると思うのは、背景がどんな状態でもキレイに透過してくれることです。</p>
<p>透過GIFをグラデーションのかかった部分に乗せるとどうしても汚い部分ができてしまいます。しかし透過PNGだとそういうことが無いので、今後透過GIFよりも使われることが多くなっていくと思います。</p>
<p>僕個人としてはどんどん使っていきたいものなのですが、透過PNGを使う際には気をつけなきゃいけないこともあると思います。<br />
具体的には、</p>
<ol>
<li>本当に透過PNGを使わなきゃいけないのか？</li>
<li>ターゲットブラウザをどこまでの範囲にするのか？</li>
<li>IE6など、対応していないブラウザに対してどういう処理をするのか？</li>
</ol>
<p>ということ。<br />
他にもいろんな考えがあるかもしれませんが、このような問題をクリアしないとなかなか使いにくい状態に陥ると思います。</p>
<h2>まず１の問題。</h2>
<p>「透過PNGを使う時に～」というタイトルを根本から否定することにもなりますが、実は一番大事なことだと思っています。</p>
<p>使わないでも同じデザイン・機能を表現できるなら透過PNGを使わないほうが確実に安全なサイト作りができると思いますｗ<br />
しかも使わなくても何とかなる場合が結構あると思います。</p>
<p>以前作成したサイトに透過PNGを使ったのですが、対応ブラウザの件（後述）で余計な手間がかかってしまうことも含め、透過PNGを使う必要はなかったと思ってます…。</p>
<h2>次に２の問題。</h2>
<p>すべてのユーザーがブラウザを最新にしているならまだしも、未だにIE6もしくはそれ以下のブラウザを使っている人も結構います。</p>
<p>そういった人達もターゲットにしたいサイトならば、透過PNGを使わない、もしくはjavascriptを使って透過しているように見せるなどの対処が必要になります。<br />
この場合なら使わないのが最善策な気がします。</p>
<h2>最後に３の問題。</h2>
<p>２の問題があったとしても透過PNGを使うことを諦められない！という場合には、IE6など古いブラウザでもちゃんと見れるようにしないといけません。<br />
具体的な対応策としては、</p>
<ol>
<li>AlphaImageLoaderを使う</li>
<li>javascriptを使う</li>
</ol>
<p>というもの。<br />
ここらへんが一般的なんじゃないかと思います。</p>
<p>長くなったので、<a href="http://www.understandard.net/css/css003.html">次回</a>に続きます。</p>


<dl class="relatives">
	<dt><span>関連投稿</span></dt>
		<dd>			<ul>
								<li>
					<a href="http://www.understandard.net/css/css003.html" rel="bookmark">透過PNGを使う時に注意すること２</a><!-- (6.37988)-->
					<div class="info">
						<span class="category">category: <a href="http://www.understandard.net/category/css" title="css の投稿をすべて表示" rel="category tag">css</a></span>
						<span class="tags">tags: <a href="http://www.understandard.net/tag/alphaimageloader" rel="tag">AlphaImageLoader</a>+<a href="http://www.understandard.net/tag/ie6" rel="tag">IE6</a>+<a href="http://www.understandard.net/tag/javascript" rel="tag">javascript</a>+<a href="http://www.understandard.net/tag/transparent-png" rel="tag">透過PNG</a>.</span>
					</div>
				</li>
							</ul>
					</dd>
</dl>
]]></content:encoded>
			<wfw:commentRss>http://www.understandard.net/css/css002.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
