「負の境界半径」でタグシステムを構築しようとしています(より適切な説明がありません)。
私はとを使用:after
し:before
て、「外側に曲がる」偽の境界線を作成します。うまく機能しましたが、MSIEには奇妙な動作があります。通常top:5px
、:after
とはあります:before
が、IEではピクセルを追加する必要があります(結果はtop: 6px
)(IE8を参照:左右の水平線は表示されないはずです)
それは何でしょうか?
<div class="test"><div>foo</div></div>
body {
background: gold;
margin: 10px;
}
.test {
display: inline-block;
height: 30px;
overflow: hidden;
}
.test > div {
background: white;
border-top-left-radius: 5px;
border-top-right-radius : 5px;
height: 20px;
padding: 5px;
display: inline-block;
}
.test:before {
content: '';
width: 5px;
height: 20px;
position: relative;
top: 5px;
margin-right: -5px;
background: none;
border-color: white;
border-style: solid;
border-width: 0px;
border-bottom-width:5px;
border-right-width:5px;
border-bottom-right-radius: 10px;
display: inline-block;
vertical-align: middle;
z-index: -1;
}
.test:after {
content: '';
width: 5px;
height: 20px;
position: relative;
top: 5px;
margin-left: -5px;
background: none;
border-color: white;
border-style: solid;
border-width: 0px;
border-bottom-width:5px;
border-left-width:5px;
border-bottom-left-radius: 10px;
display: inline-block;
vertical-align: middle;
z-index: -1;
}