html - 垂直居中自定义列表元素符号

标签 html css

我用自定义 unicode 替换了默认列表元素符号。

.listItem {
  list-style: none;
}

.listItem:before {
  content: '\25A0';
}
<ul>
  <li class="listItem">
    <a>
       A Link
    </a>
  </li>
</ul>

我的问题是如何让这个自定义元素符号居中?我尝试了 vertical-align:middle 但这没有帮助。

enter image description here

最佳答案

当您使用字符时,我唯一的想法是使用 position:relative 来定位 char。

但是,最可能更好的方法是对 :before 使用 display: block,我在片段 2 中展示了这一点。

代码片段 1

.listItem {
  list-style: none;
}

.listItem:before {
  position: relative;
  bottom: 2px;
  content: '\25A0';
}
<ul>
  <li class="listItem">
    <a>
       A Link
    </a>
  </li>
</ul>

代码片段 2

此方法基于我们给出尺寸的 :before 元素,因此更可预测其显示方式。 listItempadding 创建文本和 :before 元素之间的距离。可以调整精确值。

.listItem {
  position: relative;
  list-style: none;
  padding: 0 0 0 12px;
}

.listItem:before {
  position: absolute;
  top: 50%;
  left: 0;
  transform: translate(0, -50%);
  display: block;
  content: '';
  height: 7px;
  width: 7px;
  background: #000000;
}
<ul>
  <li class="listItem">
    <a>
       A Link
    </a>
  </li>
</ul>

关于html - 垂直居中自定义列表元素符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52344163/

相关文章:

javascript - 移动浏览器上的自定义文本选择菜单

javascript - 文本显示在一行中

css - Bootstrap 3 - 减少文本和字段大小

javascript - WaitForControlEnabled() 性能

javascript - 我只是不知道如何检索传递的对象的名称和值

JavaScript - 在文本中查找主题标签并返回链接

html - 我的 html 和 css 有什么问题?

css - 从其父项中排除此子项的格式

css - 我需要指定每个链接颜色状态吗?

javascript - 建立链接 'enter-clickable'