设置Microsoft Word生成的HTML的样式

设置Microsoft Word生成的HTML的样式,html,css,ms-word,generated-code,Html,Css,Ms Word,Generated Code,啊。Word以其臃肿、复杂、不符合标准、无语义的HTML而臭名昭著。不幸的是,我有一位教授要求我们按照非常严格的标准制定大纲。我不想手写,所以我决定做一些对我的同学也有用的东西。我在Mac上的NeoOffice中使用一个简单的编号列表创建了大纲,将其导出为HTML,并编写了相当多的CSS样式。然后,我让人在Word for Windows中创建一个有序列表,将其导出为html,并将其发送给我以检查兼容性。在沿着页面向下滚动数英里,试图抑制颤抖之后,我发现了一个问题。Word没有使用和。它使用了大

啊。Word以其臃肿、复杂、不符合标准、无语义的HTML而臭名昭著。不幸的是,我有一位教授要求我们按照非常严格的标准制定大纲。我不想手写,所以我决定做一些对我的同学也有用的东西。我在Mac上的NeoOffice中使用一个简单的编号列表创建了大纲,将其导出为HTML,并编写了相当多的CSS样式。然后,我让人在Word for Windows中创建一个有序列表,将其导出为html,并将其发送给我以检查兼容性。在沿着页面向下滚动数英里,试图抑制颤抖之后,我发现了一个问题。Word没有使用
  • 。它使用了大量嵌套的
    s和wazoo之外的类。我不想看到我所有的工作都白白浪费,但是这些内容是不可能使用的——我必须在文档到文档的基础上进行样式设置,而不是使用通用样式表


    理想情况下,Word将使用标准标记生成HTML,这样我就可以像其他列表一样设置它的样式,但事实似乎并非如此。我如何才能让它生成实际使用
  • 而不是
    的列表,或者至少修改代码中的某些内容,使其以某种奇怪的方式创建列表?

    如果您可以使用Windows PC,请使用记事本+(http://notepad-plus-plus.org/)要粘贴代码,然后选择插件来格式化代码。

    使用所见即所得编辑器作为列表生成器。这将消除用户处理原始CSS的需要,但代价是将他们带出Microsoft Word的舒适区。

    创造性地使用Word的查找和替换功能也可能奏效。例如,用记事本打开HTML文件,将文本复制并粘贴回Word文档。打开“查找并替换”。如果HTML看起来像这样(例如),“这是文本的第一行”是第一行项目:

    <p class=MsoListParagraphCxSpFirst style='text-indent:-.25in;mso-list:l0 level1 lfo1'><![if !supportLists]><span...(Cut due to berevity)...
    -height:115%'>This is the first line of text<o:p></o:p></span></p>
    

    如果你手头有dreamweaver,有一个神奇的“清理word HTML”按钮,它在这个场景中发挥了神奇的作用。

    MSWord只和作者一样聪明-只有在MSWord中创建有序列表时,它才会被转换成HTML。这意味着列表必须按照MSWord结构进行格式化,而不是按照页面上的显示方式进行格式化。许多人会使用标签和其他格式,而不是使用MSWord列表功能,创建“显示”为有序或无序的列表。“保存为HTML”尝试将其保存为编写时的状态,而不是其显示方式。

    通过一些研究,将文档转换为HTML的方法似乎不实用。Word在为单个文档保存文件和生成HTML的方法上过于多变,更不用说不同版本的Word之间的差异了。与怀亚特的建议类似,可能有清理代码的方法,但没有一种是完美的。围绕API挖掘可能会提供一种更容易解析的方法,但事实可能证明,这在实践中同样复杂。似乎将word用作列表生成工具是不现实的。

    使用此资源将word文档转换为干净的HTML。在我看来,这非常有用。

    编写Winword及其HTML生成的人都是聪明人。如果以一种纯粹的方式使用HTML特性很容易,他们就会这么做

    Word是关于创建纸张优化布局的。它支持诸如制表位和多级编号之类的概念,而HTML不支持这些概念,或者只是刚刚开始支持这些概念。因此,Word文档的HTML版本不是“好的”HTML,而是试图准确地保留Word文档的功能

    当Word重新打开它保存的HTML文件时,它会对文档执行一些巧妙的反向工程,以便在Word中呈现的效果与开始时非常相似。同样,如果您将HTML作为一个片段插入到web页面中,并保留单词CSS,则结果相当可靠。在这种情况下,网页的底层CSS和Word的CSS之间存在文化冲突,需要做出一些努力来充分利用这项糟糕的工作。HTML这个词也不使用UTF-8,这需要一些处理

    HTMLTidy可以用来删除单词标记,但是为了在网页中获得良好的呈现效果,在这之后需要进行更多的处理。我在一个产品上工作了15年,它将Word和web页面混合在一起,如果你对CSS进行微调,结果会非常好

    我们使用Word是因为我们正在创建纸质版本,并从用Word编写的报告中导入文本,而不是因为我们找不到专用的HTML编辑器

    我不建议使用Word创建整洁的纯HTML。你不会用开罐器打开一瓶酒吧

    如果: a) 微软在其高度混乱的“子弹和数字”功能上重新设计了无数选项, b) HTML提供了本机的、功能正确的多级编号支持,而不是目前可用的事后思考方法。HTML在这方面的弱点可以从Google文档中脆弱的编号选项中看出


    HTML5有了如此多的改进,也许我们可以希望HTML6将有助于缩小文字处理器/HTML编辑器之间的鸿沟。

    您可以在“开发人员”选项卡->文档模板->链接CSS下将外部样式表链接到正在使用的HTML文档。然后,您可以使用它覆盖几乎由Word生成的任何样式

    学分:


    注意:我是用Word 2013实现的,但这不是一项新功能。

    相关:可能也有帮助:我还不清楚您到底想实现什么。请参阅最后几行。我澄清了。我仍然不清楚为什么要使用Word,而不是一个生成标准HTML的工具