【问题标题】:vertical align :after with multi line text垂直对齐:在多行文本之后
【发布时间】:2018-11-09 06:20:56
【问题描述】:

我有一个物品清单。 一个项目有一个标题和文本。 在文本之后,我想要一个“选中图标”。 此图标必须向右对齐并位于文本中间。

现在的问题是图标在文本底部对齐;

#main-box {
  padding: 30px;
  -moz-border-radius: .25rem;
  -webkit-border-radius: .25rem;
  border-radius: .25rem;
  background-color: rgba(255, 255, 255, 0.9);
  width: 80%;
  margin: 0 auto;
  position: relative;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
}

.item cl-title {
  font-weight: bold;
  margin-bottom: 15px;
}

.item cl-text {
  font-style: italic;
  font-size: .75rem;
  vertical-align: middle;
}

.item cl-text:after {
  /* content: "\f00c"; */
  /* font: normal normal normal 30px/1 FontAwesome; */
  content: "V";
  color: Green;
  float: right;
}
<div id="main-box">
  <div class="checklist">
    <div class="item">
      <div class="cl-title">title</div>
      <div class="cl-text">some text <br/> some text<br/>
      </div>
      <div class="item">
        <div class="cl-title">title</div>
        <div class="cl-text">some text
        </div>
      </div>
    </div>

【问题讨论】:

  • 没有图标?
  • 我使用的字体太棒了,您需要将其包含在您的项目中

标签: html css vertical-alignment css-content


【解决方案1】:

您可以使用 display:flex 和 align-items: center 将图标垂直居中对齐。请查看以下代码并输出它会对您有所帮助。

#main-box {
  padding: 30px;
  -moz-border-radius: .25rem;
  -webkit-border-radius: .25rem;
  border-radius: .25rem;
  background-color: rgba(255,255,255,0.9);
  width: 80%;
  margin: 0 auto;
}

.item .cl-title { 
  font-weight: bold; 
  margin-bottom: 15px; 
}
.item .cl-text { 
  font-style: italic;                
  font-size: .75rem;
  display: flex;
  align-items: center;
}

.item .cl-text:after {
  content: "\f00c";
  font: normal normal normal 30px/1 FontAwesome;
  color: Green;
  float: right;
}
<link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet">
<div id="main-box">
    <div class="checklist">
      <div class="item">
         <div class="cl-title">title</div>
         <div class="cl-text">some text <br/> some text<br/>
      </div>
      <div class="item">
         <div class="cl-title">title</div>
         <div class="cl-text">some text
      </div>
    </div>
</div>

【讨论】:

  • 谢谢。这就是我要的。只剩下一件事了。你如何将图标向右对齐(在 div 的末尾而不是在文本之后。)
  • 那么你可以应用两种方式:1) 只需添加 justify-content: space-between;在 .item .cl-text 类或下一个选择 2)您可以添加 position: absolute;右:0;到 .item .cl-text:课后
  • 非常感谢
猜你喜欢
  • 2014-05-01
  • 2016-03-30
  • 2011-11-25
  • 2014-04-03
  • 2011-09-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多