LoR卡组名50字符限制下HTML渐变文字实现方案咨询
LoR 50字符限制下渐变卡组名实现方案
核心原理
LoR卡组名的自定义样式用的是游戏内置的精简富文本标签,不是标准HTML,它的<color>标签不需要闭合、后写的颜色会自动覆盖之前的样式,根本不需要逐字符套标签做渐变。之前逐字符写标签的方案本身就是冗余的错误实现,自然会超字符限制。
已知约束
- 卡组名总长度上限为50个字符
- 逐字符嵌套color标签的方案会浪费大量字符额度,完全不具备可行性,反例如下:
<color="red"> E <color="######"> X <color="blue"> A <color="######"> M <color="xxxxxx"> P <color="yyyyyy"> L <color="zzzzzz"> E
可行实现方案(字符占用远低于50上限)
核心思路是砍掉所有无意义的冗余字符,用最少的标签做出视觉上顺滑的渐变效果:
- 省略所有闭合标签:LoR的color标签不需要写
</color>,后面写新的color标签就会自动替换颜色,每少一个闭合标签能省7-8个字符 - 省略标签属性的引号:
<color=#f00>和<color="#f00">的解析效果完全一致,每个标签能省2个引号的位置 - 颜色值统一用3位十六进制缩写:只要6位色值是两位重复的格式(比如
#ff0000),都可以缩写成3位(对应#f00),每个颜色值能省3个字符,可选颜色完全覆盖渐变需求 - 渐变只需要拆3-4段:短文本的细微色彩断层人眼很难识别,3-4段均匀过渡的颜色视觉上就是顺滑渐变,不需要逐字符改色,标签数量控制在3-4个即可
代码示例
给6个字符的文本做红到紫到蓝的渐变,总字符数仅32,远低于50的限制:
<color=#f00>AB<color=#a0a>CD<color=#00f>EF
如果是4个字符以内的短卡组名,最多可以拆4段颜色,微调写法也能卡进50字符限制,渐变效果会更细腻。
注意事项
- 别用red、blue这类英文颜色名,可选颜色范围极小,调不出顺滑的过渡效果
- 3位十六进制色值的规则是每一位代表对应颜色通道两位重复的值,比如
#707等价于#770077,凑渐变的时候顺着色环选3位色值即可 - 算字符数的时候要把
<、>、=这些标签符号也算进去,留2-3个字符的冗余避免超限
内容的提问来源于stack exchange,提问作者Gabriel Schumacher
相关产品推荐
相关产品推荐

