色見本の水平方向のリストがあり、各リスト項目には次のマークアップがあります。
<li class="ws-filter">
<a class="ws-swatch-link" title="Black" href="#">
<div title="Black" class="ws-filter-swatch" style="background-color: #000000;"></div>
</a>
</li>
ただし、選択した色見本には次のマークアップがあります (アンカー タグはありません)。
<li class="ws-filter ws-selected">
<div title="Silver" class="ws-filter-swatch" style="background-color: #c0c0c0;"></div>
</li>
CSSは次のとおりです。
.ws-filter-list .ws-filter {
display: inline-block;
}
.ws-filter-swatch {
width: 20px;
height: 20px;
border: 1px solid #dcdcdc;
margin: 2px;
}
そして、ここに JSFiddle があります: http://jsfiddle.net/nHk27/2/
これはほとんどのブラウザーで問題なく動作し、次のようになります。
ただし、IE8 では、選択したスウォッチが次のように外れて表示されます。
これは私が取り組んでいるプロジェクトであり、マークアップを変更することはできません。div、アンカー、リスト項目の表示をさまざまな組み合わせで変更して実験してみました。フロートを使用して動作させることができると確信していますが、フロートを使用せずにこれを修正する方法はありますか?