我正在开发一个地铁应用程序。假设我收到一个字符串 (html) 并将该字符串加载到 webview 中。如何将 .css 与该 html 关联?
更新:
答案中建议的 WebViewColumnRight 是一种android方法;我正在开发一个地铁应用程序,c#。
我正在开发一个地铁应用程序。假设我收到一个字符串 (html) 并将该字符串加载到 webview 中。如何将 .css 与该 html 关联?
更新:
答案中建议的 WebViewColumnRight 是一种android方法;我正在开发一个地铁应用程序,c#。
正如 JanivZ 所说,一种方法是您返回的 html 字符串应该包含对所需 CSS 的引用,以便可以自动加载它。
或者您拥有的另一个选项是,您可以使用WebView.loadDataWithBaseURL
htmlData = "<link rel=\"stylesheet\" type=\"text/css\" href=\"style.css\" />" + htmlData;
webView.loadDataWithBaseURL(baseUrl, htmlData, "text/html", "UTF-8", null);
在此之后,WebView 将能够从基本 URL 目录中找到您的 CSS 文件。如果 HTML 和 CSS 都来自同一个基本 URL,则无需在 webView.loadDataWithBaseURL 中指定 baseURL
我会说“返回的字符串”应该包含加载 css 文件所需的引用(例如下面)
<head>
<link rel="stylesheet" type="text/css" href="test.css" />
</head>
并让其中的元素引用该css文件中定义的规则。不 ?
如果你正在做WEBVIEW.NavigateToString(stringHtmlContent)
然后请注入一个
string styleSheetString = "<link rel='stylesheet' type='text/css' href='test.css' />"
strUpdatedHtmlContent = stringHtmlContent.Insert(stringHtmlContent.IndexOf("<head>",styleSheetString);
然后做
WEBVIEW.NavigateToString(strUpdatedHtmlContent)
我只是希望这会有所帮助。O还有一件事,请注意css的路径以及我刚刚从上述讨论中得出的所有信息......
指向可以找到 css 文件的完整路径的外部样式表。
<head>
<link rel="stylesheet" type="text/css" href="full path to css file on server">
</head>
html 附带的内部样式表,不需要依赖 css 文件
<head>
<style>
hr {color:sienna;}
p {margin-left:20px;}
body {background-image:url("images/back40.gif");}
</style>
</head>
内联样式是一种更混乱的方式来完成内部样式表的工作(不依赖于外部 css 文件)
<p style="color:sienna;margin-left:20px">This is a paragraph.</p>