好吧,我设法在边框上创建线性渐变效果。但是,我希望渐变能够更早地结束'。由此,我希望边框在第一段左右淡化为白色。
下面你可以看到当前的引用和代码:
HTML:
<article class="newsarticle">
<div class="newsarticletext">
<p class="newsarticletitle">SIZE announces project Nero</p>
<br /><br />
<p class="newsarticledesc">
<b>Sed ut perspiciatis unde omnis iste natus error</b>
<br /><br />
Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
<br /><br />
Voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo. Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt. Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit, sed quia non numquam eius modi tempora incidunt ut labore et dolore magnam aliquam quaerat voluptatem.
<br /><br />
<b>At vero eos et accusamus et iusto</b>
<br /><br />
Ut ad minima veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, nisi ut aliquid ex ea commodi consequatur? Quis autem vel eum iure reprehenderit qui in ea voluptate velit esse quam nihil molestiae consequatur, vel illum qui dolorem eum fugiat quo voluptas. Temporibus autem quibusdam et aut officiis debitis.</p>
</div>
</article>
CSS:
.newsarticle {
position: relative;
border-top: 3px solid #e1e1e1;
border-bottom: none;}
.newsarticle:before, .newsarticle:after {
content: "";
position: absolute;
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#e1e1e1), to(#FFF));
background-image: -webkit-linear-gradient(#e1e1e1, #FFF);
background-image: -moz-linear-gradient(#e1e1e1, #FFF);
background-image: -o-linear-gradient(#e1e1e1, #FFF);
background-image: linear-gradient(#e1e1e1, #FFF);
top: -3px;
bottom: -3px;
width: 3px;}
.newsarticle:before {
left: -3px;}
.newsarticle:after {
right: -3px;}
答案 0 :(得分:2)
您可以指定颜色的起点。
.newsarticle {
position: relative;
border-top: 3px solid #e1e1e1;
border-bottom: none;
}
.newsarticle:before,
.newsarticle:after {
content: "";
position: absolute;
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#e1e1e1), to(#FFF));
background-image: -webkit-linear-gradient(#e1e1e1 0%, #FFF 60%);
background-image: -moz-linear-gradient(#e1e1e1 0%, #FFF 60%);
background-image: -o-linear-gradient(#e1e1e1 0%, #FFF 60%);
background-image: linear-gradient(#e1e1e1 0%, #FFF 60%);
top: -3px;
bottom: -3px;
width: 3px;
}
.newsarticle:before {
left: -3px;
}
.newsarticle:after {
right: -3px;
}
<article class="newsarticle">
<div class="newsarticletext">
<p class="newsarticletitle">SIZE announces project Nero</p>
<br />
<br />
<p class="newsarticledesc">
<b>Sed ut perspiciatis unde omnis iste natus error</b>
<br />
<br />Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
<br />
<br />Voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo. Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia
consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt. Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit, sed quia non numquam eius modi tempora incidunt ut labore et dolore magnam aliquam
quaerat voluptatem.
<br />
<br />
<b>At vero eos et accusamus et iusto</b>
<br />
<br />Ut ad minima veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, nisi ut aliquid ex ea commodi consequatur? Quis autem vel eum iure reprehenderit qui in ea voluptate velit esse quam nihil molestiae consequatur, vel illum qui
dolorem eum fugiat quo voluptas. Temporibus autem quibusdam et aut officiis debitis.</p>
</div>
</article>
答案 1 :(得分:1)
只是使用border-image
的替代方法,因为您正在使用边框。使用background-image
作为边框很好,但需要::before / ::after
个伪元素来实现相同的技巧。
您需要border
,因此最好使用border-image
而不是background-image
。
使用border-image
代码段
.newsarticle {
position: relative; padding: 8px;
border-width: 3px;
border-style: solid;
-webkit-border-image: -webkit-linear-gradient(#e1e1e1 0%, #fff 50%) 1 20%;
border-image: linear-gradient(to bottom, #e1e1e1 0%, #fff 50%) 1 20%;
}
&#13;
<article class="newsarticle">
<div class="newsarticletext">
<p class="newsarticletitle">SIZE announces project Nero</p><br /><br />
<p class="newsarticledesc"> <b>Sed ut perspiciatis unde omnis iste natus error</b><br /><br />
Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.<br /><br />
Voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo. Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt. Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit, sed quia non numquam eius modi tempora incidunt ut labore et dolore magnam aliquam quaerat voluptatem.<br /><br />
<b>At vero eos et accusamus et iusto</b><br /><br />
Ut ad minima veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, nisi ut aliquid ex ea commodi consequatur? Quis autem vel eum iure reprehenderit qui in ea voluptate velit esse quam nihil molestiae consequatur, vel illum qui dolorem eum fugiat quo voluptas. Temporibus autem quibusdam et aut officiis debitis.</p>
</div>
</article>
&#13;