TLDR; 跳到问题部分
背景
我们有一个非常大的整体遗留应用程序。 我们正在将功能剥离到一个新的应用程序中。
这两个应用程序在完全不同的体系结构和技术中具有完全不同的UI。 由于我们的用户将在两者之间自由地导航,目前,我们需要在某种程度上统一UI,以便过渡不是那么刺耳。
我们决定有一个大的CSS覆盖样式表,我们只是加载在遗留应用程序的顶部(这样我们就可以花更多的时间关注新的应用程序)。 这张纸虽然厚重,但很管用。
我们的遗留应用程序有一个根CSS文件,包括在每个页面上,不管如何(有些是经典的ASP,有些使用母版页,有些是手动的)。
这个问题
所以我们决定在根样式表中使用@import标记来引入我们的重新样式覆盖。
虽然我们承认阻止页面呈现是一种可怕的反模式,但我们需要这种行为来防止旧UI的闪烁,直到覆盖表接管。
我们认为头中的CSS将阻止页面的呈现,直到它加载,但它似乎没有等待导入的CSS。 这是关于导入的预期行为吗? 有没有办法让用户代理等待? 任何信息如何如何实现这将是非常感激的。
谢谢
没有办法将另一个CSS文件同步应用到它所嵌入的CSS文件中。 但是,由于你已经在这个项目中做了很多准备工作,下面是我可以给你的一些建议:
(但在此之前:所有这些都不是真正的好,更不用说是最佳实践了,而且肯定会有一些危险。)
Loading...
再次隐藏它。Loading-screen{display:none;}
@import
的想法,在根样式表中编写新样式表的内容。最好的做法可能是重新设计hole站点的结构,或者至少重新设计/删除旧的GUI样式。