当前位置: 首页 > 知识库问答 >
问题:

文本省略优先级

闾丘晨
2023-03-14

我有一个带有display flex的容器,其中包含2个项目。这两个项都有文本省略号以支持长文本。我想在项目之间设置一些优先级,以便根据需要将项目1作为匹配位置,为项目2保留一些固定空间。这意味着,如果容器的宽度是200px,那么第2项的最小尺寸是50px,我希望第1项达到150px(然后是文本省略号)。最好的方法是什么?

.ovf {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
<div style="display:flex;width:300px">
  <div style="background-color: red;min-width: 50px;">
    <div class="ovf">item1 item1 item1</div>
  </div>
  <div style="background-color: blue;min-width: 40px;flex-shring:2">
    <div class="ovf">item2 item2 item2 item2 item2 item2 </div>
  </div>
</div>

JSFIDLE

共有3个答案

司空丰
2023-03-14

找到了这样做的方法-设置第二项flex属性为1:

css lang-css prettyprint-override">.ovf {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
<div style="display:flex;width:300px">
  <div style="background-color: red;min-width: 0">
    <div class="ovf">item1 item1 item1</div>
  </div>
  <div style="background-color: blue;min-width: 40px;flex:1;">
    <div class="ovf">item2 item2 item2 item2 item2 item2 </div>
  </div>
</div>
郏景澄
2023-03-14

只需将flex: 1.5或2应用到第一部分(您想要更多的宽度)和flex: 1应用到另一个div以获得更小的宽度

.ovf {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
<div style="display:flex;width:300px">
  <div style="background-color: red;min-width: 50px;flex:1.5;">
    <div class="ovf">item1 item1 item1</div>
  </div>
  <div style="background-color: blue;min-width: 40px;flex:1;">
    <div class="ovf">item2 item2 item2 item2 item2 item2 </div>
  </div>
</div>
锺离声
2023-03-14

证明-内容:空间-之间;

section {
   display: flex;
   width: 50%;
   justify-content: space-between;
}
section>div {
   background: #eeeeee;
   padding: 15px;
}
html prettyprint-override"><section>
   <div>
      <div>Area 1</div>
   </div>
   <div>
      <div>Area 2</div>
   </div>
</section>
 类似资料:
  • 问题内容: 我有一条路径列表(由于缺少更好的词,也许面包屑痕迹可以更好地描述它们)。有些值太长而无法在其父项中显示,因此我正在使用。问题在于重要信息在右侧,因此我希望省略号出现在左侧。像这样的ASCII艺术: 请注意,第一行足够短,因此仍保持左对齐,而其他两行又太长,因此省略号出现在左侧。 我更喜欢仅CSS的解决方案,但是如果无法避免,JS很好。如果该解决方案仅适用于Firefox和Chrome,

  • 问题内容: 我在页面上有一个块元素集合。它们都设置了CSS规则的空白,溢出,文本溢出,以便修剪掉溢出的文本并使用省略号。 但是,并非所有元素都会溢出。 无论如何,我可以使用JavaScript来检测哪些元素正在溢出吗? 谢谢。 补充:我正在使用的示例HTML结构。 SPAN元素始终适合单元格,它们应用了省略号规则。我想检测何时将省略号应用于SPAN的文本内容。 问题答案: 很久以前,我需要这样做,

  • 省略 不推荐省略 0 值单位,原因如下: CSS 规范中可以省略单位只有 [<length-percentage>](https://drafts.csswg.org/css-values-3/#typedef-length-percentage),其他比如角度单位 deg 在 Chrome 中可以省略, 这是浏览器的 Bug。 注:可以省略的单位包括:%|em|ex|ch|rem|vw|vh|v

  • 问题内容: 我需要在可调整大小的元素内的文本中间实现省略号()。这是可能的样子。所以, 变成 当元素延伸到文本的宽度时,我希望省略号消失。如何才能做到这一点? 问题答案: 在HTML中,将完整值放在自定义data- *属性中,例如 然后分配和事件侦听器的JavaScript函数,将读取原始数据属性,并将其放置在您的跨度标签。这是省略号功能的示例: 调整值,或者如有必要,对不同的对象将其设为动态。如

  • 我不知道为什么这个简单的CSS不起作用... null null 应该在第4次“测试”前后切断

  • 我正在寻找一种在文本中添加省略号的方法,当它超过一定数量的行。我不想使用一个插件,我从另一个答案中找到了一个纯JS代码。但是,省略号“……”应用于每一个元素,即使它没有通过数字的限制。 HTML: CSS: !!我添加了两倍于行高的高度,以使超过两行的文本溢出。如果我想要三条线,我放三倍的线高。 JS: 使用“之前”和“之后”的示例进行编辑: 前:Lorem ipsum dolor sit ame