是否有一种简单的方法(使用css / js / jquery)将透明彩色圆圈放置在链接顶部,如下面的示例所示?灰色框中的文字也很好。

javascript - 在html链接上放置一个彩色圆圈-LMLPHP

我尝试从以下问题的答案开始:Put background image over text?。但是,当我将彩色叠加层缩短到少于100%时,我无法使它位于文本的中心(更不用说显示为圆圈了)。

抱歉,这不是我最擅长的领域,我不知道我要做的事是愚蠢的简单还是太难了。谢谢你的帮助。

更新:阅读一些建议的解决方案后,我意识到我在最初的问题中应该更加清楚。

我忽略的第一个重要点是,我并不是在寻找悬停效果。当用户调出页面时,我希望显示所有圆圈(如果可能,还显示文字)。

第二个重要点是我的目标是动态添加样式,因此我不会事先知道链接在哪里或链接将有多大。我知道的信息将是链接本身(URL和ID)以及该链接所需的圆圈的颜色。 (我想做的是创建一个热图,指示页面上的哪些链接获得了最多的点击。)

这使我想到了我遗漏的第三点:并不是所有的圆圈都具有相同的颜色。我正在寻找4种颜色选择;例如,一个页面可能有三个绿色圆圈和两个紫色圆圈。

抱歉,我的不完整问题使人们误入歧途,试图为我提供帮助。

最佳答案

有多种方法可以执行此操作,第一个使用margin: autotop: 0; left: 0; bottom: 0; right:0;,第二个使用translate



.container {
  position: relative;
  width: fit-content;
  width: -moz-fit-content;
}

.circle {
  background: #909;
  width: 4em;
  height: 4em;
  border-radius: 2em;
  opacity: 0.4;
}

#circle-1 {
  position: absolute;
  margin: auto;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
}

#circle-2 {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.grey-box {
  background: #999;
  font-size: 0.8em;
  border: 1px solid #222;
  padding: 0.2em;
  position: absolute;
  top: -70%;
  left: 50%;
}

<div class="container">
  <h2>Getting a head start in the health sector</h2>
  <div id="circle-1" class="circle"></div>
  <div class="grey-box">Total: 47(0.1%) Unique: 28(0.1%)</div>
</div>
Established health sector companies can meet patient needs and cut their own costs by collaborating with startups, research shows.

<div class="container">
  <h3>Judge Business School</h3>
  <div id="circle-2" class="circle"></div>
</div>

关于javascript - 在html链接上放置一个彩色圆圈,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50145044/

10-13 01:01