固定コンテナにあるdivの下に予期しない1ピクセルの余白があります。この問題はEdgeでのみ発生します(おそらくIEでも)。いくつかのテストの後、私は裸の骨の例でバグを再現することができました。予期しないエッジブラウザのピクセルマージン
以下のスニペットを再現できるこの画像は、固定div内に3つの四角形のdivで構成されています。 Firefoxの
エッジでは、あなたが、またはその内側のdivにborder-*-right-radius: 6px
を無効にすることで、コンテナのdiv内のプロパティtop: 50%
を無効にするのいずれかによって、この問題を「解決」することができます。もちろん、これは修正ではありません。この設計を効果的に実装するには、これらの両方のプロパティが必要です。
どうすればこの問題を解決できますか?背景と同じ色の枠線を追加しようとしましたが、背景が不透明ではありません。
編集:すぐにIE/Edgeで表示されない場合は、div
というコンテナを選択し、top
プロパティの値をゆっくりと上げてみてください。 IE11では、これを5%から6%に変更すると、すでに問題が明らかになりました。
.box {
background-color: rgba(0,0,0,0.15);
height: 70px;
line-height: 70px;
text-align: center;
border-right: 1px solid rgba(0,0,0,0.2);
}
.box:hover {
background-color: rgba(50,50,100,0.15);
}
.box:first-child {
border-top-right-radius: 6px;
border-top: 1px solid rgba(0,0,0,0.2);
}
.box:last-child {
border-bottom-right-radius: 6px;
border-bottom:1px solid rgba(0,0,0,0.2);
}
.main {
width: 70px;
position: fixed;
left: 0;
top: 5%;
}
<div class="main">
<div class="box"></div>
<div class="box"></div>
<div class="box"></div>
</div>
IE11では再生できません。エッジのみのように見えます。 – TylerH
FFでも再生しません。しかし、beforeやafterのような要素を.box:after {}のように使用して、そのコンテナの上に絶対のものを置くことができます。 – RooWM
テストしてくれてありがとうございますが、私はそれを自分でテストしました。IEにも同様ですが、やや目立ちません。私の更新を確認してください。 – ecc