跳到主要内容

作为一名新的WordPress主题设计师,您将很快学习维护长CSS文件同时保持其组织性,可伸缩性和可读性的挑战。您还将了解许多设计人员和前端开发人员建议使用CSS预处理程序语言,例如Sass或LESS。但是这些是什么?以及您如何开始使用它们?本文是针对新WordPress主题设计师的Sass简介。我们将告诉您什么是CSS预处理器,为什么需要它,以及如何立即安装和开始使用它们。

适用于新wordpress主题设计师的sass简介
适用于新wordpress主题设计师的sass简介

什么是萨斯?

我们使用的CSS被设计为易于使用的样式表语言。然而,网络已经发生了发展,设计师也需要一种样式表语言,以允许他们以更少的工作量和更少的时间做更多的事情。CSS预处理器语言(例如Sass)允许您使用CSS中当前不可用的功能,例如使用变量,基本数学运算符,嵌套,mixins等。

它非常类似于PHP,它是一种预处理器语言,可以在服务器上执行脚本并生成HTML输出。同样,Sass预处理.scss文件以生成可供浏览器使用的CSS文件。

从3.8版开始,WordPress管理区域样式已移植为利用Sass进行开发。有许多WordPress主题商店和开发人员已经在利用Sass来加快其开发过程。

Sass WordPress主题开发入门

大多数主题设计人员在将主题部署到暂存环境或实时服务器之前,都使用本地开发环境来处理其主题。由于Sass是一种预处理器语言,因此您需要将其安装在本地开发环境中。

您需要做的第一件事是安装Sass。它可以用作命令行工具,但是也有一些不错的GUI应用程序可用于Sass。我们建议使用Koala,这是可用于Mac,Windows和Linux的免费开源应用程序。

为了本文的目的,您将需要创建一个空白主题。只需在中创建一个新文件夹/wp-content/themes/。您可以将其命名为“ mytheme”或其他您想要的名称。在空白主题文件夹中,创建另一个文件夹,并将其命名为样式表。

在stylesheets文件夹中,您需要style.scss使用文本编辑器(如记事本)创建文件。

现在,您需要打开Koala并单击加号图标以添加一个新项目。接下来,找到您的主题目录,并将其添加为您的项目。您会注意到Koala会在样式表目录中自动找到Sass文件并显示它。

Sass WordPress主题开发入门
Sass WordPress主题开发入门

右键单击Sass文件,然后选择“设置输出路径”选项。现在,选择主题目录的根目录(例如),/wp-content/themes/mytheme/然后按Enter。现在,Koala将在主题目录中生成CSS输出文件。要对此进行测试,您需要style.scss在文本编辑器(如记事本)中打开Sass文件并添加以下代码:

$fonts: arial, verdana, sans-serif; body { font-family:$fonts;}

现在,您需要保存更改并返回到Koala。右键单击您的Sass文件,侧栏将在右侧滑动。要编译您的Sass文件,只需单击“编译”按钮。您可以通过style.css在主题目录中打开文件来查看结果,它将具有经过处理的CSS,如下所示:

body {  font-family: arial, verdana, sans-serif; }

注意,我们$fonts在Sass文件中定义了一个变量。现在,每当我们需要添加字体系列时,我们都无需再次键入所有字体的名称。我们可以使用$fonts

Sass还为CSS带来了哪些其他超级大国?

Sass功能强大,向后兼容,而且超级易学。正如我们前面提到的,您可以创建变量,嵌套,混合,导入,部分,数学和逻辑运算符等。现在我们将向您展示一些示例,您可以在WordPress主题上进行尝试。

管理多个样式表

作为WordPress主题设计师,您将面临的一个常见问题是具有很多部分的大型样式表。在处理主题时,您可能会上下滚动很多以解决问题。使用Sass,您可以将多个文件导入到主样式表中,并为您的主题输出一个CSS文件。

CSS @import呢?

在CSS文件中使用@import的问题是,每次添加@import时,CSS文件都会向服务器发出另一个HTTP请求。这会影响页面加载时间,这对您的项目不利。另一方面,当您在Sass中使用@import时,它将在您的Sass文件中包含这些文件,并将它们全部存储在单个CSS文件中以供浏览器使用。

若要学习如何在Sass中使用@import,首先需要reset.scss在主题的样式表目录中创建一个文件,并将此代码粘贴到其中。

