0

I'm trying to build semicircle divided in three equal parts where I will put one sentence in each.

I have managed to build semicircle with 3 segments, but text is always in wrong way or outside the segment. I would really appreciate help to get beautiful semicircle with text properly positioned in each segment.

Here is my code http://jsfiddle.net/yg0bwdmf/

.circle {
  position: relative;
  padding: 0;
    margin: 1em auto;
  width: 20em;
    height: 20em;
  border-radius: 50%;
  list-style: none;
    overflow: hidden;
    transform: rotate(-70deg);
}
li {
  overflow: hidden;
  position: absolute;
  top: 0; right: 0;
  width: 50%; height: 50%;
  transform-origin: 0% 100%;      
}
.text {
position: absolute;
 left: -50%;
   top: 10%;
    right: 70%;
    width: 200%;
    height: 200%;
    text-align: center;
  -webkit-transform: skewY(60deg) rotate(15deg);
    -ms-transform: skewY(60deg) rotate(15deg);
    transform: skewY(25deg) rotate(10deg);
    padding-top: 70px;
}

li:first-child {
    -webkit-transform: rotate(0deg) skewY(-60deg);
    -ms-transform: rotate(0deg) skewY(-60deg);
  transform: rotate(60deg) skewY(162deg);     
}
li:nth-child(2) {
    -webkit-transform: rotate(30deg) skewY(-60deg);
    -ms-transform: rotate(30deg) skewY(-60deg);
  transform: rotate(120deg) skewY(162deg);     
}
li:nth-child(3) {
    -webkit-transform: rotate(60deg) skewY(-60deg);
    -ms-transform: rotate(60deg) skewY(-60deg);
  transform: rotate(180deg) skewY(162deg);    
}

li:first-child .text {
    background: green; 
}
li:nth-child(2) .text {
  background: tomato; 
}
li:nth-child(3) .text {
  background: aqua; 
}
<ul class="circle">
  <li><div class="text">here will be some text</div></li>
  <li><div class="text">another part of text</div></li>
  <li><div class="text">third part of text</div></li>
<ul>

Text is not positioned properly:

Text is not positioned properly

MaxiGui
  • 6,190
  • 4
  • 16
  • 33
HardRock
  • 809
  • 2
  • 12
  • 37

0 Answers0