html - 尽管使用显示 block ,但 margin 自动不被尊重

标签 html css label margin display

我有一个 div 包含两个 label 元素。每个 label 都应该位于 div 的一侧。由于标签是行内元素,我尝试使用 display: blockdisplay: inline-block 让边距生效,但结果不是预期的。

  div {
    color: #ffffff;
    background-color: #3f3f3f;
  }
  label:nth-of-type(1) {
    margin-left: 5px;
  }
  label:nth-of-type(2) {
    display: block;
    <!-- display: inline-block; -->
    margin-right: 5px;
    margin-left: auto;
  }
<div>
  <label>Left side label</label>
  <label>right side label</label>
</div>

正如您在代码执行中看到的那样,第二个标签不考虑边距,而是显示在第一个标签的下方。

最佳答案

标签必须有宽度和 display:block 才能使用 margin auto。

今天使用 flexbox 更灵活。

div {
    color: #ffffff;
    background-color: #3f3f3f;
    display:flex;
    flex-flow: row nowrap;
    justify-content: space-between;
}

label:nth-of-type(1) {
    margin-left: 5px;
}

label:nth-of-type(2) {
    margin-right: 5px;
}
<html>
  <body>
    <div>
      <label>Left side label</label>
      <label>right side label</label>
    </div>
  </body>
</html>

关于html - 尽管使用显示 block ,但 margin 自动不被尊重,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54241422/

相关文章:

java - 带有 9patch 的 LibGdx 标签背景

wpf slider 刻度标签

java - 在Thymeleaf中,我如何选择第:selected value for an HTML selector based on the current model object?

html - 在自定义 SharePoint MasterPage HTML 中使用 Web 字体

html - 在每个图像滑动之后,是否可以停止其中包含图像作为元素的选取框?

css - 我没有在 css 中定义的导航栏上的空白区域?

php - 将 UL 转换为样式化的 SELECT

html - 下拉菜单不会在悬停在下面的内容上时保持打开状态

jquery - 如何访问与引发事件的元素相关的特定 div?

android - 为什么在此代码中使用this @ MainActivity?