【发布时间】:2021-09-03 05:46:27
【问题描述】:
我正在开发一个简单的交互式 HTML 组件,但遇到了一个我无法弄清楚的问题。我有一组使用绝对定位的圆圈,当你将鼠标悬停在它们上面时,我希望一个文本框出现在圆圈的中心。尽管我的 css 代码应该通过“top”和“left”偏移它,但它们目前没有出现居中。
我已经查看了“top”和“left”的文档,但不明白为什么它们在这里似乎没有任何效果。如果有人能解释为什么“top”和“left”在这种情况下似乎没有效果,将不胜感激。
小提琴
http://jsfiddle.net/0qvep3ng/2
#gear_of_coolness {
background: #eee;
width: 50%;
height: 0;
padding-bottom: 50%;
margin: 5% auto;
border-radius: 50%;
position: relative;
}
.coolness-icon {
position: absolute;
width: 100px;
height: 100px;
border: 5px solid;
border-color: #ee7622;
border-radius: 50%;
background: url(http://placehold.it/100x100);
}
.coolness-title {
position: absolute;
top: 105px;
text-align: center;
font-family: 'Replica-Bold', sans-serif;
font-size: 14px;
line-height: 18px;
color: #3f4642;
}
.coolness-popup {
width: 250px;
height: 200px;
left: 125px;
top: 100px;
font-family: 'Replica-Bold', sans-serif;
font-size: 14px;
line-height: 18px;
color: whitesmoke;
background-color: rgba(77, 77, 79, 0.7);
display: none;
}
.coolness-icon:hover>.coolness-popup {
display: block;
}
.coolness-icon:nth-child(1) {
top: calc(-50px);
left: calc(50% - 50px);
}
.coolness-icon:nth-child(2) {
top: calc(14.6% - 50px);
left: calc(85.3% - 50px);
}
.coolness-icon:nth-child(3) {
top: calc(50% - 50px);
left: calc(100% - 50px);
}
.coolness-icon:nth-child(4) {
top: calc(85.3% - 50px);
left: calc(85.3% - 50px);
}
.coolness-icon:nth-child(5) {
top: calc(100% - 50px);
left: calc(50% - 50px);
}
.coolness-icon:nth-child(6) {
top: calc(85.3% - 50px);
left: calc(14.6% - 50px);
}
.coolness-icon:nth-child(7) {
top: calc(50% - 50px);
left: -50px;
}
.coolness-icon:nth-child(8) {
top: calc(14.6% - 50px);
left: calc(14.6% - 50px);
}
<section id="home_intro">
<div id="gear_of_coolness">
<div class="coolness-icon">
<div class="coolness-title">Circle 1 Title Here</div>
<div class="coolness-popup">this is placeholder text</div>
</div>
<div class="coolness-icon">
<div class="coolness-title">Circle 2 Title Here</div>
<div class="coolness-popup">this is placeholder text</div>
</div>
<div class="coolness-icon">
<div class="coolness-title">Circle 3 Title Here</div>
<div class="coolness-popup">this is placeholder text</div>
</div>
<div class="coolness-icon">
<div class="coolness-title">Circle 4 Title Here</div>
<div class="coolness-popup">this is placeholder text</div>
</div>
<div class="coolness-icon">
<div class="coolness-title">Circle 5 Title Here</div>
<div class="coolness-popup">this is placeholder text</div>
</div>
<div class="coolness-icon">
<div class="coolness-title">Circle 6 Title Here</div>
<div class="coolness-popup">this is placeholder text</div>
</div>
<div class="coolness-icon">
<div class="coolness-title">Circle 7 Title Here</div>
<div class="coolness-popup">this is placeholder text</div>
</div>
<div class="coolness-icon">
<div class="coolness-title">Circle 8 Title Here</div>
<div class="coolness-popup">this is placeholder text</div>
</div>
</div>
</section>ode here
【问题讨论】: