作者:的撒旦 | 来源:互联网 | 2023-01-05 18:34
我有问题显示一个带有角度侧面的按钮,使用css:before和:after伪元素.它适用于Chrome和Firefox,但不适用于Edge和IE 11.可能会出现什么问题?
a { text-decoration: none }
.container { margin: 20px; }
.font-jos {
font-family: Verdana;
}
.btn-ribbon {
position: relative;
display:inline-block;
padding: 13px 11px;
background-color: #b46b78;
color: #fff;
font-size: 15px;
line-height: 18px;
font-weight: 700;
letter-spacing: 0.05em;
border-radius: 0;
border: none;
margin-left: 20px;
text-transform: uppercase;
}
.btn-ribbon:before {
content: "";
position: absolute;
top: 0;
left: -10px;
display: block;
width: 0;
height: 0;
border-top: 22px solid #b46b78;
border-bottom: 22px solid #b46b78;
border-left: 10px solid #fff0;
z-index: 1;
}
.btn-ribbon:after {
content: "";
position: absolute;
top: 0;
right: -10px;
display: block;
width: 0;
height: 0;
border-top: 22px solid #b46b78;
border-bottom: 22px solid #b46b78;
border-right: 10px solid #fff0;
z-index: 1;
}
https://codepen.io/nidus/pen/gXJYLg
1> SWC..:
您需要更改#fff0
到rgba(255, 255, 255, 0)
或transparent
在你的CSS border-right: 10px solid transparent;
和border-left: 10px solid transparent;
.它不喜欢颜色的格式.
IE和Edge似乎不支持这种格式.
这是一个有效的例子:
a { text-decoration: none }
.container { margin: 20px; }
.font-jos {
font-family: Verdana;
}
.btn-ribbon {
position: relative;
display:inline-block;
padding: 13px 11px;
background-color: #b46b78;
color: #fff;
font-size: 15px;
line-height: 18px;
font-weight: 700;
letter-spacing: 0.05em;
border-radius: 0;
border: none;
margin-left: 20px;
text-transform: uppercase;
}
.btn-ribbon:before {
content: "";
position: absolute;
top: 0;
left: -10px;
display: block;
width: 0;
height: 0;
border-top: 22px solid #b46b78;
border-bottom: 22px solid #b46b78;
border-left: 10px solid transparent;
z-index: 1;
}
.btn-ribbon:after {
content: "";
position: absolute;
top: 0;
right: -10px;
display: block;
width: 0;
height: 0;
border-top: 22px solid #b46b78;
border-bottom: 22px solid #b46b78;
border-right: 10px solid transparent;
z-index: 1;
}