LoginSignup
1
1

More than 5 years have passed since last update.

a tagの中身がないとIEで動かない

Posted at

もっともしょっぱいものの1つがIE対応だと思う人も多いだろう。

キャンペーンサイトなどすぐにクローズしてしまうサイトなどは工数削減のために、テキストを画像で書き出してしまう場合があるだろう。

ここでその書き出したテキストの該当する文字だけにリンクを付けてほしいなどという要望が出たとする。

全く悲しいが無理矢理a tagを追加して、そのtagをposition:absoluteで該当箇所の上に重ねて、リンク機能を実装してしまうような場合も出てくるだろう。

該当a tagに

a {
    display:block;
    width: Apx;
    height: Bpx;
    position: absolute;
    top: x;
    left: y;
}

などcssを指定する。

しかしなぜかIEではcursorがpointerにならない。
IEではa tagに文字列が何もないと読み込まない仕様になっているからのようだ。

しかたなく

a {
    display:block;
    width: Apx;
    height: Bpx;
    position: absolute;
    top: x;
    left: y;
    background-color: #ffffff;
    opacity: 0;
}

などするとリンク先に飛ぶことができる。
しかしIE8ではopacityが使えない。

しょうがないので、透明な画像を背景に敷く。
画像を書き出さないといけないが、IE8だとbackground-sizeが使えないので小さい画像を用意してはいけない。

a {
    display:block;
    width: Apx;
    height: Bpx;
    position: absolute;
    top: x;
    left: y;
    background: url(path/transparent-image.png);
}

IE8対応は大変。

1
1
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1