Подтвердить что ты не робот

Создание закругленных углов для верхней половины кнопок в CSS

Я хотел бы сделать закругленные углы только для верхней половины кнопок.

Я знаю, как сделать закругленные углы для всех сторон, используя border-radius и -webkit-border-radius.

Но только как иметь углы для верхней половины.

Мне нужно некоторое руководство по тому, как это сделать в CSS.

4b9b3361

Ответ 1

Вы можете использовать следующие правила стилизации:

border-top-left-radius
border-top-right-radius

Примечание. Правило border-radius работает без бита -webkit-.

Ответ 2

Когда я хочу округлить определенные углы, я использую код ниже

border-radius: 10px     10px      0           0;
            // top-left top-right bottom-right bottom-left. 

Ответ 3

Вот шаблон, который мне нравится использовать:

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>

Ответ 4

Для этого существуют специальные варианты тега css border-radius:

border-top-left-radius:2em; 
border-top-right-radius:2em;

Ответ 5

Если вы хотите округлить только определенные углы, это код для него:

border-radius:5px 5px 5px 5px;

Первое значение - для верхнего левого угла, второго для верхнего правого угла, третьего для нижнего левого угла и четвертого для нижнего правого угла.

Ответ 6

Если вы используете 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; } 

Ответ 7

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