extend的功能,可以很容易地从一个元素中借用 CSS 规则并在另一个元素上重用它们。
例如,下面的 CSS 规则块设置了.panelclass 的样式。它有background-color,height和border。
```scss
.panel{
background-color: red;
height: 70px;
border: 2px solid green;
}
```
现在你需要另一个名为.big-panel的面板。它具有与.panel相同的基本属性,但还需要width和font-size。
可以从.panel复制并粘贴初始 CSS 规则,但是当你添加更多类型的面板时,代码会变得重复。
extend指令是一种重用为一个元素编写的规则的简单方法,然后为另一个元素添加更多:
```scss
.big-panel{
@extend .panel;
width: 150px;
font-size: 2em;
}
```
除了新样式之外,.big-panel将具有与.panel相同的属性。
.info的 class.info-important,并将background-color设置为洋红色。
info-importantclass 应该将background-color设置为magenta。
testString: assert(code.match(/\.info-important\s*?{[\s\S]*background-color\s*?:\s*?magenta\s*?;[\s\S]*}/gi));
- text: info-importantclass 应使用@extend继承infoclass 的样式。
testString: assert(code.match(/\.info-important\s*?{[\s\S]*@extend\s*?.info\s*?;[\s\S]*/gi));
```
This is an important post. It should extend the class ".info" and have its own CSS styles.
This is a simple post. It has basic styling and can be extended for other uses.
This is an important post. It should extend the class ".info" and have its own CSS styles.
This is a simple post. It has basic styling and can be extended for other uses.