Search code examples
htmlcsscss-shapes

Drawing semi-rounded shape in CSS


I'm trying to replicate the shape

enter image description here

When I use rounded shapes in CSS, it looks somewhat different:

.shape{
  display: inline-block;
  text-align: center;
  line-height: 18px;
  border-radius: 9px 9px 9px 9px;
  color: #000000;
  padding-left: 6px;
  padding-right: 6px;
  font-weight: bold;
  font-family: sans-serif;
}
.shape.orange{
  background-color: #FF931B;
}
<span class="shape orange">CC6</span>

How can I get the correct shape?


Solution

  • This can be done using radial-gradient

    .shape{
      display: inline-block;
      font-size:50px;
      line-height:1.5em;
      padding:0 0.4em;
      font-weight: bold;
      font-family: sans-serif;
      background: 
        radial-gradient(100% 50% at right, #FF931B 98%,transparent 100%) left,
        radial-gradient(100% 50% at left , #FF931B 98%,transparent 100%) right,
        #FF931B content-box; /*Don't color the padding to keep it for radial-gradient*/
      background-size:0.4em 100%; /* Width same as padding and height 100%*/
      background-repeat:no-repeat;
    }
    <span class="shape">CC6</span>
    <span class="shape" style="font-size:70px">CC6</span>
    <span class="shape" style="font-size:15px">CC6</span>

    Or with border-radius like below:

    .shape{
      display: inline-block;
      font-size:50px;
      line-height:1.5em;
      padding:0 0.4em;
      font-weight: bold;
      font-family: sans-serif;
      background:  #FF931B;
      border-radius:0.4em/50%;
    }
    <span class="shape">CC6</span>
    <span class="shape" style="font-size:70px">CC6</span>
    <span class="shape" style="font-size:15px">CC6</span>

    CSS Semi rounded shape