アクティブリストアイテムを次のように表示しようとしています。
これは私が現在持っているものです(青い三角形は鈍い二等辺三角形ではなく直角三角形です):
これが私のHTMLです:
<ul class="guideList">
<li><a>Consulting</a></li>
<li class="active">Law<span class="activePointer"></span></li>
<li><a>Finance</a></li>
<li><a>Technology</a></li>
</ul>
これが私のCSSです:
.guideList{
font-size: 12px;
line-height: 12px;
font-weight: bold;
list-style-type: none;
margin-top: 10px;
width: 125px;
}
.guideList li{
padding: 5px 0px 5px 10px;
}
.guideList .active{
background-color: #0390d1;
color: white;
}
.guideList .activePointer{
margin-top: -5px;
margin-bottom: -5px;
float: right;
display: inline-block;
width: 0px;
height: 0px;
border-top: 11px solid white;
border-left: 11px solid transparent;
border-bottom: 11px solid white;
}
これを修正するにはどうすればよいですか?
ETA @jlbrunoのアイデア(左の境界線のサイズを小さくする)を試しましたが、そうすると三角形の線がシャープになりません。
ETAを使用してtransform:rotateでエッジを修正しました(ありがとう@jlbruno!)...ただし、IE8ではそうではありません。マイクロソフトの行列変換フィルター(関連するSOの質問)を使用してみましたが、役に立ちませんでした。これをIE8でも機能させるにはどうすればよいですか?IE8で試したCSSは次のとおりです。
-ms-filter: "progid:DXImageTransform.Microsoft.Matrix(M11=0.9999996192282494, M12=-0.0008726645152362283, M21=0.0008726645152362283, M22=0.9999996192282494, SizingMethod='auto expand')";