Ответ 1
Вы можете использовать следующие правила стилизации:
border-top-left-radius
border-top-right-radius
Примечание. Правило border-radius
работает без бита -webkit-
.
Я хотел бы сделать закругленные углы только для верхней половины кнопок.
Я знаю, как сделать закругленные углы для всех сторон, используя border-radius
и -webkit-border-radius
.
Но только как иметь углы для верхней половины.
Мне нужно некоторое руководство по тому, как это сделать в CSS.
Вы можете использовать следующие правила стилизации:
border-top-left-radius
border-top-right-radius
Примечание. Правило border-radius
работает без бита -webkit-
.
Когда я хочу округлить определенные углы, я использую код ниже
border-radius: 10px 10px 0 0;
// top-left top-right bottom-right bottom-left.
Вот шаблон, который мне нравится использовать:
CSS
.round-corners-5px{
-webkit-border-radius: 5px;
-moz-border-radius: 5px;
border-radius: 5px;
}
.round-corners-10px{
-webkit-border-radius: 10px;
-moz-border-radius: 10px;
border-radius: 10px;
}
.unround-top-corners{
-webkit-border-top-left-radius: 0px;
-webkit-border-top-right-radius: 0px;
-moz-border-radius-topleft: 0px;
-moz-border-radius-topright: 0px;
border-top-left-radius: 0px;
border-top-right-radius: 0px;
}
.unround-bottom-corners{
-webkit-border-bottom-left-radius: 0px;
-webkit-border-bottom-right-radius: 0px;
-moz-border-radius-bottomleft: 0px;
-moz-border-radius-bottomright: 0px;
border-bottom-left-radius: 0px;
border-bottom-right-radius: 0px;
}
HTML
<button class="round-corners-5px unround-bottom-corners" style="background-color: white;"></button>
Для этого существуют специальные варианты тега css border-radius:
border-top-left-radius:2em;
border-top-right-radius:2em;
Если вы хотите округлить только определенные углы, это код для него:
border-radius:5px 5px 5px 5px;
Первое значение - для верхнего левого угла, второго для верхнего правого угла, третьего для нижнего левого угла и четвертого для нижнего правого угла.
Если вы используете 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; }
this помогает понять, как это работает, я сделал это, чтобы левый квадрат и закругленные углы:
.btn-circle.btn-lg {
width: 170px;
height: 47px;
padding: 10px 16px;
font-size: 17px;
line-height: 1.33;
/*border-radius: 25px;*/ //use this for both side rounded corner side
border-radius: 0px 50px 50px 0px / 50px 50px 50px 50px;
}
это руководство помогло мне сделать закругленные кнопки в twitter bootstrap