2

按照此处的指南,我一直致力于使用 CSS 生成圆圈。我已经完成了基础知识,但我一直试图将一个 CSS 生成的圆圈叠加在另一个圆圈之上。我的小提琴在这里

我想:

  1. 调整包含文本的内圈的位置 - 我无法让它在外圈上正确排列。这个想法是每个圈子将由一个外圈和一个内圈组成,每个内圈都将包含适当的文本。
  2. 使文本正确排列,使其在内圈中垂直和水平居中
  3. 将所有三个圆圈放在同一水平线上。

下面粘贴的是我想让圆圈显示的方式的图像。

有人可以帮忙吗?

3圈

HTML:

<div id="law-outer-circle" class="circle"><div id="law-inner-circle" class="circle">Law firms</div></div>   
<div id="industry-outer-circle" class="circle"><div id="industry-inner-circle" class="circle">Industry</div></div>
<div id="in-house-outer-circle" class="circle"><div id="in-house-inner-circle" class="circle">In-house counsel</div></div>

CSS:

.circle {
border-radius: 50%;
display: inline-block;
margin-right: 20px;

/* text styling */
font-size: 45px;
color: #FFF;
line-height: 75px;
text-align: center;
font-family: Arial;
}

#industry-inner-circle {
width: 250px;
height: 250px;
background: #DD4814;
position: absolute;
top: 24%; 
left : 24%;
display: block;
border: 2px solid #fff;
}

#industry-outer-circle {
background: #DD4814;
width: 270px;
height: 270px;
position:relative;
}

#in-house-inner-circle {
width: 250px;
height: 250px;
background: #AEA79F;
position: absolute;
top: 24%; 
left : 24%;
display: block;
border: 2px solid #fff;
}

#in-house-outer-circle {
background: #AEA79F;
width: 270px;
height: 270px;
position:relative;
}

#law-inner-circle {
width: 250px;
height: 250px;
background: #5E2750;
position: absolute;
top: 24%; 
left : 24%;
display: block;
border: 2px solid #fff;
}

#law-outer-circle {
background: #5E2750;
width: 270px;
height: 270px;
position:relative;
}
4

2 回答 2

2

您可以使用 cssbox-shadow属性以这种方式进行操作。

html

<div class="circle color-1 color1-box-shadow">
    industry
</div>
<div class="circle text color-2 color2-box-shadow">
    In-house legal counsel
</div>
<div class="circle color-3 color3-box-shadow">
    Law Firms
</div>

CSS

.circle {
    border-radius: 50%;
    float: left;
    display: inline-block;
    margin-right: 20px;
    /* text styling */
    font-size: 45px;
    width: 250px;
    height: 250px;
    color: #FFF;  border: 2px solid #fff;
    line-height: 250px;
    text-align: center;
    font-family: Arial;
}
.color-1 { background: #DD4814;}
.color-2 { background: #AEA79F; }
.color-3 { background: #5E2750; }
.color1-box-shadow { box-shadow: 0px 0px 1px 1px #DD4814 }
.color2-box-shadow { box-shadow: 0px 0px 1px 1px #AEA79F }
.color3-box-shadow { box-shadow: 0px 0px 1px 1px #5E2750 }
.text { line-height: 45px; padding-top: 50px; height: 200px }

例子

于 2013-03-21T14:56:11.910 回答
1

给出.circle { line-height: 250px; }(与您的内圈高度相同)并将内圈topleft值更改为 8px(outerCircleHeight - innerCircleHeight - bothSidesBorder / 2 = 8)。

#industry-inner-circle {
    top: 8px;
    left : 8px;
}

jsfiddle 示例

于 2013-03-21T14:58:53.973 回答