html - 使用css根据数值为文本着色

标签 html css

我想使用 css 根据其值为文本着色。

ie. if value is less than 20 --> red ,
    if value is between 20 - 60 --> orange , 
    if value is greater than 60 to 100--> green.

我不想根据值在模板中添加任何类。

我找到了这个链接:How do I change the background color with JavaScript?但这还不够,因为我有太多的值无法应用颜色。 此外,我希望它在将来添加新值时更易于维护。

最佳答案

只有 CSS 不可能

您必须使用 JavaScript/jQuery 动态添加颜色,基于 object 颜色匹配,并测试 data-color HTML 属性中的值是否为在每个元素的范围之间。

JS 代码动态检查元素属性是否在颜色范围内并应用匹配的颜色。

如果您将来必须添加一些颜色和范围,只需在 colorMatch 散列中添加新值,并更新您的 CSS 颜色类列表。

##CSS

.red {color:red}

###HTML

<p data-color="19">Lorem 19</p>

###JS

var colorMatch = {
    '0-19'     : 'red',
    '20-59'    : 'orange',
    '60-100'   : 'green'
 };

Here is the working fiddle

关于html - 使用css根据数值为文本着色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31803300/

相关文章:

javascript - 以编程方式选择与 textarea 元素中的字符串匹配的文本(就像用鼠标完成的那样)

html - CSS自动调整特定尺寸div的图像

html - 如何标准化表格行高行为

html - Visual Studio 2008 HTML 自动格式化程序

html - 如何定位和计算单页滚动网站中元素的距离?

jquery - 系统地为每个 A 添加不同的 CSS 边框,即使它们位于子 div 中

jquery - 像 Netflix 上的水平滚动图像

jquery - 有错误的下拉菜单

javascript - HTML5幻灯片放映效果

jquery - 改进 HTML 图片库滚动