/* http://meyerweb.com/eric/tools/css/reset/    v2.0 | 20110126   License: none (public domain)*/
html, body, div, span, applet, object, iframe,h1, h2, h3, h4, h5, h6, p, blockquote, pre,a, abbr, acronym, address, big, cite, code,del, dfn, em, img, ins, kbd, q, s, samp,small, strike, strong, sub, sup, tt, var,b, u, i, center,dl, dt, dd, ol, ul, li,fieldset, form, label, legend,table, caption, tbody, tfoot, thead, tr, th, td,article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary,time, mark, audio, video {    margin: 0;    padding: 0;    border: 0;    font-size: 100%;    font: inherit;    vertical-align: baseline;}/* HTML5 display-role reset for older browsers */article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {    display: block;}body {    line-height: 1;}ol, ul {    list-style: none;}blockquote, q {    quotes: none;}blockquote:before, blockquote:after,q:before, q:after {    content: '';    content: none;}table {    border-collapse: collapse;    border-spacing: 0;}

现在,您需要打开您的主要style.scss文件,并在要导入重置文件的位置添加以下行:

@import 'reset';

请注意,您不需要输入完整的文件名。要编译此文件,您需要打开Koala并再次单击编译按钮。现在打开主题的主style.css文件,您将看到其中包含重置的CSS。

Nestin in Sass

与HTML不同,CSS不是嵌套语言。Sass允许您创建易于管理和使用的嵌套文件。例如,您可以<article>在文章选择器下嵌套该节的所有元素。作为WordPress主题设计师,这使您可以处理不同的部分并轻松设置每个元素的样式。要查看Nestin的实际效果,请将其添加到style.scss文件中:

.entry-content { p { font-size:12px;line-height:150%} ul { line-height:150%; }a:link, a:visited, a:active { text-decoration:none;color: #ff6633;} }

处理后,将输出以下CSS:

.entry-content p {  font-size: 12px;  line-height: 150%; }.entry-content ul {  line-height: 150%; }.entry-content a:link, .entry-content a:visited, .entry-content a:active {  text-decoration: none;  color: #ff6633; }

作为主题设计师,您将为小部件,帖子,导航菜单,标题等设计不同的外观。在Sass中使用nestin使其结构良好,并且不必在和之上编写相同的类,选择器和标识符。再次。

在Sass中使用Mixins

有时,即使样式规则相同,您仍需要在整个项目中重用一些CSS,因为您将在不同的选择器和类上使用它们。这是mixin派上用场的地方。让我们向您的style.scss文件添加一个mixin:

@mixin hide-text{    overflow:hidden;    text-indent:-9000px;    display:block;}

这个混入基本上隐藏了一些文本,使其无法显示。这是一个示例,说明如何使用此mixin隐藏徽标的文本:

.logo{    background: url("logo.png");    height:100px;    width:200px;    @include hide-text;}

请注意,您需要使用@include添加一个混入。处理后,将生成以下CSS:

.logo {  background: url("logo.png");  height: 100px;  width: 200px;  overflow: hidden;  text-indent: -9000px;  display: block; }

Mixins对供应商前缀也很有帮助。在添加不透明度值或边界半径时,使用mixins可以节省大量时间。看这个例子,我们添加了一个mixin来添加边界半径。

@mixin border-radius($radius) {  -webkit-border-radius: $radius;     -moz-border-radius: $radius;      -ms-border-radius: $radius;       -o-border-radius: $radius;          border-radius: $radius;}
.largebutton { @include border-radius(10px); }.smallbutton { @include border-radius(5px); }

编译后,它将生成以下CSS:

.largebutton {  -webkit-border-radius: 10px;  -moz-border-radius: 10px;  -ms-border-radius: 10px;  -o-border-radius: 10px;  border-radius: 10px; }
.smallbutton {  -webkit-border-radius: 5px;  -moz-border-radius: 5px;  -ms-border-radius: 5px;  -o-border-radius: 5px;  border-radius: 5px; }

我们希望本文引起您对Sass进行WordPress主题开发的兴趣。许多WordPress主题设计师已经在使用它。有人甚至说,将来所有CSS都将被预处理,而WordPress主题开发人员需要改进他们的游戏。通过在下面留下评论,让我们知道您对使用诸如Sass这样的CSS预处理程序语言进行WordPress主题开发的想法。

回到顶部