两个CSS文件互相导入是否有充分的理由?


8

我正在为另一个团队设计的客户WordPress网站进行一些关键样式的修订。

CSS似乎是一团糟。我发现的一种特质是主题的主样式表style.css@import从子目录中导入另一个样式表:css/default.css。同时,default.css@也将主样式表导入其文件的顶部。

我删除了@import指令,并添加了default.cssto 的内容style.css,但是无论我将default.css样式放在style.css文件的顶部还是底部,这都会破坏布局。@import循环会对级联产生某种影响,从而使布局“起作用”。

我以前从未见过这样的东西。似乎很明显,我应该解开样式表并按增加的顺序对选择器进行排序。但是,故意创建两个相互导入的CSS文件是否有合理的理由?似乎很疯狂,但是这背后可能有原理性的原因吗?

我专门研究前端开发,而不是WordPress开发。我注意到WordPress分析了主主题样式表以获取主题信息。@import递归在某种程度上对WordPress有用吗?


是否安装了WP缓存插件?您是否尝试过使用Chrome开发者工具查看删除导入时哪些CSS规则破坏了布局,并确定它们所在的文件?
nathangiesbrecht

1
John是个好问题,但是一个页面要求一次又一次地下载相同的文件,尤其是没有在每个文件上附加适当的缓存头的情况下,这是一个灾难。我猜你已经安装了多个wordpress插件。
迈克(Mike)

1
“并将default.css的内容添加到style.css中”-也许应该是相反的方式!是否附有任何媒体查询@import
MrWhite 2015年

可以分享网站吗?
ePetkov

Answers:


3

@import是有关页面加载时间的一个大麻烦。完成CSS事情后,您的客户端会带来加载时优化思想,并且最晚出现的关于删除@import的问题将再次出现。

首先,我会尝试将<import>替换为@import。然后尝试使用开发工具来确定哪些类存在冲突。之后,尝试添加!important从导入的CSS文件中移出CSS规则。

可能发生的是,导入的CSS文件中的文件的(相对)路径存在一些问题...?

有时,它有助于使用@imported CSS在浏览器中加载网站,因此看起来像客户期望的那样,然后在dev-tools的帮助下复制整个CSS,将其保存到一个CSS文件中,并用此新创建的文件替换所有CSS文件一。

我要尝试实现的全局想法是,将所有CSS规则移至同一文件中,使其正常工作,然后将首屏区域的CSS规则移至HTML文件的头部。


谢谢。将所有规则都移动到一个文件中,并使用开发工具来解决冲突,这正是我所做的,并且工作得很出色。
约翰·史蒂芬斯
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.