CSS 网格和文本溢出 : ellipsis

标签 css css-grid

<分区>

当使用 CSS 网格时,我似乎无法使 text-overflow:ellipsis 起作用,即使我将它应用于包含我要缩短的文本的 dom 对象。

enter image description here

.grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;

  .grid-item { border: 1px solid red;}
  .grid-item .content{
    background-color: lightgray;
  }

  &.with-ellipsis {
    .title {
      text-overflow: ellipsis;
      white-space: nowrap;
      overflow: hidden;

    }
  }
}

这是我的代码所在的笔:https://codepen.io/dbugger/pen/qBBKLgX?editors=1100

最佳答案

.grid-item 上设置 min-width: 0;。这是 flexbox 元素(和网格)子项上省略号的旧解决方案,您可以阅读更多相关信息 here .

.grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-gap: 10px;
}

.grid .grid-item {
  min-width: 0;
  border: 1px solid red;
}

.grid .grid-item .content {
  background-color: lightgray;
}

.grid.with-ellipsis .title {
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}

.demo {
  display: inline-block;
  width: 33%;
  border: 1px solid red;
}

.demo .content {
  background-color: lightgray;
}

.demo .title {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
<h1>But what happens when you want some content inside the cell to have text-overflow: ellipsis</h1>

<div class="grid with-ellipsis">
  <div class="grid-item">
    <div class="image">Some image</div>
    <div class="content">
      <div class="title">Lorem, ipsum dolor sit amet consectetur adipisicing elit. Nesciunt excepturi obcaecati odio pariatur ipsam doloremque vel labore ipsa explicabo quos.</div>
    </div>
  </div>
  <div class="grid-item">
    <div class="image">Some image</div>
    <div class="content">
      <div class="title">Lorem, ipsum dolor sit amet consectetur adipisicing elit. Nesciunt excepturi obcaecati odio pariatur ipsam doloremque vel labore ipsa explicabo quos.</div>
    </div>
  </div>
  <div class="grid-item">
    <div class="image">Some image</div>
    <div class="content">
      <div class="title">Lorem, ipsum dolor sit amet consectetur adipisicing elit. Nesciunt excepturi obcaecati odio pariatur ipsam doloremque vel labore ipsa explicabo quos.</div>
    </div>
  </div>
  <div class="grid-item">
    <div class="image">Some image</div>
    <div class="content">
      <div class="title">Lorem, ipsum dolor sit amet consectetur adipisicing elit. Nesciunt excepturi obcaecati odio pariatur ipsam doloremque vel labore ipsa explicabo quos.</div>
    </div>
  </div>
  <div class="grid-item">
    <div class="image">Some image</div>
    <div class="content">
      <div class="title">Lorem, ipsum dolor sit amet consectetur adipisicing elit. Nesciunt excepturi obcaecati odio pariatur ipsam doloremque vel labore ipsa explicabo quos.</div>
    </div>
  </div>
  <div class="grid-item">
    <div class="image">Some image</div>
    <div class="content">
      <div class="title">Lorem, ipsum dolor sit amet consectetur adipisicing elit. Nesciunt excepturi obcaecati odio pariatur ipsam doloremque vel labore ipsa explicabo quos.</div>
    </div>
  </div>
</div>

关于CSS 网格和文本溢出 : ellipsis,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58781860/

相关文章:

html - <hr> 在页脚上方的页面底部

javascript - 如何将媒体查询与 javascript 结合起来?

html - Outlook 为小于 15 像素的图像添加边距顶部

css - 使用未知数量的元素重复网格布局

html - 仅CSS的砌体布局

javascript - 模态图片库 - 多张图片

css - 如何将 stylesheet_link_tag 与 bootstrap-sprockets 一起使用?

html - Flex/Grid 布局不适用于按钮或字段集元素

css - 如何为更大的屏幕尺寸减少 Vuetify Grid 列宽

css - 变换 : scaleX() seems to change element's height