html - 在同一条线上有两个跨度占用所有可用空间与其宽度成比例

标签 html css

有没有办法在同一行上有两个跨度,以便:

  1. 如果溢出,则添加省略号。
  2. 较宽的比较小的占用更多空间。
  3. 两个 span 的宽度(及其父级)都是可变的。

您在下面的代码中看到 (2) 和 (3) 是有问题的,因为它们没有占用所有可用空间。

提前致谢!

.box {
  border: solid 1px #444;
  padding: 5px;
  font-family: sans-serif;
}
li {
  white-space: nowrap;
  font-size: 16px;
  border: solid 1px #def;
  padding: 0.5em;
  background: #dfefff;
  margin-bottom: 0.5em;
}
span {
  display: inline-block;
  overflow: hidden;
  text-overflow: ellipsis;
}
.name {
  color: #259;
}
.email {
  color: #581;
}
.name,
.email {
  max-width: 50%;
}
<div class="box">
  <ol>
    <li><span class="name">Demetrius Washington Montgomery McGollinghgrahham</span>
      <span class="email">demetrius.washington@gmail.com</span>
    </li>
    <li><span class="name">James</span>
      <span class="email">demetrius.washington.also.james.lomg@gmail.com</span>
    </li>
    <li><span class="name">Demetrius Washington Montgomery McGollinghgrahham</span>
      <span class="email">a@b.com</span>
    </li>
  </ol>
</div>

最佳答案

我对您的代码做了 2 处更改。向 <li> 添加了显示属性到 flexbox。更改 max-width.name, .email来自 50%100% .请参阅下面的更新代码。

li {
  white-space: nowrap;
  font-size: 16px;
  border: solid 1px #def;
  padding: 0.5em;
  background: #dfefff;
  margin-bottom: 0.5em;
  display: -webkit-box;      /* OLD - iOS 6-, Safari 3.1-6 */
  display: -moz-box;         /* OLD - Firefox 19- (buggy but mostly works) */
  display: -ms-flexbox;      /* TWEENER - IE 10 */
  display: -webkit-flex;     /* NEW - Chrome */
  display: flex; 
}

.email {
  color: #581;
  margin-left:5px;
}

.name,
.email {
  max-width: 100%;
}

参见 Demo

关于html - 在同一条线上有两个跨度占用所有可用空间与其宽度成比例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33536604/

相关文章:

html - 为什么这个 CSS 动画在 IE 上不起作用?

javascript - 包含输入中的空格

javascript - 使用特定 id 删除 ng-repeat 中的元素

html - 顶部和底部 div 之间的差距 - 如何摆脱它?

html - 如何在 iphone 上隐藏/显示 h2 和 ul 标签?

html - CSS - div定位/阴影影响其他

javascript - 如何在 Angular 网络应用程序上实现 Angular 游览

javascript - 条形图未按 d3.JS 中的预期呈现

css - 有什么我们只能用 SASS 而不能用 css 实现的吗?

css - 我的 CSS 填充在表 tds 上不起作用