css - 有没有什么办法用背景色把部分border给遮挡呢?
伊谢尔伦
伊谢尔伦 2017-04-17 12:00:05
0
4
902

我要实现下图中的效果:排队人数后面没有灰色的线。由于项目是UI重构,所以得尽可能减少结构上的差异,我现在实际做出的效果是排队人数后面有父盒子的灰色border,请教大神们,有木有什么办法用子盒子的背景色覆盖父盒子的border。请赐教!

伊谢尔伦
伊谢尔伦

小伙看你根骨奇佳,潜力无限,来学PHP伐。

全員に返信(4)
左手右手慢动作

可以使用定位,让子元素浮起来。假设父元素是100%宽度边框是黑色,可以将子元素设置为102%,将其背景色设置为red,从而让背景色可以将父盒子左右边框覆盖。

いいねを押す +0
巴扎黑

可以用:before和:after来实现:
html

<p class="father">
    <p class="child"></p>
</p>

css

.father{
    border: 2px solid #000;
    position: relative;
    width: 200px;
}
.child{
    height: 100px;
    background-color: red;
}
.father:before{
    content: "";
    width: 2px;
    height: 100px;
    position: absolute;
    background: red;
    right: -2px;
    top: 0;
}

效果

用伪元素把border遮住~
-----------------------2017.4.12 补充---------------------------
我给child加了伪元素,也是可以的呢

.father{
    border: 2px solid #000;
    position: relative;
    width: 200px;
}
.child{
    height: 100px;
    background-color: red;
}
.child:before{
    content: "";
    width: 2px;
    height: 100px;
    position: absolute;
    background: red;
    right: -2px;
    top: 0;
}

效果同上,为了使效果更明显,我把子元素的宽设成100px,效果如下:


这样也是可以的呢~不知道我理解你的意思理解的对不对...以上,酱紫!

いいねを押す +0
Ty80

亲,是否考虑把border的框架去掉呢?

いいねを押す +0
小葫芦


如果这样子说,这样子不更快???

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート