微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

左对齐文本图标的 CSS 不起作用

如何解决左对齐文本图标的 CSS 不起作用

我正在尝试制作一个简单的网站编辑器,并且想要制作一个左对齐图标,例如:

text align controls

由于我找不到我喜欢的 SVG,而且我不能使用 PNG(请使用矢量),我想用 HTML 制作我自己的。

我试过了:

div#format-controls div#text-align-controls div.text-align-control
{
  width: 24px;
  height: 24px;

  bottom: 0px;

  max-width: 10%;
  max-height: 100%;

  display: inline-block;
}
div#format-controls div#text-align-controls div.text-align-control span
{
  width: 100%;
  height: calc(100% / 8);

  padding: 0px;

  display: inline-block;

  color: black;
  background: black;
}
<div id="format-controls">
  <div id="text-align-controls">
    <div id="left-text-align" class="text-align-control">
      <span class="left-text-align-1"></span>
      <span class="left-text-align-2"></span>
      <span class="left-text-align-1"></span>
      <span class="left-text-align-2"></span>
    </div>
  </div>
</div>

但这绝对不是我想要的。我想要像突出显示的东西:

text align controls

关于我如何实现这一目标的任何想法?

解决方法

根据评论,您可以使用来自建议站点的图标。 但是如果你仍然想使用CSS来创建左对齐图标,请修改CSS如下。

div#format-controls div#text-align-controls div.text-align-control
{
  width: 24px;
  height: 24px;

  bottom: 0px;

  max-width: 10%;
  max-height: 100%;

  display: inline-block;
}
div#format-controls div#text-align-controls div.text-align-control span
{
  width: 100%;
  height: calc(100% / 8);

  padding: 0px;

  display: block;
  margin-bottom: 3px;

  color: black;
  background: black;
}
div#format-controls div#text-align-controls div.text-align-control span:last-of-type{
  margin:0;
}
div#format-controls div#text-align-controls div.text-align-control span:nth-child(2n){
   width: 80%;
}
div#format-controls div#text-align-controls div.text-align-control.selected{
  background: #E8F0FE;
  padding: 10px;
  border-radius: 3px;
}
div#format-controls div#text-align-controls div.text-align-control.selected span{
  background: #1A73E8;
}
<div id="format-controls">
  <div id="text-align-controls">
    <div id="left-text-align" class="text-align-control">
      <span class="left-text-align-1"></span>
      <span class="left-text-align-2"></span>
      <span class="left-text-align-1"></span>
      <span class="left-text-align-2"></span>
    </div>
  </div>
</div>
<p>For selected state check below icon's html and extra css</p>
<div id="format-controls">
  <div id="text-align-controls">
    <div id="left-text-align" class="text-align-control selected">
      <span class="left-text-align-1"></span>
      <span class="left-text-align-2"></span>
      <span class="left-text-align-1"></span>
      <span class="left-text-align-2"></span>
    </div>
  </div>
</div>

,

您为一个简单的图标使用了大量代码。它可以用一个元素和几行 CSS 来完成

.icon {
  width:24px;
  height:24px;
  display:inline-block;
  border:10px solid transparent;
  background:
    linear-gradient(currentColor 0 0) 0 0,linear-gradient(currentColor 0 0) var(--p,0) calc(100%/3),linear-gradient(currentColor 0 0) 0 calc(2*100%/3),0) 100%;
  background-size:100% 3px,75% 3px;
  background-repeat:no-repeat;
}

.right { --p:100%;}
.center { --p:50%;}
.full {background-size:100% 3px;}
.active {color:#1A73E8;background-color:#E8F0FE}
<div class="icon"></div>
<div class="icon active"></div>
<div class="icon right"></div>
<div class="icon right active"></div>
<div class="icon center"></div>
<div class="icon center active"></div>
<div class="icon full"></div>
<div class="icon full active"></div>

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。