You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用CSS/JS/jQuery在HTML链接上添加居中透明彩色圆圈及灰色框文本?

实现方法详解

当然可以实现啦!其实用纯CSS就能搞定这两个需求,完全不需要JS或者jQuery,简单又高效~

一、链接上方的透明彩色圆圈

我们可以利用CSS伪元素::before来创建这个圆圈,不用额外添加HTML标签,步骤如下:

  1. 给链接设置相对定位,让伪元素能基于它定位
  2. 用::before生成一个圆形元素,通过border-radius: 50%实现圆形
  3. 用绝对定位+水平居中技巧,让圆圈稳稳落在链接正上方

示例代码:

<a href="#" class="circle-link">我是带圆圈的链接</a>
.circle-link {
  position: relative;
  text-decoration: none;
  color: #333;
  /* 加一点内边距,让点击区域更友好 */
  padding: 8px 12px;
}

.circle-link::before {
  content: '';
  /* 伪元素必须加content才能显示 */
  position: absolute;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  /* 半透明彩色,这里用的是淡粉色,你可以自己调rgba值 */
  background-color: rgba(255, 100, 100, 0.4);
  left: 50%;
  /* 调整top值控制圆圈和链接的距离 */
  top: -40px;
  /* 水平居中关键:向左移动自身宽度的50% */
  transform: translateX(-50%);
}

二、灰色框文本效果

这个更简单,直接给文本元素设置灰色背景、内边距和圆角就能实现:

<span class="gray-box-text">我是灰色框里的文本</span>
.gray-box-text {
  background-color: #f0f0f0;
  /* 内边距控制灰色框的大小 */
  padding: 6px 10px;
  /* 可选:加一点圆角让框更柔和 */
  border-radius: 4px;
  /* 可选:加个细边框增强质感 */
  border: 1px solid #ddd;
  color: #333;
}

三、结合两个效果的完整示例

如果想让链接同时拥有圆圈和灰色框,直接把两个类名加在一起就行:

<a href="#" class="circle-link gray-box-text">带圆圈和灰色框的链接</a>
.circle-link {
  position: relative;
  text-decoration: none;
  color: #333;
  padding: 8px 12px;
}

.circle-link::before {
  content: '';
  position: absolute;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background-color: rgba(255, 100, 100, 0.4);
  left: 50%;
  top: -40px;
  transform: translateX(-50%);
}

.gray-box-text {
  background-color: #f0f0f0;
  padding: 6px 10px;
  border-radius: 4px;
  border: 1px solid #ddd;
}

关于你之前遇到的问题

你之前尝试用背景覆盖的方式之所以碰壁,是因为背景是依附于元素本身的,当你缩短背景宽度时,很难精准让它在文本上方居中。而伪元素是独立的“虚拟元素”,通过position: absolute+transform: translateX(-50%)的组合,不管链接文本长短,圆圈都能完美居中,还能轻松实现圆形效果。

内容的提问来源于stack exchange,提问作者Rocky

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 10:34:45