间歇边界+边界半径

时间:2013-12-18 21:25:47

标签: css css3

通过CSS进行此类边界是否真实?

intermittent border
我想过

border: 3px solid white;
border-top: none;

和带渐变的伪元素,但它不完全相同。

2 个答案:

答案 0 :(得分:1)

您可以通过添加带渐变的伪元素来完成此操作。透明的 - >白色 - >透明的。

<强> FIDDLE

CSS

div
{
    width: 600px;
    height: 200px;
    border: 5px solid black;
    border-radius: 20px;
    position: relative;
    margin: 50px;
}
div:before
{
    content: '';
    position: absolute;
    top:-5px;
    left:0;right:0;
    margin:auto;
    height: 5px;
    width: 80%;

    background: -moz-linear-gradient(left,  rgba(255,255,255,0) 0%, rgba(255,255,255,0) 1%, rgba(255,255,255,1) 17%, rgba(255,255,255,1) 85%, rgba(255,255,255,0) 100%); /* FF3.6+ */
background: -webkit-gradient(linear, left top, right top, color-stop(0%,rgba(255,255,255,0)), color-stop(1%,rgba(255,255,255,0)), color-stop(17%,rgba(255,255,255,1)), color-stop(85%,rgba(255,255,255,1)), color-stop(100%,rgba(255,255,255,0))); /* Chrome,Safari4+ */
background: -webkit-linear-gradient(left,  rgba(255,255,255,0) 0%,rgba(255,255,255,0) 1%,rgba(255,255,255,1) 17%,rgba(255,255,255,1) 85%,rgba(255,255,255,0) 100%); /* Chrome10+,Safari5.1+ */
background: -o-linear-gradient(left,  rgba(255,255,255,0) 0%,rgba(255,255,255,0) 1%,rgba(255,255,255,1) 17%,rgba(255,255,255,1) 85%,rgba(255,255,255,0) 100%); /* Opera 11.10+ */
background: -ms-linear-gradient(left,  rgba(255,255,255,0) 0%,rgba(255,255,255,0) 1%,rgba(255,255,255,1) 17%,rgba(255,255,255,1) 85%,rgba(255,255,255,0) 100%); /* IE10+ */
background: linear-gradient(to right,  rgba(255,255,255,0) 0%,rgba(255,255,255,0) 1%,rgba(255,255,255,1) 17%,rgba(255,255,255,1) 85%,rgba(255,255,255,0) 100%); /* W3C */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00ffffff', endColorstr='#00ffffff',GradientType=1 ); /* IE6-9 */

}

答案 1 :(得分:0)

[更新:这可以通过径向渐变完成,但我不再在我的电脑前。]

我不确定是否存在边框渐变(但无论如何),但我为您构建了嵌套s的东西。只是一个想法。它只是缺少底部的纯白色。希望它有用。

jsfiddle:http://jsfiddle.net/itsmikem/HfCT3/

<强>的CSS:

div {
     position:relative;
}
#outer {
    background: #cccc00;
    width:200px;
    padding:10px;
}
#mid {
    border-radius:10px;
background: #ffffff;
background: -webkit-linear-gradient(left,  #ffffff 0%,#cccc00 50%,#ffffff 100%);
background: linear-gradient(to right,  #ffffff 0%,#cccc00 50%,#ffffff 100%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#ffffff',GradientType=1 );
    padding:3px;
}
#inner {
    /*width:100%;
    height:100%;*/
    background:#cccc00;
    border-radius:10px;
    padding:10px;
}

<强> HTML:

<div id="outer">
    <div id="mid">
        <div id="inner">stuff
        </div>
    </div>
</div>