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

Align text inside span to top of container

有没有办法让文本从其跨度的最上边界开始?

在这里您可以看到由于行高的缘故有一点“填充”。 有办法吗?

.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>

我认为问题在于 <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>

不确定 "little “padding” due to the line-height." 是什么意思 这是我对这个难题的看法。

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>

只有手动更改每个 html 标签的 line-height 才能实现您的要求。我想这正是您要找的东西..

.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>