繁体   English   中英

为4个边框中的每个边框创建边框渐变

[英]Create a border gradient for each of the 4 borders

我想为每个边框创建相同的线性渐变。

5种颜色的边框渐变

transparent to white to black to white to transparent

那样我就有了透明的角落。

如何为所有4个边框执行此操作?

是否可以为边界指定线性渐变?

在此输入图像描述

旁注:它应该在没有太多努力的情况下运行IE9 +其他IE10 +:P

如何使用径向渐变? 虽然这只是一个模拟,但你可以看到基本的效果。

 .outer { vertical-align:top; display:inline-block; height: 100px; width: 100px; position: relative; background: -moz-radial-gradient(center, ellipse cover, rgba(0,0,0,1) 1%, rgba(0,0,0,1) 50%, rgba(0,0,0,0) 90%, rgba(0,0,0,0) 99%, rgba(0,0,0,0) 100%); /* FF3.6+ */ background: -webkit-gradient(radial, center center, 0px, center center, 100%, color-stop(1%,rgba(0,0,0,1)), color-stop(50%,rgba(0,0,0,1)), color-stop(90%,rgba(0,0,0,0)), color-stop(99%,rgba(0,0,0,0)), color-stop(100%,rgba(0,0,0,0))); /* Chrome,Safari4+ */ background: -webkit-radial-gradient(center, ellipse cover, rgba(0,0,0,1) 1%,rgba(0,0,0,1) 50%,rgba(0,0,0,0) 90%,rgba(0,0,0,0) 99%,rgba(0,0,0,0) 100%); /* Chrome10+,Safari5.1+ */ background: -o-radial-gradient(center, ellipse cover, rgba(0,0,0,1) 1%,rgba(0,0,0,1) 50%,rgba(0,0,0,0) 90%,rgba(0,0,0,0) 99%,rgba(0,0,0,0) 100%); /* Opera 12+ */ background: -ms-radial-gradient(center, ellipse cover, rgba(0,0,0,1) 1%,rgba(0,0,0,1) 50%,rgba(0,0,0,0) 90%,rgba(0,0,0,0) 99%,rgba(0,0,0,0) 100%); /* IE10+ */ background: radial-gradient(ellipse at center, rgba(0,0,0,1) 1%,rgba(0,0,0,1) 50%,rgba(0,0,0,0) 90%,rgba(0,0,0,0) 99%,rgba(0,0,0,0) 100%); /* W3C */ filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#000000', endColorstr='#00000000',GradientType=1 ); /* IE6-9 fallback on horizontal gradient */ } .inner { height: 90%; width: 90%; position: absolute; left: 5%; top: 5%; background: white; } 
 <div class="outer"> <div class="inner"> text </div> </div> <div class="outer" style="height:100px; width:200px"> <div class="inner"> text </div> </div> 


资源



注意


  • 不适合<=IE9项目

您也可以使用多个线性渐变作为背景,并根据需要定位它们,如下面的代码段所示。

要更改边框的大小/宽度,请修改background-size的20px值。 (注意:根据所需的输出,您可能还需要在更改大小时更改线性渐变百分比。但这应该是相当简单的。)

background-size: 100% 20px, 100% 20px, 20px 100%, 20px 100%;

总体而言,梯度在IE 9中没有支持,但应该在IE 10+中工作。 另一方面, 边界图像仅从IE 11向上工作。

 .border-image { height: 200px; width: 200px; background: -webkit-linear-gradient(0deg, transparent 10%, white 10%, black 50%, white 90%, transparent 90%), -webkit-linear-gradient(0deg, transparent 10%, white 10%, black 50%, white 90%, transparent 90%), -webkit-linear-gradient(90deg, transparent 10%, white 10%, black 50%, white 90%, transparent 90%), -webkit-linear-gradient(90deg, transparent 10%, white 10%, black 50%, white 90%, transparent 90%); background: -moz-linear-gradient(0deg, transparent 10%, white 10%, black 50%, white 90%, transparent 90%), -moz-linear-gradient(0deg, transparent 10%, white 10%, black 50%, white 90%, transparent 90%), -moz-linear-gradient(90deg, transparent 10%, white 10%, black 50%, white 90%, transparent 90%), -moz-linear-gradient(90deg, transparent 10%, white 10%, black 50%, white 90%, transparent 90%); background: linear-gradient(90deg, transparent 10%, white 10%, black 50%, white 90%, transparent 90%), linear-gradient(90deg, transparent 10%, white 10%, black 50%, white 90%, transparent 90%), linear-gradient(0deg, transparent 10%, white 10%, black 50%, white 90%, transparent 90%), linear-gradient(0deg, transparent 10%, white 10%, black 50%, white 90%, transparent 90%); background-repeat: no-repeat, no-repeat, no-repeat, no-repeat; background-size: 100% 20px, 100% 20px, 20px 100%, 20px 100%; background-position: 0px 0px, 0px 100%, 0px 0px, 100% 0px; padding: 20px; } 
 <div class="border-image">Some Test Content</div> 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM