5

わかりました、これは興味深いものになるでしょう...

スパンがアンカーの内側にある場合など、興味深いIEのバグ(機能)に遭遇したようです。

<a href='#'>
    <span style="float:left;">Super cool link</span>
    <span style="float:right;">10</span>
</a>

IEでは、左クリックはできるように見えますが、アイテムを右クリックしてリンクメニューを表示することはできません。この問題は、Googleのサービス全体でも持続しているようです。

IEのバグ例

誰かが光を当てることができるかどうか疑問に思います

  1. これが起こっている理由の原因
  2. これに対する解決策または回避策

これまでのところ、アンカーにaを追加して&nbsp;、z-indexをいじってみましたが無駄になりました。

私が見つけることができる唯一の解決策/回避策は、Doctypeを削除すると、問題が解決したように見えることです。(起こりません)

忍者編集-CTRL+クリックすることはできないようです

別の編集をOK:

display: block;スパンでそれを殺すように見えます-http://jsfiddle.net/vdfhz/4/

4

5 に答える 5

1

さて、私自身の質問に答えるなら、もっと時間を費やすべきでした。

display: inline;スパン以外のものがあると機能しないようです。

http://jsfiddle.net/vdfhz/9/

みんなでやってくれてありがとう、これが将来誰かを助けることを願っています

于 2012-11-29T04:12:17.197 に答える
1

アンカー要素のhasLayout(IEプロパティ)はfalseです。

この問題は、hasLayout=falseのアンカー内にhasLayout=trueの要素しかない場合に発生します。

a *{float:left;}

デモ(IEで実行):http://jsfiddle.net/52A6L/(リンクの周囲の境界線に注意してください。クリック可能な領域です)

hasLayoutについて:http://msdn.microsoft.com/en-us/library/ie/ms530764(v = vs.85).aspx

この状況は、アンカーのレイアウトを設定するか、スパンのレイアウトを設定しないことで修正できます。スパンのレイアウトがない: http: //jsfiddle.net/52A6L/1/ アンカーのレイアウトがある:http://jsfiddle.net/52A6L/2/

例は単なる例です。MSDNのドキュメントを参照して、残りのレイアウトで頭痛の種が最も少ないアプローチを選択してください。

于 2013-01-10T02:11:24.867 に答える
0

いつでもdisplay:inline-block;を使用できます。安全のために。

また、ラッパー要素(タグなど)内にフロート要素がある場合は、それをクリアする必要があります。

したがって、それを行うための迅速で汚い方法は次のようになります。

<a href='#'>
    <span style="float:left;">Super cool link</span>
    <span style="float:right;">10</span>
    <div style="clear:both;"></div>
</a>

うまくいけば、それがお役に立てば幸いです。

于 2013-01-09T21:47:51.000 に答える
0

なぜ動作しないのかわかりませんが、代わりに段落タグを使用するのはどうですか?

于 2012-11-29T03:46:44.847 に答える
0

まず、私は現在IEを持っていないため、次の情報が役立つかどうかをテストできないと言う必要があります。

zoom : 1 ただし、間違った動作をする要素に追加すると、IEの多くのバグを解決できます 。

IEの誤った動作の原因となる可能性があるもう1つのことは、要素がインライン要素内のブロック要素としてレンダリングされる場合です。したがって、<a>がまだインラインで<span>ブロック要素としてレンダリングされている場合は、これが問題の原因である可能性があります。

于 2013-01-09T21:59:11.413 に答える