我正在开发一个主题框架,所有内容的前缀都包括css类,所以“main content”是“framework main content”,“header”是“framework header”,等等。
最近,我查看了著名的框架Genesis,发现css类没有前缀,HTML标记看起来很干净,还有css代码。
毫无疑问,我们应该在PHP代码中为所有内容添加前缀,但对于主题或主题框架的css类来说,这是必要的吗?
我正在开发一个主题框架,所有内容的前缀都包括css类,所以“main content”是“framework main content”,“header”是“framework header”,等等。
最近,我查看了著名的框架Genesis,发现css类没有前缀,HTML标记看起来很干净,还有css代码。
毫无疑问,我们应该在PHP代码中为所有内容添加前缀,但对于主题或主题框架的css类来说,这是必要的吗?
前缀用于避免冲突。如果您的框架用于构建主题,那么很有可能没有第二个主题框架同时使用。因此没有冲突,因此不需要前缀。
例外是WordPress核心生成的CSS类,例如在注释表单中。如果您将相同的类名用于完全不同的目的,那么您需要一个前缀,或者为您的用例提供更好的类名。
不不要在所有事情上都加前缀,任何人都会疯狂地处理。您应该做的是添加body_class 到namespace 特别主题CSS。
如果我今天写一个主题,我会在function.php
文件为:
add_filter( \'body_class\', function( $classes ){
$classes[] = \'my-bad-ass-theme\';
return $classes;
});
然后覆盖我需要的任何内容都是可以访问的,但也很容易阅读和具体。例如,我希望标题的字体与网站的其他部分不同,我会将其放在CSS文件中:.my-bad-ass-theme{
font-family: Verdana;
}
.my-bad-ass-theme h1,
.my-bad-ass-theme h2,
.my-bad-ass-theme h3,
.my-bad-ass-theme h4,
.my-bad-ass-theme h5,
.my-bad-ass-theme h6 {
font-family: Lucida-Grande;
}
除了以下段落,我的原始字体仍然可以有一个很好的样式:p {
color: #333;
}
这使得段落可以通过插件或类似的子主题进行样式化,而不会造成阻碍。不要对namespace
, 但也要研究CSS预处理器,如SAAS和LESS(我建议SASS), 利用嵌套和其他功能。
在里面https://codex.wordpress.org/Child_Themes 这是包含样式的最佳实践。css在子主题中,必须将下面的代码放入函数中。php的子主题,但将“父样式”替换为可以在函数中找到的父主题的参数。父主题的php。我在我的主题文件中找不到它,那里也没有多少代码。使用@import包含父主题样式表的方法不适用于我,放入文件的css不会在任何浏览器的站点上显示自己。function my_theme_enqueue_styles() { $parent_s