我正在尝试更改不同区域中不同网页元素的字体颜色。大多数情况下,我正在使用时工作正常,我正在使用这样:
<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"> </SPAN><BR><BR></FONT></TD></TR>
</TBODY>
</TABLE>
</DIV>
</font>
如果我想保留通用规则来更改各种格式的字体颜色,请建议我该怎么办。这是我在一些应用程序中使用的,我从用户那里获得了他们在html标签中插入文本的输入,我只需要使文本的字体颜色相似,并为所有输入保持相同的格式。
P.S。为了使场景清晰,从服务器端我实际获得所有的html标签和文本,在字符串的开头和结尾添加,将新的String加载到这样的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);
答案 0 :(得分:1)
为您的元素提供适当的类,然后您可以使用CSS来设置这些类的样式。
例如
table {color: white}
td.myclass {color: green}
答案 1 :(得分:1)
根据所有HTML规范,div
元素中包含table
或font
元素的标记无效。然而,浏览器传统上消化它,但是字体属性不会影响表内的内容。这仍然是现代浏览器在Quirks Mode中的行为方式。
奇怪的是,在标准模式下,现代浏览器会在表格内容上应用字体颜色。 (因此,在所谓的标准模式中,一些非标准的标记会被忽略!)然而,通过在文档的最开头打<!doctype html>
来切换到标准模式是非常危险的。已经开发出以Quirks模式工作的代码可能会在标准模式下完全崩溃,或者它可能几乎相同,或介于两者之间。
如果您特别想在页面的表格中设置颜色,可以添加以下元素:
<style>
th, td { color: blue }
</style>
它应该通过HTML语法进入head
部分,但实际上它也适用于body
部分,所以你可以在表之前(或之后!)对它进行打击必须的。