正如您在此处http://jsfiddle.net/Ec8kN/所见,我的CSS圈无法正常工作。最初我只有一个类.circle,我多次使用多个圆圈,它工作正常。然后我决定以不同的方式命名每个圆圈(即circle-1,circle-2,circle-3),以便在稍后阶段使用JS获得更好的控制。 这就是问题的起点。现在我将它们重命名为circle-1,circle-2等,它们将不再正确显示。可能是什么问题?非常感谢
<div class="circle-1 circlebackground circle_5px_marging">
<p>Créativité</p>
<div class="innercircle">
<p>Le fdfd stimule la dfdsfd du fdfds en le dfdfd à réinventer sa dfdsf de la dfds dfs et donc les fdsfs qu’il peut y fdssf.</p>
</div>
</div>
<div class="circle-2 circlebackground circle_5px_marging">
<p>Circle 2</p>
<div class="innercircle">
<p>by Angela</p>
</div>
</div>
<div class="circle-3 circlebackground">
<p>Circle 3</p>
<div class="innercircle">
<p>by Angela</p>
</div>
</div>
.circle_5px_marging {
margin-right: 30px;
}
.circle-1, .circle-2, .circle-3 {
position: relative;
float: left;
margin-bottom: 10px;
width: 220px;
height: 220px;
border-radius: 50%;
box-shadow: inset 0 0 0 0px rgba(255, 255, 255, 0.6), 0 1px 2px rgba(0, 0, 0, 0.1);
-webkit-transition: all 0.4s ease-in-out;
-moz-transition: all 0.4s ease-in-out;
-ms-transition: all 0.4s ease-in-out;
-o-transition: all 0.4s ease-in-out;
transition: all 0.4s ease-in-out;
}
.circlebackground {
border:1px solid #2970AE;
background: #FFF;
}
.innercircle {
position: absolute;
width: inherit;
height: inherit;
border-radius: 50%;
background: #2970AE;
opacity: 0;
-webkit-transition: all 0.4s ease-in-out;
-moz-transition: all 0.4s ease-in-out;
-ms-transition: all 0.4s ease-in-out;
-o-transition: all 0.4s ease-in-out;
transition: all 0.4s ease-in-out;
-webkit-transform: scale(0);
-moz-transform: scale(0);
-ms-transform: scale(0);
-o-transform: scale(0);
transform: scale(0);
-webkit-backface-visibility: hidden;
}
.circle-1, .circle-2, .circle-3 p {
position: absolute;
top: 50%;
left: 50%;
margin: 0;
color: #2970AE;
letter-spacing: 1px;
font-weight: 700;
font-size: 14px;
-webkit-transform: translate(-50%, -50%);
transform: translate(-50%, -50%);
}
.innercircle p {
position: absolute;
top: 50%;
left: 50%;
margin: 0;
color:#fff;
text-align: center;
font-weight: 300;
font-size: 10px;
opacity: 1;
-webkit-transition: all 1s ease-in-out 0.4s;
-moz-transition: all 1s ease-in-out 0.4s;
-ms-transition: all 1s ease-in-out 0.4s;
-o-transition: all 1s ease-in-out 0.4s;
transition: all 1s ease-in-out 0.4s;
-webkit-transform: translate(-50%, -50%);
transform: translate(-50%, -50%);
}
.circle-1:hover {
box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.1), 0 1px 2px rgba(0, 0, 0, 0.1);
}
.circle-1:hover .innercircle {
opacity: 1;
-webkit-transform: scale(1);
-moz-transform: scale(1);
-ms-transform: scale(1);
-o-transform: scale(1);
transform: scale(1);
}
.circle-1:hover .innercircle p {
opacity: 1;
}
.clear {
clear: both;
}
答案 0 :(得分:3)
将.circle-1, .circle-2, .circle-3 p
更改为.circle-1 p, .circle-2 p, .circle-3 p
。它应该工作。
就像现在一样,此规则下设置的属性将应用于class
为circle-1
,circle-2
的元素以及p
标记所有元素下的class
标记1}}为circle-3
。
答案 1 :(得分:2)
您需要修复一个选择器:
.circle-1 p, .circle-2 p, .circle-3 p
而不是:
.circle-1, .circle-2, .circle-3 p
就像我在您之前的问题上写过的那样,当前选择器应用于.circle-1
,.circle-2
以及.circle-3
内的所有段落。如果您希望将它应用于这些类中的每个段落,则必须分别在每个类上解决p
。
答案 2 :(得分:1)
我只能建议您恢复常用的圆圈类,然后为每个圆圈添加不同的ID(例如id =“circle1”),并使用#CSS运算符(例如#circle1)自定义每个圆圈。这样你可以稍微整理你的CSS代码。例如,您的第一个圈子:
<div id="circle-1" class="circle circlebackground circle_5px_marging">
<p>Créativité</p>
<div class="innercircle">
<p>Le fdfd stimule la dfdsfd du fdfds en le dfdfd à réinventer sa dfdsf de la dfds dfs et donc les fdsfs qu’il peut y fdssf.</p>
</div>
看here。
答案 3 :(得分:0)
回到你的圈子的一个css课程是要走的路。如果您需要在Javascript中区分它们,请在每个圆圈中添加一个ID。
来自W3学校:
类选择器用于指定一组元素的样式。与id选择器不同,类选择器最常用于多个元素。
此外,访问Javascript中的ID比访问类更容易,更快捷。即使框架变得简单,浏览器现在也很快。
答案 4 :(得分:-1)
我发现了这个问题。 没有语法错误,但你所拥有的Circle 1被Circle-2重叠,你可以通过隐藏圆圈2看到它。
所以你只需要改变圆圈2的位置。