为CSS中的上半部分创建圆角

时间:2012-07-14 12:23:02

标签: css

我想仅为按钮的上半部分设置圆角。

我知道如何使用border-radius-webkit-border-radius为所有方面制作圆角。

但只喜欢上半场角落。

我需要一些关于如何在CSS中执行此操作的指导。

7 个答案:

答案 0 :(得分:39)

您可以使用以下样式规则:

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

注意:border-radius规则在没有-webkit-位的情况下工作。

答案 1 :(得分:37)

当我想围绕特定角落时,我使用下面的代码

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

答案 2 :(得分:8)

这是我喜欢使用的模式:

<强> 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>

答案 3 :(得分:5)

border-radius css标签有特定的变体:

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

答案 4 :(得分:4)

如果你想只围绕某些角落,这就是它的代码:

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

第一个值是左上角,第二个是右上角,第三个是左下角,第四个是右下角。

答案 5 :(得分:3)

如果您使用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; } 

答案 6 :(得分:0)

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;
    }

this指南帮我在twitter bootstrap中制作了圆形按钮