所以我最近开始在我的网站上更多地使用EJS模板,所以我做了一些事情,比如将顶部导航栏和其他东西分解成自己的模板。是否有一个标准的做法,如何组织CSS(或更具体的SCSS)?我是否应该只使用该模板的样式为每个模板创建匹配的SCSS,并在每个使用该模板的页面中添加<link/>
?或者我只是将<style/>
标签添加到模板本身,其中包含CSS。这有标准模式吗?
答案 0 :(得分:1)
好问题。我认为答案是“不”,没有普遍的最佳或接受的标准。
我的“工作导师”给我的建议是好建议:他说“做最容易维护的事情”。这取决于您的项目。我可以想到几个一般的策略:
每个模板一个样式表
在某种程度上,这是最简单的建议。可能是最容易开发的,每个页面都会带来最少的样式。
然而,这使得重用样式变得非常不可能。您无法在<button class="myclass">
中插入任何模板而不会在您需要的每张纸中重新包含.myclass
的样式。此外,如果您想要自动化样式表(缩小或将它们连接起来用于生产等),这是常见的做法,从这里开始就不太可能了。
还有一个缺点,你可能会得到一些意想不到的排序效果。就像你的“widget.css”最终在你的“article.css”之后被添加到DOM一样,它可能会以不同于它早先在DOM中出现的方式覆盖样式。
每页上的所有样式
同样,这很简单。每个页面都包含所有样式表(或者可能只有一个巨页)。您可以在外部布局模板中链接到它一次。自动化缩小等很容易,并且永远不会有任何与订单样式表相关的惊喜。
明显的缺点是每个页面都有很多未使用的样式。但是css在尺寸方面相当“便宜”,所以这可能不是一个坏的下行。
介于两者之间
在每个页面上包含一些样式,并使某些页面特定或模板特定。实际上,这可能是大多数应用程序最终要做的事情。
您可以普遍包含要重用的实用程序样式(ex button.bigred
,form.orderform
等),以及bootstrap等依赖项。我还建议在超过一半的页面中包含您需要的任何样式(导航栏的ex样式)。
可以通过链接直接将用于特定页面的其他样式添加到该页面。
最后一点
我尝试在html中避免使用<style>
标记,原因如下:
<style>
标记,因此为它们留出明确的空间可以避免可能的错误或重叠。