1 个稳定版本
1.0.1 | 2020年3月17日 |
---|
在 网页编程 中排名 1665
每月下载量 71,210
用于 42 个 Crates(直接使用3个)
39KB
542 行
易于使用的 Rust CSS3 颜色字符串解析器。
轻量级。
可靠(提供测试,处理所有错误以避免 panic!)。
为了方便起见,名称不遵循 100% 的规范(见下面的示例)
- 允许额外的空格
- 允许浮点数,而标准只允许百分数
仓库
https://github.com/7thSigil/css-color-parser-rs.git
原始 js 解析器
https://github.com/deanm/css-color-parser-js
Cargo.toml
[dependencies]
css-color-parser = "*"
示例
extern crate css_color_parser;
//...
use css_color_parser::Color as CssColor;
let transparent_black = CssColor { r: 0, g: 0, b: 0, a: 1.0 };
println!("{:?}", " rgba (255, 128, 12, 0.5)".parse::<CssColor>().unwrap_or(transparent_black));
//Color { r: 255, g: 128, b: 12, a: 0.5 }
println!("{:?}", "#fff".parse::<CssColor>().unwrap_or(transparent_black));
//Color { r: 255, g: 255, b: 255, a: 1 }
println!("{:?}", "#ff0011".parse::<CssColor>().unwrap_or(transparent_black));
//Color { r: 255, g: 0, b: 17, a: 1 }
println!("{:?}", "slateblue".parse::<CssColor>().unwrap_or(transparent_black));
//Color { r: 106, g: 90, b: 205, a: 1 }
println!("{:?}", "blah".parse::<CssColor>().unwrap_or(transparent_black));
//Color { r: 0, g: 0, b: 0, a: 0 } - ColorParseError
println!("{:?}", "ffffff".parse::<CssColor>().unwrap_or(transparent_black));
//Color { r: 0, g: 0, b: 0, a: 0 } - ColorParseError
println!("{:?}", "hsla(900, 15%, 90%, 0.5)".parse::<CssColor>().unwrap_or(transparent_black));
//Color { r: 226, g: 233, b: 233, a: 0.5 }
println!("{:?}", "hsla(900, 15%, 90%)".parse::<CssColor>().unwrap_or(transparent_black));
//Color { r: 0, g: 0, b: 0, a: 0 } - ColorParseError
println!("{:?}", "hsl(900, 15%, 90%)".parse::<CssColor>().unwrap_or(transparent_black));
//Color { r: 226, g: 233, b: 233, a: 1 }
// NOTE: not spec compliant.
println!("{:?}", "hsl(900, 0.15, 90%)".parse::<CssColor>().unwrap_or(transparent_black));
//Color { r: 226, g: 233, b: 233, a: 1 }
(c) Katkov Oleksandr [email protected], 2016.
(c) Dean McNamee [email protected], 2012.
本软件及其相关文档文件(以下简称“软件”)的副本,无论是否收取费用,任何人都可以免费使用、复制、修改、合并、发布、分发、再许可和/或出售副本,并允许获得软件的个人对其进行操作,但必须遵守以下条件
上述版权声明和本许可声明应包含在软件的任何副本或主要部分中。
软件按“原样”提供,不提供任何明示或暗示的保证,包括但不限于适销性、针对特定目的的适用性和非侵权性。在任何情况下,作者或版权所有者均不对任何索赔、损害或其他责任承担责任,无论这些责任是基于合同、侵权或其他原因,以及与软件或其使用或操作相关的任何损害。
依赖关系
~10KB