Вам может понадобиться использовать синтаксис строковой интерполяции, попробуйте это:
.border-radius (@v, @h, @radius: 5px) {
-moz-border-radius-@{v}@{h}: @radius;
-webkit-border-@{v}-@{h}-radius: @radius;
border-@{v}-@{h}-radius: @radius;
}
Я бы также добавил, что webkit и mozilla в значительной степени соответствуют стандартному свойству border-radius
, и префиксы поставщиков для него устарели.
EDIT : похоже, что для этой задачи интерполяция строк не работает (приведенный выше код не скомпилируется), поэтому вот обходной миксин, который на самом деле будет проще использовать:
.rounded-table(@radius) {
tr:first-child th:first-child {
-moz-border-radius-topleft: @radius;
-webkit-border-top-left-radius: @radius;
border-top-left-radius: @radius;
}
tr:first-child th:last-child {
-moz-border-radius-topright: @radius;
-webkit-border-top-right-radius: @radius;
border-top-right-radius: @radius;
}
tr:last-child td:first-child {
-moz-border-radius-bottomleft: @radius;
-webkit-border-bottom-left-radius: @radius;
border-bottom-left-radius: @radius;
}
tr:last-child td:last-child {
-moz-border-radius-bottomright: @radius;
-webkit-border-bottom-right-radius: @radius;
border-bottom-right-radius: @radius;
}
}
Использование:
.greytable {
.rounded-table(10px)
}
Выход:
.greytable tr:first-child th:first-child {
-moz-border-radius-topleft: 10px;
-webkit-border-top-left-radius: 10px;
border-top-left-radius: 10px;
}
.greytable tr:first-child th:last-child {
-moz-border-radius-topright: 10px;
-webkit-border-top-right-radius: 10px;
border-top-right-radius: 10px;
}
.greytable tr:last-child td:first-child {
-moz-border-radius-bottomleft: 10px;
-webkit-border-bottom-left-radius: 10px;
border-bottom-left-radius: 10px;
}
.greytable tr:last-child td:last-child {
-moz-border-radius-bottomright: 10px;
-webkit-border-bottom-right-radius: 10px;
border-bottom-right-radius: 10px;
}