我有一些html内容通过服务器端调用嵌入到页面中。因此,当在服务器上编译页面的html时,会调用另一个服务器来返回一些html,然后将其嵌入到正文中的某个div中。问题是,这个内容包含它自己的CSS。所以,我编写了一个脚本,将样式标签注入HEAD就绪,这在桌面浏览器上运行良好。然而,在移动设备上,存在相当重要的无格式内容。我知道你在技术上不应该在体内包含样式标签,但是在这种情况下它会产生更好的效果,只是将它们包含在体内而不是将它们注入头部?
答案 0 :(得分:2)
在这种情况下,听起来 right 解决方案是修复您的体系结构,以便服务器端编译器可以在页头中包含远程页面的CSS。这可能涉及将远程页面的CSS从标记中分离出来,然后将其作为单独的文件抓取,以便在编译期间包含在页头中。
由于无数原因,正确的解决方案并不总是可行的,因此通常需要妥协。将CSS保留在远程标记中,如果它产生您想要的结果,则可能是最佳解决方案。或者也许其他一些将CSS放入头部服务器端的黑客可能是合适的。你需要决定是否值得努力做任何这些事情,如果你有可能在你的约束下完成。
答案 1 :(得分:1)
这里有一些讨论。根据我的经验,很多企业内容都能做到。这是否意味着它是正确的事情?我不知道。但根据我的经验,这肯定不会令人不悦。
来源:https://www.w3.org/wiki/The_web_standards_model_-_HTML_CSS_and_JavaScript
为什么分开?
代码效率:文件越大,下载时间越长,一些人查看的费用就越高(有些人仍按兆字节付费。)因此,您不希望在每个HTML文件中使用样式和布局信息混乱的大页面上浪费带宽。一个更好的选择是使HTML文件被剥离和整洁,并且仅在一个单独的CSS文件中包含样式和布局信息一次。要查看实际情况,请查看A List Apart Slashdot重写文章,其中作者选择了一个非常受欢迎的网站,并在XHTML / CSS中重新编写它。
易于维护:从最后一点开始,如果您的样式和布局信息仅在一个地方指定,则意味着如果您想要更改,您只需在一个地方进行更新你网站的外观。您是否希望在网站的每个页面上更新此信息?我不这么认为。
辅助功能:视障人士可以使用一种称为“屏幕阅读器”的软件通过声音而不是视觉来访问信息 - 它实际上是将页面读取给他们,如果它具有适当的语义结构,例如标题和段落,它可以更好地帮助人们在您的网页上找到自己的方式。此外,如果使用最佳实践构建网页上的键盘控件(对于那些无法使用鼠标的行动不便的人来说很重要),效果会更好。作为最后一个例子,屏幕阅读器无法访问锁定在图像中的文本,并发现JavaScript的一些用途令人困惑。确保每个人都可以使用您的重要内容。
设备兼容性:由于您的HTML / XHTML页面只是简单标记,没有样式信息,因此可以通过简单地应用替代方法为具有不同属性(例如屏幕大小)的不同设备重新格式化样式表 - 您可以通过几种不同的方式执行此操作(请参阅dev.opera.com上的[移动文章]了解相关资源)。 CSS本身也允许您为不同的演示方法/媒体类型指定不同的样式表(例如,在屏幕上查看,打印,在移动设备上查看。) 网络抓取工具/搜索引擎:您可能希望通过在Google或其他搜索引擎上进行搜索来轻松查找网页。搜索引擎使用“爬虫”(一种专门的软件)来读取您的页面。如果该抓取工具无法找到您网页的内容,或者由于您没有将标题定义为标题等错误解释重要内容,那么您在相关搜索结果中的排名可能会受到影响。
这只是一种很好的做法:这有点像“因为我这么说”的原因,但与任何专业的标准感知网络开发人员或设计师交谈,他们会告诉你分离内容,风格和行为是开发Web应用程序的最佳方式。
其他stackoverflow文章: