如果你使用 sass scss,那么你可以编写一次,然后像这样简单的一行代码重用它:
在你的 sass 或 scss 文件中,像这样定义 mixin:
@mixin rounded($amount: "10px",$position: null) {
@if $position != null {
@if $position == "top" or $position == "bottom" {
//top or bottom
-webkit-border-#{$position}-left-radius: $amount;
-moz-border-#{$position}-left-radius: $amount;
border-#{$position}-left-radius: $amount;
-webkit-border-#{$position}-right-radius: $amount;
-moz-border-#{$position}-right-radius: $amount;
border-#{$position}-right-radius: $amount;
} @else {
// top-left or top-right or bottom-left or bottom-right
-webkit-border-#{$position}-radius: $amount;
-moz-border-#{$position}-radius: $amount;
border-#{$position}-radius: $amount;
}
} @else {
// ALL IF EMPTY
-webkit-border-radius: $amount;
-moz-border-radius: $amount;
border-radius: $amount;
}
}
然后在 scss 文件中你可以像这样使用 mixin:
@include rounded(); /*as default 10px on all corners*/
@include rounded(15px); /*all corners*/
@include rounded(15px, top); /*all top corners*/
@include rounded(15px, bottom); /* all bottom corners*/
@include rounded(15px, top-right); /*this corner only*/
@include rounded(15px, top-left); /*this corner only*/
@include rounded(15px, bottom-right); /*this corner only*/
@include rounded(15px, bottom-left); /*this corner only*/
这个 .scss 代码将生成这个 .css 代码:
/* as default 10px on all corners */
-webkit-border-radius: "10px";
-moz-border-radius: "10px";
border-radius: "10px";
/* all corners
*/
-webkit-border-radius: 15px;
-moz-border-radius: 15px;
border-radius: 15px;
/* all top corners
*/
-webkit-border-top-left-radius: 15px;
-moz-border-top-left-radius: 15px;
border-top-left-radius: 15px;
-webkit-border-top-right-radius: 15px;
-moz-border-top-right-radius: 15px;
border-top-right-radius: 15px;
/* all bottom corners
*/
-webkit-border-bottom-left-radius: 15px;
-moz-border-bottom-left-radius: 15px;
border-bottom-left-radius: 15px;
-webkit-border-bottom-right-radius: 15px;
-moz-border-bottom-right-radius: 15px;
border-bottom-right-radius: 15px;
/* top-right corner only
*/
-webkit-border-top-right-radius: 15px;
-moz-border-top-right-radius: 15px;
border-top-right-radius: 15px;
/* top-left corner only
*/
-webkit-border-top-left-radius: 15px;
-moz-border-top-left-radius: 15px;
border-top-left-radius: 15px;
/* bottom-right corner only
*/
-webkit-border-bottom-right-radius: 15px;
-moz-border-bottom-right-radius: 15px;
border-bottom-right-radius: 15px;
/* bottom-left corner only
*/
-webkit-border-bottom-left-radius: 15px;
-moz-border-bottom-left-radius: 15px;
border-bottom-left-radius: 15px; }