我通常使用样式表中定义的CSS类来查找经常重复使用的样式,以及CSS不能重复使用的内联样式。所有款式都应该放在样式表中吗?样式表由浏览器缓存,这是有帮助的,但似乎这会使页面更难以使用。
如果CSS文件中包含所有样式,它们是否应引用元素名称(如“#myElement {styles ...}”)或使用类?
谢谢!
答案 0 :(得分:3)
通常,是的,所有CSS都应包含在样式表中。有一些情况可以让CSS显示为内联(显示:无,电子邮件css等)。
有许多CSS方法可以帮助您发现最佳实践,我使用这个方法: http://smacss.com/
我更喜欢在CSS样式表中使用类,并为jQuery使用保留ID。
答案 1 :(得分:2)
我认为这取决于你的实现,但是用CSS完成的大多数事情都可以重构为可能(并且可能应该)最终落在外部文件中的样式。
例如,将唯一元素设置为style="width:50px;height:25px;"
可能最好在该元素上完成,只要该仅该元素(例如用户控件,部分视图 - 某些内容)条块)。但是,style="text-align:center;
可能最适合制作.centered { text-align: center; }
类,然后您可以重复使用(并将其缓存在外部文件中)。
答案 2 :(得分:1)
ID(#)只应用于不重复的元素,如包装器,而类(。)应该用于反复使用的东西,如字体样式或颜色。
类似地,当您只需要使用该样式表一次时,应使用内部样式表,而在需要在整个站点中使用样式时应使用外部样式表。一些设计师仍然喜欢使用外部样式表,即使他们只使用一次,以便更容易检查或复制到另一个站点。
只有在需要一种风格时才能使用内联样式表,但大多数设计师认为这样做完全违背了CSS的目的。
外部样式表也受到限制,因此可以降低网站加载和节省带宽所需的速度。
答案 3 :(得分:0)
使用结构和类来设置相似的部分和ID的样式,以设置非重复元素的样式(但这些元素之间应该相差很远)。例如:
<!DOCTYPE html>
<html>
<head>
...
</head>
<body>
<div id="wrapper">
<article>Main Article</article>
<aside>
<div class="some-widget-type"><h1>Title</h1></div>
<div class="some-widget-type"><h1>Title</h1></div>
<div class="some-other-widget-type"><h1>Title</h1></div>
</div>
</body>
</html>
h1 {/* Base styles here */}
.some-widget-type {/* Styles here */}
.some-widget-type h1 {/* Styles here */}
.some-other-widget-type {/* Different styles here */}
.some-other-widget-type h1 {/* Different styles here */}
它允许您在类似元素和整个页面之间保持一致的样式。
答案 4 :(得分:0)
就个人而言,我更喜欢在外部StyleSheets中拥有所有内容,因为它使其更具可扩展性。如果您希望在项目中稍后重复使用某个类,则只需键入它而不去搜索它。
唯一应该使用的#是特殊元素。
答案 5 :(得分:0)
所有CSS都应该在样式表中,因为您不必访问源代码,编辑布局/样式。
Structre在HTML中,布局在CSS中。
我个人构建这样的CSS文件:
通过这种方式,很容易找到你想要的东西,越相关,越高越好。