【发布时间】:2016-06-22 14:21:42
【问题描述】:
我遇到并修改了一个有趣的 sn-p 代码,它使链接看起来像标签。问题是只有在背景为白色时才能正确看到该形状。在我改变背景的那一刻,形状变成矩形并破坏了外观。
请查看代码 sn-p 和 fiddle 示例以获得更好的理解。
body {
font: 12px/1.5 'PT Sans', serif;
margin: 25px;
background: blue; /*the moment background is white, it's ok*/
}
.tags {
list-style: none;
margin: 0;
overflow: hidden;
padding: 0;
}
.tags li {
float: left;
}
.tag {
background: #eee;
border-radius: 3px 0 0 3px;
color: #999;
display: inline-block;
height: 26px;
line-height: 26px;
padding: 0 20px 0 23px;
position: relative;
margin: 0 10px 10px 0;
text-decoration: none;
-webkit-transition: color 0.2s;
}
.tag::before {
background: #fff;
border-radius: 10px;
box-shadow: inset 0 1px rgba(0, 0, 0, 0.25);
content: '';
height: 6px;
left: 10px;
position: absolute;
width: 6px;
top: 10px;
}
.tag::after {
background: #fff;
border-bottom: 13px solid transparent;
border-left: 10px solid #eee;
border-top: 13px solid transparent;
content: '';
position: absolute;
right: 0;
top: 0;
}
.tag:hover {
background-color: crimson;
color: white;
}
.tag:hover::after {
border-left-color: crimson;
}
<h2>Example 2</h2>
<ul class="tags">
<li><a href="#" class="tag">HTML</a></li>
<li><a href="#" class="tag">CSS</a></li>
<li><a href="#" class="tag">JavaScript</a></li>
</ul>
在上面的代码中,当您在 CSS 的第 4 行将 background 更改为白色时,它就可以正常工作了。
如何让它在所有背景颜色上运行?
【问题讨论】: