我遵循这个解决方案
如何在 iOS 中更改 ePub Book 的字体颜色和字体样式?
但是它不能正常工作。例如在这段 html
<body>
<div id="HolubiPosta-E-2.html" xml:lang="cs-CZ">
<div class="Z-kladn--grafick--r-me-ek">
<p class="Nazev para-style-override-3" id="toc_marker-2">Holubí pošta</p>
<p class="Z-kladn--odstavec para-style-override-4"><span>Už od rána slunce sypalo hlava nehlava zlato.</span></p>
它会更改第二段中的字体,但不会更改第一段中的字体。
如何正确更改所有 html 文档中的字体系列?
编辑:这是我正在使用的 css 添加功能
NSString *addCSSRule = @"function addCSSRule(selector, newRule) {"
"if (mySheet.addRule) {"
"mySheet.addRule(selector, newRule);" // For Internet Explorer
"} else {"
"ruleIndex = mySheet.cssRules.length;"
"mySheet.insertRule(selector + '{' + newRule + ';}', ruleIndex);" // For Firefox, Chrome, etc.
"}"
"}";
这就是我所说的:
NSString *setTextFont = [NSString stringWithFormat:@"addCSSRule('html, body, div, p, span, a', 'font-family: %@;')", m_str_font_name];
[webView stringByEvaluatingJavaScriptFromString:setTextFont];
CSS:
p.Nazev {
font-family : "Liberation Serif", serif;
font-weight : normal;
font-style : normal;
font-size : 1.33em;
text-decoration : none;
font-variant : normal;
line-height : 1.2;
text-align : center;
color : #0000ff;
text-indent : 0px;
margin : 0px;}
p.para-style-override-3 {
margin-bottom : 28px;
margin-top : 28px;}
p.para-style-override-4 {
text-align : justify;}
div.Z-kladn--grafick--r-me-ek {}