【问题标题】:Position Absolute inside position absolute positioningPosition Absolute 内部位置绝对定位
【发布时间】: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

【问题讨论】:

    标签: html css


    【解决方案1】:

    您的.coolness-popup 规则未标记为position: absolute

    http://jsfiddle.net/mendesjuan/a2egpyL0/1/How to make div's percentage width relative to parent div and not viewport

    您仍然需要调整顶部/左侧,以便它们正确居中。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-19
    • 2013-10-26
    • 2011-09-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多