为什么,我的HTML元素从底部开始,如果我应用显示内联块属性?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (6)

我想生成像组件一样的注释列表,因为我已经采用了div并相应地应用了显示块和内联块。但我不知道为什么我的HTML元素从最底层位置开始(如果你增加和减少你可以搞清楚)。请帮助解决这个问题。

.comment {
  color: red;
}

.imagePanel,
.textPanel,
.userName,
.timeStamp {
  display: inline-block;
}

.userImage {
  width: 60px;
}

.userName a {
  font-size: 18px;
  font-weight: 800;
  color: unset;
  margin-right: 5px;
}

<div className='mainCommentPanel'>
  <div className='imagePanel'>
    <img className="userImage" src='https://cdn.pixabay.com/photo/2015/03/04/22/35/head-659652_960_720.png' alt='userImage' />
  </div>
  <div className="textPanel">
    <div className="UserBox">
      <div className="userName"><a>User Name</a></div>
      <div className="timeStamp">{new Date().toLocaleTimeString()}</div>
    </div>
    <div className="comment">
      <p>This page is very cool!</p>
    </div>
  </div>
</div>

元素应从其提到的高度和宽度属性中的最顶部位置开始。

提问于
用户回答回答于

因为inline-block,默认vertical-align设置为baseline,设置为vertical-align: top,你会很高兴!干杯。

用户回答回答于
.comment {
  color: red;
}

.imagePanel,
.textPanel,
.userName,
.timeStamp {
  display: inline-block;
}

.userImage {
  width: 60px;
}

.userName a {
  font-size: 18px;
  font-weight: 800;
  color: unset;
  margin-right: 5px;
}

.imagePanel{
  vertical-align:top;
}

<div class='mainCommentPanel'>
  <div class='imagePanel'>
    <img class="userImage" src='https://cdn.pixabay.com/photo/2015/03/04/22/35/head-659652_960_720.png' alt='userImage' />
  </div>
  <div class="textPanel">
    <div class="UserBox">
      <div class="userName"><a>User Name</a></div>
      <div class="timeStamp">{new Date().toLocaleTimeString()}</div>
    </div>
    <div class="comment">
      <p>This page is very cool!</p>
      <p>This page is very cool!</p>
      <p>This page is very cool!</p>
      <p>This page is very cool!</p>
      <p>This page is very cool!</p>
    </div>
  </div>
</div>

你必须使用class属性而不是className。

扫码关注云+社区

领取腾讯云代金券