这个css样式已经被废弃掉了。而解决这种情况,就要用到css框架。先来熟悉一下框架。
/* style.scss 或者 style.less
它在color:#e6e6e6代码外侧使用花括号,属性和值之间用‘冒号’分开*/
h1 {
color: #e6e6e6;
}
/* style.sass 没有花括号,并且用‘冒号’隔开 */
h1
color: #e6e6e6
/* style.styl 花括号 存在 或者 不存在 都可以,属性和值之间使用‘空格’或‘冒号’隔开*/
h1 {
color: #e6e6e6;
}
h1
color: #e6e6e6;
h1
color #e6e6e6
/*sass的变量必须是¥开始,然后变量名和值使用冒号分开*/
$bgColor: #ffffff;
$siteWidth: 1024px;
$borderStyle: dotted;
body {
color: $bgColor;
border: 1px $borderStyle $mainColor;
max-width: $siteWidth;
}
/*Less的变量名使用 @ 符号开始*/
@mainColor: #0982c1;
@siteWidth: 1024px;
@borderStyle: dotted;
body {
color: @mainColor;
border: 1px @borderStyle @mainColor;
max-width: @siteWidth;
}
/*Stylus 对变量名没有任何限定,但在 Stylus 的变量名不要用 @ 开头。*/
mainColor = #0982c1
siteWidth = 1024px
$borderStyle = dotted
body
color mainColor
border 1px $borderStyle mainColor
max-width siteWidth
section {
margin: 10px;
nav {
height: 25px;
a {
color: #0982C1;
&:hover {
text-decoration: underline;
}
}
}
}
嵌套的好处是不需要重复写paren,而且父子节点关系一目了然
/*Stylus 的混入语法:*/
/* Stylus mixin error with (optional) argument borderWidth which defaults to 2px if not specified */
error(borderWidth= 2px) {
border: borderWidth solid #F00;
color: #F00;
}
.generic-error {
padding: 20px;
margin: 4px;
error(); /* Applies styles from mixin error */
}
.login-error {
left: 12px;
position: absolute;
top: 20px;
error(5px); /* Applies styles from mixin error with argument borderWidth equal to 5px */
}
/*最终编译成如下CSS样式:*/
.generic-error {
padding: 20px;
margin: 4px;
border: 2px solid #f00;
color: #f00;
}
.login-error {
left: 12px;
position: absolute;
top: 20px;
border: 5px solid #f00;
color: #f00;
}
p,
ul,
ol {
/* styles here */
}
使用CSS预处理器的写法:
/*在 Sass 和 Stylus 这样写:*/
.block {
margin: 10px 5px;
padding: 2px;
}
p {
@extend .block; /* Inherit styles from '.block' */
border: 1px solid #EEE;
}
ul, ol {
@extend .block; /* Inherit styles from '.block' */
color: #333;
text-transform: uppercase;
}
/*在这里首先定义 .block 块,然后让 p 、ul 和 ol 元素继承 .block ,最终生成的 CSS 如下:*/
.block, p, ul, ol {
margin: 10px 5px;
padding: 2px;
}
p {
border: 1px solid #EEE;
}
ul, ol {
color: #333;
text-transform: uppercase;
}
reset.css:
/* file.{type} */
body {
background: #EEE;
}
main.xxx:
@ import "reset.css";
@ import "file.{
type}";
p {
background: #0982C1;
}
最终生成的 CSS:
@ import "reset.css";
body {
background: #EEE;
}
p {
background: #0982C1;
}
Stylus:
lighten(color, 10%); /* returns a color 10% lighter than 'color' */
darken(color, 10%); /* returns a color 10% darker than 'color' */
saturate(color, 10%); /* returns a color 10% more saturated than 'color' */
desaturate(color, 10%); /* returns a color 10% less saturated than 'color' */
完整的颜色函数列表请阅读 Stylus Documentation.
实例:
color = #0982C1
h1
background color
border 3px solid darken(color, 50%)
你可以直接在 CSS 预处理器中进行样式的计算,例如:
body {
margin: (14px/2);
top: 50px + 100px;
right: 100px - 50px;
left: 10 * 10;
}