1

我需要在页面内的文本周围创建一个渐变边框,我有四列,我需要边框围绕列的外部和内部并具有相同的宽度。

例如我添加了一张图片:

在此处输入图像描述

边界需要与上面相同。

这是我在下面使用的 HTML,到目前为止的问题是列连接边框的位置正在向它添加两个边框并且border-left:none;不起作用。我还需要知道这是否是最好的方法,以及其他方法。

<html>
<head>
<style>

.border{
    padding: 15px 20px;
    border-top: 20px solid #000;
    border-bottom: 20px solid #FF0000;
    <!--margin: 40px auto;-->
    background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#000), to(#FF0000));
    background-image: -webkit-linear-gradient(#000, #FF0000);
    background-image:
        -moz-linear-gradient(#808, #FF0000),
        -moz-linear-gradient(#000, #FF0000)
    ;
    background-image:
        -o-linear-gradient(#000, #FF0000),
        -o-linear-gradient(#000, #FF0000)
    ;
    background-image: 
        linear-gradient(#000, #FF0000),
        linear-gradient(#000, #FF0000)
    ;
    -moz-background-size:17px 100%;
    background-size:20px 100%;
    background-position:0 0, 100% 0;
    background-repeat:no-repeat;

}

#primary {
    float: left;
    width: 200px;
}

#content {
    float: left;
    width: 200px;
}

#secondary {
    float: left;
    width: 250px;
}

#third {
    float: left;
    width: 250px;
}
</style>

</head>
<body>
    <div id="primary" class="border">
        <p>Column information</p>
    </div>

    <div id="content" class="border">
        <p >Column information</p>
    </div>

    <div id="secondary" class="border">
        <p >Column information</p>
    </div>

     <div id="third" class="border">
        <p >Column information</p>
    </div>
</body>
</html>
4

1 回答 1

3

渐变边界与否(尚未)得到广泛支持。这里的简单解决方案是添加一个带有渐变的包装器 div,并为每个列 div 提供背景颜色以掩盖包装器的背景。像这样的东西:

<div class='wrapper'>
    <div class='col'>...</div>
    <div class='col'>...</div>
    <div class='col'>...</div>
    <div class='col'>...</div>
</div>

和CSS:

.wrapper {
    float: left; /* no need to be wider then the content */
    overflow: hidden; /* clearfix */
    padding: 10px 10px 0 0; /* no padding left / bottom, the margin left on the cols takes care of that */
    background: linear-gradient(to bottom, #ff3232 0%,#000000 100%); /* don't forget to add prefixes here */
}
.col {
    width: 150px; /* just some width, any number will do */
    float: left; /* make them appear as columns */
    margin: 0 0 10px 10px; /* same margin as the padding on the wrapper, but only left/bottom */
    background-color: #fff; /* a color to mask the gradient */
    padding: 5px;
}

看一个活生生的例子:http: //jsfiddle.net/Pevara/6vDmH/

于 2013-06-11T19:47:54.110 回答