5

我有一个带有一个边框的圆圈,但我想知道是否有办法实现一个带有两个不同颜色边框的圆圈。我有如下的 CSS 生产圈:

.circle {
    width: 20px;
    height: 20px;
    border-radius: 12px;
    border: 1.5px solid #fff;
    font-family: Cambria;
    font-size: 11px;
    color: white;
    line-height: 20px;
    text-align: center;
    background: #3E78B2;
}

.circle:hover {
    width: 27px;
    height: 27px;
    border-radius: 18px;
    font-size: 12px;
    color: white;
    line-height: 27px;
    text-align: center;
    background: #3E78B2;
}

这是 jsFiddle 的链接

您现在可以看到它有一些白色边框。我想在白色边框上添加另一个边框。

如果您有任何想法/建议,请告诉我。

4

2 回答 2

11

嗨,你也可以这样做:

.container {
    background-color: grey;
    height: 200px;
    padding:10px; // ADD THIS ALSO
}
.circle {
    width: 20px;
    height: 20px;
    border-radius: 12px;
    border: 1.5px solid #fff;
    font-family: Cambria;
    font-size: 11px;
    color: white;
    line-height: 20px;
    text-align: center;
    background: #3E78B2;
    box-shadow: 0 0 0 3px #002525; // JUST ADD THIS LINE AND MODIFY YOUR COLOR
}

好处是你还可以放一个模糊效果,改变如下:

box-shadow: 0 0 3px 3px #002525;
于 2013-07-10T01:08:00.473 回答
1

如果我对您的理解正确,我认为您希望按照以下方式做一些事情:http: //jsfiddle.net/QCVjr/1/

.circle {
    width: 20px;
    height: 20px;
    border-radius: 12px;
    border: 1.5px solid #000;
    font-family: Cambria;
    font-size: 11px;
    color: white;
    line-height: 20px;
    text-align: center;
    background: #fff;
    position: relative;
    z-index: 1;
}
.circle:before {
    position: absolute;
    right: 2px;
    top: 2px;
    left: 2px;
    bottom: 2px;
    content: '';
    background: #3E78B2;
    border-radius: 25px;
    z-index: -1;
}
.circle:hover {
    width: 27px;
    height: 27px;
    border-radius: 18px;
    font-size: 12px;
    color: white;
    line-height: 27px;
    text-align: center;
    background: #fff;
}

您会注意到我采用了您的原始背景颜色并将其添加到:before伪元素中,将 移至#fff背景,并使您的其他边框颜色(在本例中#000为 )成为原始元素的边框颜色。两个z-indexes 都需要获得正确的分层。

于 2013-07-10T00:57:36.287 回答