5

我正在开发一个地铁应用程序。假设我收到一个字符串 (html) 并将该字符串加载到 webview 中。如何将 .css 与该 html 关联?

更新:

答案中建议的 WebViewColumnRight 是一种android方法;我正在开发一个地铁应用程序,c#。

4

4 回答 4

5

正如 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

于 2013-01-28T16:15:03.300 回答
4

我会说“返回的字符串”应该包含加载 css 文件所需的引用(例如下面)

<head>
<link rel="stylesheet" type="text/css" href="test.css" />
</head>

并让其中的元素引用该css文件中定义的规则。不 ?

于 2013-01-20T11:44:29.300 回答
3

如果你正在做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的路径以及我刚刚从上述讨论中得出的所有信息......

于 2013-01-30T10:38:08.623 回答
2

指向可以找到 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>
于 2013-01-31T16:26:15.937 回答