如何用css使边框颜色渐变
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何用css使边框颜色渐变相关的知识,希望对你有一定的参考价值。
一、CSS3 中的边框颜色 这里是一个10px宽的标准边框和边框颜色: #borderColor border: 10px solid #dedede; -moz-border-bottom-colors: #300 #600 #700 #800 #900 #A00; -moz-border-top-colors: #300 #600 #700 #800 #900 #A00; -moz-border-left-colors: #300 #600 #700 #800 #900 #A00; -moz-border-right-colors: #300 #600 #700 #800 #900 #A00; padding: 15px 25px; height: inherit; width: 590px; 二、有圆角的边框颜色 #borderColorCorner border: 10px solid #dedede; -moz-border-radius: 15px; -moz-border-bottom-colors: #303 #404 #606 #808 #909 #A0A; -moz-border-top-colors: #303 #404 #606 #808 #909 #A0A; -moz-border-left-colors: #303 #404 #606 #808 #909 #A0A; -moz-border-right-colors: #303 #404 #606 #808 #909 #A0A; padding: 15px 25px; height: inherit; width: 590px; 参考技术A background-color:#a0a #909 #808 #707 #606 #505 #404 #303;background -color 属性的参数很简单,可以是任意合法的颜色值或颜色值列表,当background -color只设置了一个颜色时,那么就是单色的。如果设置了n中颜色而边框宽度也为n的话那么每一个像素显示一种颜色,如果边框宽度值大于颜色数值时,最后一种颜色用于显示剩下的宽度。 参考技术B 浏览器兼容性不好,注意使用
使 UIView 渐变的边框颜色
【中文标题】使 UIView 渐变的边框颜色【英文标题】:Make border color of UIView gradient 【发布时间】:2017-10-08 15:58:33 【问题描述】:如何制作 UIView 渐变的边框颜色?
我已经从我的情节提要中声明了一个 UIView,并且我知道如何使边框颜色纯色。但我不知道如何制作边框渐变。
@IBOutlet weak var view: UIView!
override func awakeFromNib()
super.awakeFromNib()
let gradient = CAGradientLayer()
gradient.colors = [UIColor.white.cgColor, UIColor.black.cgColor]
view.backgroundColor = nil
view.layer.cornerRadius = view.bounds.width / 2
view.layer.borderWidth = 3
view.layer.borderColor = colorOutline.cgColor
nah.textColor = colorCircleBlue
【问题讨论】:
可能重复。看看这个答案***.com/a/36836787/2000162 @TomCobo 答案很好。你知道我怎样才能让框架变成圆形吗? view.layer.masksToBounds = true; view.layer.cornerRadius = view.bounds.width / 2 @TomCobo 渐变框架是正方形。我需要使渐变框架圆形 【参考方案1】:如果你想制作圆形渐变框架试试这个:
let gradient = CAGradientLayer()
gradient.frame = CGRect(origin: CGPoint.zero, size: self.yourView.frame.size)
gradient.colors = [UIColor(red: 1, green: 0.2527923882, blue: 1, alpha: 1).cgColor, UIColor(red: 0.1802595352, green: 0.06151589641, blue: 0.2927506345, alpha: 1).cgColor]
let shape = CAShapeLayer()
shape.lineWidth = 2
shape.path = UIBezierPath(roundedRect: yourView.bounds.insetBy(dx: 2, dy: 2), cornerRadius: yourView.frame.width * 0.5).cgPath
shape.strokeColor = UIColor.black.cgColor
shape.fillColor = UIColor.clear.cgColor
gradient.mask = shape
self.yourView.layer.addSublayer(gradient)
您的视图的高度和重量之间的纵横比必须为 1 // 粉色和紫色 => [UIColor(red: 1, green: 0.2527923882, blue: 1, alpha: 1).cgColor, UIColor(red: 0.1802595352, green: 0.06151589641, blue: 0.2927506345, alpha: 1).cgColor ]
【讨论】:
【参考方案2】:你好什么
下面我举一个例子让你完成你的任务。
我把我的代码放在 didSet 里面,但是如果你愿意,你也可以把代码放在 didLoad 里面。
我也不知道是谁做的,我搜索并发现了这个答案。
@gvuksic explain how create a border gradient on UIView us here
let gradient = CAGradientLayer()
gradient.frame = CGRect(origin: CGPoint.zero, size: self.view.frame.size)
gradient.colors = [UIColor.blue.cgColor, UIColor.green.cgColor]
let shape = CAShapeLayer()
shape.lineWidth = 2
shape.path = UIBezierPath(rect: self.view.bounds).cgPath
shape.strokeColor = UIColor.black.cgColor
shape.fillColor = UIColor.clear.cgColor
gradient.mask = shape
self.view.layer.addSublayer(gradient)
【讨论】:
这是完美的。但是,你知道我怎样才能让 gradient.frame 变成圆形吗? 试试这个项目的开源代码:github.com/tonsser/Cirque,如果你想自定义你可以。以上是关于如何用css使边框颜色渐变的主要内容,如果未能解决你的问题,请参考以下文章