(X)HTML&CSS | memo-memo Skip to content

memo-memo

web制作に便利そうな情報をメモるブログ

Archive

Tag: (X)HTML&CSS

htmlspecialchars()を使うとよさそう。
参考はこちら
下記のように使う。

$new = htmlspecialchars("<a href='test'>Test</a>", ENT_QUOTES);
echo $new; // &lt;a href=&#039;test&#039;&gt;Test&lt;/a&gt;

要は、「&」と、「”(ダブルクォート)」と、「’(シングルクォート)」と、「<」と、「>」を、

各々「&amp;」、「&quot;」、「&#039;」、「&lt;」、「&gt;」
に変換してくれるらしい。
ちなみに、ダブルクォートとシングルクォートは、2番目の引数(今回は、ENR_QUOTES)によっては、変換したりしなかったりするらしい。
その辺の詳細は、こちら
細かいことだけど、W3Cの点数稼ぎには必要かも。

こちらのサイトに、いろいろ方法が書かれてます。

http://smkn.xsrv.jp/blog/2009/02/dd_belatedpng_js/

その中でも、今回は、Google codeを使う方法を試してみました。 方法は、とても簡単で、<head>の中に、以下を記述します。

<!–[if IE 6]> <script src=”http://ie7-js.googlecode.com/svn/version/2.0(beta)/IE7.js” type=”text/javascript”></script>

<![endif]–>

IE6以外では、上記のスクリプトを読み込む必要がないので、青字の条件付きコメントで、IE6のみを指定しています。条件付きコメントに関しては、

http://allabout.co.jp/internet/hpcreate/closeup/CU20070412A/index2.htm このサイトに、詳しく書いてありました。

さて、戻りまして。 上記のスクリプトを書いたら、後は、pngファイルの名前を、「〇〇〇〇-trans.png」にすれば、きちんと透過されます。 imgタグで書いても、cssのbackgroundでも、どちらでもいけます。

因みに、日本語で詳しく紹介しているサイトは、こちら

Google codeは、こちら

テキストを、text-indent:-9999px;でテキストをどかして、その下に背景画像をあてて、リンクを張る場合、firefoxだと、横方向に、点線が出てしまう。で、その点線を消す方法は、いくつかあるけど、今回はCSSを使った方法をメモ。

CSSのaタグの擬似クラスで、「a:focus」を使うといい感じ。

p a:focus{

outline:none;

}

こうすると、クリックした時に出てくる点線が出てこなくなる。

ただし、このやり方は、IEでは通用しない。でも、IEの場合は、text-indent:-9999px;を使っても、横に大きく点線が出なくて、背景画像の周りに出てくるので、そんなに目立たないから、気にする必要もないでしょう。

どうしても気になる場合は、他の方法を考えよう。