通常在我设计网站时,我需要将特定样式应用于页面上的特定元素,并且我绝对肯定它只会应用于该页面上的该元素(例如绝对定位的按钮)或者其他的东西).我不想求助于内联样式,因为我倾向于同意样式与标记分开的哲学,因此我发现自己在内部讨论样式定义的位置.
我讨厌在我的基本css文件中为一次性使用场景定义一个特定的类或ID,我害怕制作特定于页面的.css文件的想法.对于我正在处理的当前站点,我正在考虑将样式定义放在head元素的页面顶部.你会怎么做?
Ben*_*n S 12
看看是否有一个类的组合可以给你想要的结果.您可能还想考虑将该元素的CSS分解为可以在其他元素上重用的几个类.这有助于最大限度地减少整个网站所需的CSS.
我会尝试在HTML文件的顶部避免使用特定于页面的CSS,因为如果您想要更改网站的外观,则会使CSS碎片化.
对于真的,真的,永远不会用于其他任何东西的CSS,我仍然会#id在网站范围的CSS中使用规则.
由于CSS是从不同的文件链接进来的,因此它允许浏览器缓存该文件,从而在未来的负载下(非常)略微降低服务器带宽.
我会为一个页面设置一个id
<body id="specific-page"> or <html id="specific-page">
Run Code Online (Sandbox Code Playgroud)
并在站点范围的 css 文件中使用 css 覆盖机制。
有四种基本情况:
如果您正在进行任何服务器端编程,您可能只需动态组合#3中的多个工作表即可获得#4的效果.
我推荐一个大文件,无论你是将它实际保存为一个文件还是通过构建过程生成文件,还是在服务器上动态生成.您可以使用特定于页面的ID指定选择器(总是包括一个,以防万一).
至于我写这篇文章时接受的答案,我不同意找到"给你想要的结果的课程组合".这听起来像是类正在识别视觉风格而不是逻辑概念.你的课程应该是"titlebox"而不是"red".然后,如果您需要更改用户信息页面上的文本颜色,您可以说
#userInfoPage .titlebox h1 { color : red; }
Run Code Online (Sandbox Code Playgroud)
不要开始在所有地方开始应用类,因为类当前具有您想要的某种外观.您应该将高级概念放入页面中,用HTML表示类,然后设置这些概念的样式,而不是反过来.