当前位置: 首页 > 面试题库 >

用HTML内联外部CSS

史经业
2023-03-14
问题内容

我正在寻找一个Java库,该库可以根据其ID / class属性将外部CSS文件与HTML文档内联。

我找到了 jStyleParser,
但不确定这是否适合我。我似乎无法理解它是否可以内联CSSHTML中的元素。文档和示例不是我所期望的。

有没有人可以回答这个问题,或者有另一个图书馆可以解决这个问题?

谢谢


问题答案:

您可以尝试CSSBox。只需查看软件包中包含的 ComputeStyles
演示(有关运行该演示的信息,请参阅分发软件包中的 doc / examples / README
文件)。它计算所有样式,并使用相应的内联样式定义创建一个新的HTML文档(以DOM表示)。

来源在 src / org / fit / cssbox / demo / ComputeStyles.java中
,非常简短。实际上,它使用jStyleParser来完成主要工作,CSSBox为此提供了一个更好的接口

        //Open the network connection 
        DocumentSource docSource = new DefaultDocumentSource(args[0]);

        //Parse the input document
        DOMSource parser = new DefaultDOMSource(docSource);
        Document doc = parser.parse();

        //Create the CSS analyzer
        DOMAnalyzer da = new DOMAnalyzer(doc, docSource.getURL());
        da.attributesToStyles(); //convert the HTML presentation attributes to inline styles
        da.addStyleSheet(null, CSSNorm.stdStyleSheet(), DOMAnalyzer.Origin.AGENT); //use the standard style sheet
        da.addStyleSheet(null, CSSNorm.userStyleSheet(), DOMAnalyzer.Origin.AGENT); //use the additional style sheet
        da.getStyleSheets(); //load the author style sheets

        //Compute the styles
        System.err.println("Computing style...");
        da.stylesToDomInherited();

        //Save the output
        PrintStream os = new PrintStream(new FileOutputStream(args[1]));
        Output out = new NormalOutput(doc);
        out.dumpTo(os);
        os.close();

        docSource.close();


 类似资料:
  • 我正在尝试通过与分支内联的am调用c中的外部函数。我正在编译为arm m0指令集,但它返回错误表达式。 代码是: 回报是: 我们需要做什么?

  • 问题内容: 我有使用内联样式的标记,但是我无权更改此标记。如何仅使用CSS覆盖文档中的内联样式?我不想使用jQuery或JavaScript。 HTML: CSS: 问题答案: 覆盖内联样式的唯一方法是使用CSS规则旁边的关键字。以下是一个示例。 重要笔记: 使用不是一个好的做法。因此,您应避免同时使用内联样式。 将关键字添加到任何CSS规则后,该规则就可以 强行优先 于该元素的 所有其他CSS规

  • 问题内容: 是否可以通过内联CSS加载外部字体? 注意:我 不是 在谈论使用带有定义的外部CSS文件,而是类似以下内容: 问题答案: 是否可以使用内嵌CSS加载外部字体?不适用于外部CSS文件[....]。 是的,您可以按照Stephen Scaff的本文中的文章所示对base64字体进行编码,然后将其放到页面的块中,以避免外部请求。 也可以按照您所描述的浏览器是否支持的方式使用此技术。 每个现代

  • 问题内容: 我了解内部和外部联接的工作方式。但是,在此上下文中,“内部/外部”一词的含义是什么?内部联接到底是什么?外部联接的外部是什么? 最好的问候,维沙尔 问题答案: 另一个角度: 最早的简单实现之一是使用嵌套循环的联接。 对于内部联接,只要联接列匹配,外部循环将遍历任何关系,内部循环将遍历其他关系并创建复合行。因此,将在内部循环中创建并填充输出行。因此,这称为INNER JOIN。 当我们希

  • 高效管理客户、渠道商、合作伙伴,公司统一维护,员工离职不带走。结合钉钉强大的沟通和协同功能,全面记录业务往来,随时维系客户关系。关键是这一切,全都是免费的。 添加外部联系人 在手机上添加 在通讯录点击「外部联系人」 点击右上角「添加」 多种方式添加外部联系人 扫名片添加 在外部联系人页,点击右上角添加,选择「扫名片添加」 或在钉钉消息首页 点击「扫名片」 将摄像头对准名片,自动识别 批量在电脑端导

  • 问题内容: 我的一个朋友说,使用开头部分代替压缩的css文件可以提高性能。真的吗? 问题答案: 与使用CSS文件的性能提升(通过其他因素)相比,您的朋友提到的性能提升可能微不足道。 浏览器使用style属性,仅绘制该特定元素的规则,在这种情况下为元素。这样可以减少CSS引擎查找哪些元素与CSS选择器匹配的查找时间(例如或)。 但是,将样式置于元素级别将意味着您无法单独缓存CSS样式规则。通常,将样