1

正如您在这里看到的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;
}
4

5 回答 5

3

更改.circle-1, .circle-2, .circle-3 p.circle-1 p, .circle-2 p, .circle-3 p。它应该工作。

就像现在一样,在此规则下设置的属性将应用于带有 as 的元素,以及带有classascircle-1circle-2所有元素p下的标签。classcircle-3

小提琴演示

于 2013-09-08T12:25:21.150 回答
2

您需要修复一个选择器:

.circle-1 p, .circle-2 p, .circle-3 p

代替:

.circle-1, .circle-2, .circle-3 p

就像我在您的上一个问题上所写的那样,当前选择器应用于.circle-1,.circle-2和 内的所有段落.circle-3。如果您希望将其应用于这些类中的每个段落,则必须分别针对p每个类进行处理。

jsFiddle 演示

于 2013-09-08T12:24:12.933 回答
1

我只能建议你恢复普通的circle类,然后给每个circle添加一个不同的id(例如id="circle1")并使用#CSS操作符(例如#circle1)来自定义每个circle。这样你就可以稍微整理一下你的 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>

这里

于 2013-09-08T12:45:56.397 回答
0

为您的圈子返回一个 CSS 课程是可行的方法。如果您需要在 Javascript 中区分它们,请为每个圆圈添加一个 id。

来自 W3 学校:

类选择器用于指定一组元素的样式。与 id 选择器不同,类选择器最常用于多个元素。

此外,在 Javascript 中访问 Id 比访问类更容易和更快。尽管现在框架使它变得容易并且浏览器非常快。

于 2013-09-08T12:26:40.390 回答
-1

我发现了问题。没有语法错误,但是您拥有的 Circle 1 与 Circle-2 重叠,您可以通过隐藏 circle 2 看到。

所以你只需要改变圆圈2的位置。

于 2013-09-08T12:31:10.143 回答