0

我想设计一个棘手的 CSS 边框。本质上,我想为 div 实现这种边框效果,其中 div 高度为 10px,带有 1px 纯绿色边框,但右边框有 4px 纯红色覆盖,垂直居中且只有 5px 高。

见下文:

在此处输入图像描述

有什么好主意吗?我玩过伪元素,但没有运气。我想要这个在一个 div 中。

谢谢

4

4 回答 4

2

你可以用 CSS3 做到这一点。

div {
    width:10px;
    height:10px;
    border:1px solid green;
    position:relative;
}

div:after {
    content: '';
    background: red;
    width: 3px;
    height: 6px;
    position: absolute;
    right: -2px;
    top: 2px;
}

您只需要使用像素值来使其像您想要的那样(您的示例图像看起来并不像 10px x 10px)。

希望能帮助到你。

于 2013-08-19T19:38:07.747 回答
1

好吧,您可以在 Pseudo 之后或之前使用它

div:after{
content: '';
position: absolute;
border:5px solid green;
height: 50px;
left:198px;
top:60px;}

小提琴:http: //jsfiddle.net/zjUZB/1/

于 2013-08-19T19:36:52.110 回答
0

创建一个覆盖绿色 div 的 div。随意放置。给它这个CSS:pointer-events:none;

我怀疑这在单个 div 中是可能的。也许将图像作为右边框,但这意味着 div 大小的灵活性损失。

于 2013-08-19T19:33:56.600 回答
0

也许使用

.your-div:after { content: " "; 
border-left: 10px /*or whatever*/ solid red; 
position: relative;}

并根据需要设置边框、宽度、高度、位置等。

只是一个快速的想法,尚未测试:)

除此之外,我不知道(CSS 不支持多个边框)。

哦,我刚刚读到您已经使用过伪元素区域...所以您可能已经尝试过了。

于 2013-08-19T19:37:19.303 回答