如何在html中添加css样式

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在html中添加css样式相关的知识,希望对你有一定的参考价值。

1、

<html> <div style="background:blue;"></div></html>

以上是最简单的一种方式,可以在网页中直接加入,不过不能多代码的加入,只可以简单的几行代码的加入。

2、

<html><style type="text/css"> div background-color: blue;</style> <div></div></html>

同在一个屋檐之下的一种表达方式,也是可以的,代码量可以加大,只是属于个人作品的一种表达方式,不是属于团队的开发之一。

3、

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

使用上面的一种文档的方式,也是在企业中要用到的,不过CSS可能是用专人员来写,代码可以很长,也可以很细。

然后开发人员,可以直接使用的一种方式,团员开发的重点之重。

4、以上的三中方式,可能并不只是体现在差异性方面,更多的可能是开发时的实用性的一种主要体现。个人小程序可能也就不要分开来写;专业开发可能不必要文档;团队开发可能用文档比较专业一些,工作可能会更简单一些。

参考技术A 、 <html> <div style="background:blue;"></div></html> 以上是最简单的一种方式,可以在网页中直接加入,不过不能多代码的加入,只可以简单的几行代码的加入。 2、 <html><style type="text/css"> div background-color: blue;</style> <div></div></html> 同在一个屋檐之下的一种表达方式,也是可以的,代码量可以加大,只是属于个

如何将外部 CSS 添加到 HTML '样式'

【中文标题】如何将外部 CSS 添加到 HTML \'样式\'【英文标题】:How to add external CSS to HTML 'style'如何将外部 CSS 添加到 HTML '样式' 【发布时间】:2017-01-06 23:15:02 【问题描述】:

如何使用 Java 将外部 CSS 样式表转换为我的 HTML 的“样式”部分?

我希望能够让我的外部 CSS 存在于“样式”部分,以便我可以将其解析为内联样式而不是外部样式,我见过的最简单的方法是将 CSS 直接放在HTML 而不是链接。

我想在我的 HTML 中更改它:

<link rel="stylesheet" href="smartdoc.css" /> 

为此(理想情况下,通过将 CSS 文件作为方法的参数传递):

<style>
    Content from external CSS.
</style>

这样我就可以使用 JSoup 将其转换为内联样式,如下所示:

public static String inlineCss(String html) 
final String style = "style";
Document doc = Jsoup.parse(html);
Elements els = doc.select(style);// to get all the style elements
for (Element e : els) 
  String styleRules = e.getAllElements().get(0).data().replaceAll("\n", "").trim();
  String delims = "";
  StringTokenizer st = new StringTokenizer(styleRules, delims);
  while (st.countTokens() > 1) 
    String selector = st.nextToken(), properties = st.nextToken();
    if (!selector.contains(":"))  // skip a:hover rules, etc.
      Elements selectedElements = doc.select(selector);
      for (Element selElem : selectedElements) 
        String oldProperties = selElem.attr(style);
        selElem.attr(style,
            oldProperties.length() > 0 ? concatenateProperties(
                oldProperties, properties) : properties);
      
    
  
  e.remove();

return doc.toString();


private static String concatenateProperties(String oldProp, @NotNull String newProp) 
oldProp = oldProp.trim();
if (!oldProp.endsWith(";"))
  oldProp += ";";
return oldProp + newProp.replaceAll("\\s2,", " ");

对此有何建议?

【问题讨论】:

【参考方案1】:

我假设您的所有文件都在以 UTF-8 编码的本地硬盘上。

dummy.html

<link rel="stylesheet" href="smartdoc.css" />

smartdoc.css

a 
  background-color: red;


p 
  background-color: green;

示例代码

要将 link 节点替换为 CSS 文件内容,请执行以下操作:

// Load HTML file
String charsetName = "UTF-8";
Document doc = Jsoup.parse(new File("dummy.html"), charsetName);
System.out.println("BEFORE:\n" + doc.outerHtml());

// Replace each link nodes with its respective CSS file content
for (Element link : doc.select("link[rel=stylesheet]")) 
    String cssFilename = link.attr("href");

    Element style = new Element(Tag.valueOf("style"), "");
    style.appendText("/* " + cssFilename + " */");
    style.appendText(loadCssFileContent(cssFilename, charsetName));

    link.replaceWith(style);


System.out.println("\nAFTER:\n" + doc.outerHtml());

private static String loadCssFileContent(String path, String charsetName) throws IOException 
    byte[] encoded = Files.readAllBytes(Paths.get(path));
    return new String(encoded, charsetName);

输出

BEFORE:
<html>
 <head>
  <link rel="stylesheet" href="smartdoc.css">
 </head>
 <body></body>
</html>

AFTER:
<html>
 <head>
  <style>/* smartdoc.css */a  background-color: red;  p  background-color: green; </style>
 </head>
 <body></body>
</html>

【讨论】:

以上是关于如何在html中添加css样式的主要内容,如果未能解决你的问题,请参考以下文章

在网页中如何添加CSS样式表?

如何在html中添加css样式

如何在jsp页面添加css样式

如何在html中添加css样式

js如何更改css样式,

css 菜鸟