ほんの数週間前にMSIE7に切り替えたお客様に問題があります(多くの問題の1つです)(はい、はい、わかっています.......質問しないでください.....)
ASP.NETアプリには、HTMLテーブル内のナビゲーション用の一連の<asp:LinkButton>
コントロールがあり、各リンクボタンは別々の行にあります。リンクボタンは<td width="200">
タグの中にあります。それぞれ<asp:LinkButton>
に、以下を定義するCSSクラスが割り当てられています。
.stdLinkButton
{
background-color: teal;
color: Black;
border: navy 1px solid;
text-decoration: none;
margin-right: 10px;
padding: 2px;
height: 18px;
overflow: visible;
}
MS IE 6では、ボタンはとの幅全体をうまく埋めて<td>
並んでいました。5列または6列のリンクボタンがあり、すべて同じ幅で、すべて200ピクセル幅のボタンの中央に配置されていました。
ただし、MS IE 7では、リンクボタンは標準でレンダリングされており、テキストラベルを含めるために必要な幅しかありません。これで、5行または6行になり、各リンクボタンは、ボタンのテキストを含めるために必要な最小幅のボタンとしてレンダリングされます。ひどいですね...
私はすでに「width:200px」をCSSクラスに追加しようとしましたが、それは実際には何の役にも立ちません:-(
MS IE 7でこれらの<asp:LinkButton>
要素を指定された固定幅に再レンダリングするための簡単なトリック/回避策はありますか?
可能であれば、CSSで幅を指定し続けたいと思います-すべて<asp:LinkButton>
のインスタンスに移動してASP.NETプロパティ「Width」を200pxに設定する必要はありません(これは機能しているようですが、ところで-リンクボタンは、指定された固定幅に適切に設定されています)。
マーク