有没有办法让HTML5根据负值或正值更改文本颜色

本文关键字:颜色 文本 HTML5 有没有 | 更新日期: 2023-09-27 18:37:22

我真的没有使用HTML 5的经验,我想看看这是否可行。

无论如何,如果值为负数,我可以在这里使用 HTML5 将文本颜色更改为红色?

目前试图避免使用 JavaScript 或 Jquery。

此代码的输出文件将转到 HTML 文件。

    vWriteFile.WriteLine("<tr>" + "<td>" + key + "</td>" + "<td>" + iSumOpen + "</td>" + "<td>" + iSumBuy + "</td>"
                + "<td>" + iSumSell + "</td>" + "<td>" + iSumSettleMM + "</td>" + "</tr>");

这是整个方法:

    public void printToHTML(string vOutputPath)
    {
        StreamWriter vWriteFile = new StreamWriter(vOutputPath);
        vWriteFile.WriteLine("<table style='"width:100%'">");
        vWriteFile.WriteLine("<tr>" + "<td>" + "<b>Account</b>" + "</td>" + "<td>" + "<b>Open</b>" + "</td>" + "<td>" + "<b>Buy</b>" + "</td>"
                + "<td>" + "<b>Sell</b>" + "</td>" + "<td>" + "<b>SettleMM</b>" + "</td>" + "</tr>");
        foreach (KeyValuePair<string, List<DataRecord>> kvp in vSummaryResults)
        {
            string key = kvp.Key; //assigns key
            List<DataRecord> list = kvp.Value;  //assigns value
            int iSumOpen = 0;
            int iSumBuy = 0;
            int iSumSell = 0;
            double iSumSettleMM = 0;
            foreach (DataRecord rec in list)
            {
                if (vSummaryResults.ContainsKey(key))
                {
                    iSumOpen += rec.open;
                    iSumBuy += rec.buy;
                    iSumSell += rec.sell;
                    iSumSettleMM += rec.settleMM;
                }
                else
                {
                    vSummaryResults.Add(key, list);
                }
            }
            Console.WriteLine(key + "'t" + iSumOpen + "'t" + iSumBuy + "'t" + iSumSell + "'t" + iSumSettleMM + "'t");
            Console.WriteLine("---------------------------------------------------------------------");
            //vWriteFile.WriteLine("{0},{1},{2},{3},{4}", key, iSumOpen, iSumBuy, iSumSell, iSumSettleMM);
            vWriteFile.WriteLine("<tr>" + "<td>" + key + "</td>" + "<td>" + iSumOpen + "</td>" + "<td>" + iSumBuy + "</td>"
                + "<td>" + iSumSell + "</td>" + "<td>" + iSumSettleMM + "</td>" + "</tr>");
        }
        vWriteFile.WriteLine("</table>");
        vWriteFile.Close();
    }

有没有办法让HTML5根据负值或正值更改文本颜色

编辑:正如Nathan K在注释中指出的那样,你应该使用CSS类。我认为最好的方法是使用某种三元语句:

vWriteFile.WriteLine("<tr><td class='"" + value < 0 ? "negative" : "positive" + "'">" + value + "</td></tr>");

可能也有效的旧答案:

您可以使用一些条件,例如:

if(value < 0) {
    vWriteFile.WriteLine("<tr><td style='"background-color:red;'">" + value + "</td></tr>");
}
else {
    vWriteFile.WriteLine("<tr><td>" + value + "</td></tr>");
}