Многоточие переполнения текста не зависит от положения: относительный

Скрипка здесь

У меня есть изображение и ниже у меня есть span с изображением

<div class="myImageList  withScrollbars">
    <div class="myImageListEntry">
        <img style="width: 140px; height: 105px; margin-top: 17.5px;" src="..._thumbn.png" class="myImageListImage">
        <span class="myImageName">audsfsdfsdfsfsfsdfsdfgsdf43545345to1.JPG</span>
    </div>
</div>

Поскольку имя может быть слишком длинным, у меня есть overflow: ellipsis; на .myImageListEntry,

Теперь я хотел разместить span 10px ниже изображения. margin-top и padding-top не работали, поэтому я использовал это:

.myImageName{
    position: relative;
    top: 10px;
}

Текст в промежутке помещается в 10 пикселей сверху, но три точки (...) не опускаются.

Как я могу разместить многоточие на 10 пикселей вниз?

3 ответа

Решение

Добавьте многоточие в span, содержащий текст, а не в div, который оборачивает изображение и текст

.myImageName {
    position: relative;
    top: 10px;
    width: 100%;
    white-space: nowrap;
    text-overflow: ellipsis;
    display: block;
    overflow: hidden;
}

.myImageList{
  max-height: 320px;
}

.myImageListEntry{
  display: block;
  float: left;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  padding: 5px 5px 5px 5px;
  margin: 5px 5px 5px 5px;
  border: 1px solid rgb(128, 128, 128);
  border-radius: 10px;
  width: 150px;
  height: 150px;
  background-color: rgb(178, 178, 255);
}

.myImageListImage{
  display: block;
  margin-left: auto;
  margin-right: auto;
  margin-top: auto;
  margin-bottom: auto;
  max-width: 140px;
  max-height: 105px;
  cursor: pointer;
  margin-top: auto !important;
  line-height: 150px;
  vertical-align: middle;
}

.myImageName {
    position: relative;
    top: 10px;
    width: 100%;
    white-space: nowrap;
    text-overflow: ellipsis;
    display: block;
    overflow: hidden;
}
<div class="myImageList  withScrollbars">
  <div class="myImageListEntry">
      <img style="width: 140px; height: 105px; margin-top: 17.5px;" src="//www.brukacm.nl/restcontent/uploads/734/349817438DE30553C1AE0D1ECAB91BE48BA0B26D/1/2/42aaaa23401f4cf6a3c0a6cc5f0cd9f0_JPG_thumbn.png" class="myImageListImage">
      <span class="myImageName">audsfsdfsdfsfsfsdfsdfgsdf43545345to1.JPG</span>
  </div>
  <div class="myImageListEntry">
    <img style="width: 140px; height: 125.3px; margin-top: 7.35px;" src="//www.brukacm.nl/restcontent/uploads/734/4F237AC78A20570E0E45E2115D1B13E06697F7AF/1/2/93503e0ebd5f4f079a879eb41785b3e3_png_thumbn.png" class="myImageListImage">
    <span class="myImageName">happyt.png</span>
  </div>
</div>

Я думаю, что это не очень хороший подход, стиль по умолчанию для текстовых затмений всегда выровнен по тексту, как он может двигаться вверх.

Пожалуйста, используйте этот код.

.myImageName {
    display: inline-block;
    height: 22px;
    overflow: hidden;
    text-overflow: ellipsis;
    width: 154px;
}

Надеюсь, что это может помочь. Благодарю.

ОБНОВЛЕНО jsfiddle

.myImageName{
  position: relative;
  top: 6px;
  vertical-align: super;
}
Другие вопросы по тегам