将跨度内的文本与容器顶部对齐

时间:2017-02-14 02:24:20

标签: html css text vertical-alignment

有没有办法让文本在其跨度的最顶端开始?

在这里你可以看到由于线高而有一点“填充”。 有办法吗?

.name {
  display: inline-block;
  line-height: 1.25;
  font-size: 45px;
}
.firstname {
  display: block;
  background: #FFAACC;
  margin-bottom: 5px;
}
<div>
  <div class="ej ej1">
    <span class="name">
      <span class="firstname">Something Name</span>
    <span class="username">
        @somthig-name
        </span>
    </span>
  </div>
</div>

3 个答案:

答案 0 :(得分:1)

由于线高而不确定“小”填充是什么意思。 这是我对这个难题的看法。

body {
  margin:0;
  padding:0;
}
.name {
  margin-top:-0.9rem;
  display: inline-block;
  line-height: 1.25;
  font-size: 45px;
}
.firstname {
  display: block;
  background: #FFAACC;
  margin-bottom: 5px;
}
<div>
      <div class="ej ej1">
        <span class="name">
          <span class="firstname">Something Name</span>
        <span class="username">
            @somthig-name
            </span>
        </span>
      </div>
    </div>

答案 1 :(得分:1)

只有手动更改每个html标记的行高,才能实现您的要求。这就是你想要的东西我是这么认为的。

.name {
  display: inline-block;
  line-height: 33px;
  font-size: 45px;
}
.firstname {
  display: block;
  background: #FFAACC;
  margin-bottom: 5px;
  padding-bottom:10px;
  margin-top:10px;
}
<body style="margin:0px;">
<div>
  <div class="ej ej1">
    <span class="name">
      <span class="firstname">Something Name</span>
    <span class="username">
        @somthig-name
        </span>
    </span>
  </div>
</div>
</body>

答案 2 :(得分:0)

我认为问题是<body>的边距为8px ...... 试试这个

.name {
  display: inline-block;
  line-height: 1.25;
  font-size: 45px;
}
.firstname {
  display: block;
  background: #FFAACC;
  margin-bottom: 5px;
}
<body style="margin:0px;">
<div>
  <div class="ej ej1">
    <span class="name">
      <span class="firstname">Something Name</span>
    <span class="username">
        @somthig-name
        </span>
    </span>
  </div>
</div>
</body>