html - 用另一个图标包装带有图标的单选按钮

标签 html css font-awesome

我有 3 个单选按钮,每个按钮上都有一个来自“font awesome”库的“圆圈”图标。我试图用另一个“细圆圈”图标包裹我在按钮上设置的每个图标。所以“细圆”将在“圆”之上。

我尝试使用 this回答,但没有用。也许是因为它是一种仅在图标上执行此操作的解决方案,但根据我的情况,我正在尝试使用单选按钮来执行此操作。

HTML:

<div class="container-fluid text-center" id="sm-jum-btns">

 <input type="radio" name="optradio">
  <label id="btn-left"class="radio-inline sm-jum-btn ">
    <span class="fa fa-layers fa-fw fa-circle-thin">
      <i class="fa fa-circle"></i>
    </span>
  </label>

 <input type="radio" name="optradio">
  <label id="btn-left"class="radio-inline sm-jum-btn ">
    <span class="fa fa-layers fa-fw fa-circle-thin">
      <i class="fa fa-circle"></i>
    </span>
  </label>

 <input type="radio" name="optradio">
  <label id="btn-left"class="radio-inline sm-jum-btn ">
    <span class="fa fa-layers fa-fw fa-circle-thin">
      <i class="fa fa-circle"></i>
    </span>
  </label>

CSS:

#sm-jum-btns input {
      margin:0;padding:0;
     -webkit-appearance:none;
     -moz-appearance:none;
      appearance:none;
      margin-top: 180px;

}

.fa-circle-thin {
  color: #ffb300;
  width: 50px;
  height: 50px;
  line-height: 50px;
  border-radius:50px;
  font-size: 40px;
}

.fa-circle {
  color: #ffb300;

  width: 50px;
  height: 50px;
  line-height: 50px;
  border-radius:50px;
  font-size: 40px;
}

.fa-circle-thin:hover {
  color: #37100B;
}

.fa-circle-thin {
  font-size: 50px;
}

.fa-circle-o {
  font-size: 60px;
}

Codepen

最佳答案

我相信这就是您要实现的目标。我将 label 的位置设置为 relative,这样我就可以绝对地将圆定位在每个元素的边界内。如果没有相对定位,细圆圈的位置将完全相同,这不是您想要的。

label {
  …
  position: relative;
}

.fa-circle-thin::before {
  …
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: 4px;
}

enter image description here

Demo

关于html - 用另一个图标包装带有图标的单选按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48730208/

相关文章:

html - 背景图像未出现在 div 中

html - &lt;input&gt; 框中的文本下划线

css - 在图像上做一个正方形?

html - 如何将两个div放在一行: one fixed,其他被拉伸(stretch)

html - 如何根据 Angular 7 中的某些值默认选中特定的复选框

javascript - 在这个 HTML 双下拉列表中,第一个下拉列表如何不被第二个按钮遮挡?

jquery - 使用 Font-Awesome - 在 Chrome 中,通过 <i class ="icon-ok"></i> 标记显示的图标不显示任何样式,也不会触发任何事件

html - 使用 Font Awesome 和 css 的自定义复选框

javascript - 带有 Font-Awesome 和表格的工具提示

html - 幻灯片放映位置随不同大小的不同计算机而变化