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

如何为图标添加圆形外框,实现符合设计图的自定义标记样式?

实现方案

你需要调整图标容器的布局属性、底部三角的层级和样式,修改后的完整代码如下:

修改后的CSS代码

.markerClass {
  background: black;
  position: absolute;
  white-space: nowrap;
  font-size: x-large;
  font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;
  border: 2px solid red;
  padding: 2px 6px 2px 2px;
  display: flex;
  align-items: center;
}

/* 底部红色外三角 */
.markerClass:before {
  content: "";
  position: absolute;
  top: 100%;
  left: 10px;
  width: 0;
  height: 0;
  border-left: 9px solid transparent;
  border-right: 9px solid transparent;
  border-top: 15px solid red;
}

/* 底部黑色内三角,和上方背景衔接 */
.markerClass:after {
  content: "";
  position: absolute;
  top: 100%;
  left: 12px;
  width: 0;
  height: 0;
  border-left: 7px solid transparent;
  border-right: 7px solid transparent;
  border-top: 12px solid black;
}

/* 电话图标容器样式 */
.markerClass .icon-wrap {
  background-color: #808080;
  color: white;
  border-radius: 50%;
  width: 1.5em;
  height: 1.5em;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-right: 4px;
  font-size: 0.9em;
}

.markerClass .text-wrap {
  background-color: black;
  color: white;
}

修改后的HTML代码

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.4/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script>
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet"/>
<link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.5.0/css/font-awesome.min.css" rel="stylesheet"/>
<div class="markerClass">
  <span class="icon-wrap"><i class="fa fa-phone"></i></span>
  <span class="text-wrap">MyName</span>
</div>

直接运行以上代码即可得到和设计图一致的标记效果,你可以根据需要调整尺寸数值适配自己的项目要求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 02:18:03