0

我正在尝试更改不同区域中不同 Web 元素的字体颜色。大多数情况下,它在我使用时工作正常,我使用的是这样的:

<font color='BLUE'>
<DIV>
<SPAN style="WHITE-SPACE: normal; TEXT-TRANSFORM: none; WORD-SPACING: 0px; FLOAT: none;      : rgb(34,34,34); FONT: 13px Calibri; -webkit-text-size-adjust: auto">
</SPAN>
</DIV>
<DIV>
<SPAN style="BORDER-TOP-     : ; WHITE-SPACE: normal; TEXT-TRANSFORM: none; WORD-SPACING: 0px; FLOAT: none;      : rgb(0,0,0); FONT: large arial, sans-serif;  -webkit-text-size-adjust: auto">abc
</SPAN>
</DIV>
</font>

要不就

 <font color='BLUE'>
<P>abc
</P>
    </font>

但是当我试图改变字体颜色和标签下一些文本元素的形成时,它不起作用!

<font color='Blue'>
        <DIV>   
        <TABLE style="WIDTH: 165pt; BORDER-COLLAPSE: collapse; border=0 cellSpacing=0 cellPadding=0 width=219>
        <COLGROUP>
        <COL style="WIDTH: 21pt; mso-width-source: userset; mso-width-alt: 1024" width=28>
        <COL style="WIDTH: 92pt; mso-width-source: userset; mso-width-alt: 4498" width=123>
        <TBODY>
        <TR style="HEIGHT: 66pt; mso-height-source: userset" height=88>
        <TD style="BORDER-BOTTOM: #ece9d8; BORDER-LEFT: #ece9d8;           -     : transparent; WIDTH: 165pt; HEIGHT: 66pt; BORDER-TOP: #ece9d8; BORDER-RIGHT: #ece9d8" class=xl65 height=88 width=219 colSpan=4><FONT size=2 face=Calibri></FONT>
        </TD></TR>
        <TR style="HEIGHT: 107.25pt; mso-height-source: userset" height=143>
        <TD style="BORDER-BOTTOM: #ece9d8; BORDER-LEFT: #ece9d8;           -     : transparent; WIDTH: 165pt; HEIGHT: 107.25pt; BORDER-TOP: #ece9d8; BORDER-RIGHT: #ece9d8" class=xl65 height=143 width=219 colSpan=4>
        <FONT size=2 face=Calibri>
        <SPAN style="mso-spacerun: yes">&nbsp; </SPAN><BR><BR></FONT></TD></TR>
        </TBODY>
        </TABLE>
        </DIV>
        </font>

如果我想保持通用规则来更改各种格式的字体颜色,请建议我该怎么做。这是我一直在一些应用程序中使用的,我从用户那里获取输入,他们在 html 标签中插入文本,我只需要使文本的字体颜色相似,并为所有输入保持相同的格式。

PS为了让场景更清晰,我实际上是从服务器端获取所有html标签和文本,在字符串的开头和结尾添加,将新字符串加载到这样的webview中:

String str = "abc"; //actaully what I am getting from backend with html tags

if(ann.get() != null)

    String  content = "<font color='Blue'>";
    content = content + Str;
    content = content + "</font>";
    details.loadData(content,"text/html","UTF-8");
    details.setBackgroundColor(Color.Black);
4

2 回答 2

1

为您的元素提供适当的类,然后您可以使用 CSS 来设置这些类的样式。

例如

table {color: white}
td.myclass {color: green}
于 2013-09-17T20:22:02.690 回答
1

根据所有 HTML 规范,在元素中包含divortable元素的标记是无效的。font然而,浏览器传统上已经消化了它,但是字体属性不会影响表格内的内容。这仍然是现代浏览器在Quirks Mode 下的行为方式。

奇怪的是,在标准模式下,现代浏览器会在表格内容上应用字体颜色。(所以在所谓的标准模式中,一些被忽略的非标准标记被尊重!)但是,通过<!doctype html>在文档的开头拍打来切换到标准模式是非常危险的。为在 Quirks 模式下工作而开发的代码在标准模式下可能会完全崩溃,或者可能几乎相同,或者介于两者之间。

如果您特别想在页面表格内设置颜色,可以添加以下元素:

<style>
th, td { color: blue }
</style>

它应该通过 HTML 语法进入head零件,但实际上它在body零件中也很有效,因此如果必须,您可以在桌子之前(或之后!)拍打它。

于 2013-09-17T20:53:02.470 回答