CSS - сдвинуть длинный непрерывный текст внутри div вправо?

У меня есть длинный текст, который не вписывается в занимаемый div. Класс div выглядит следующим образом:

.mydiv {
    overflow:hidden;
    padding:3px 3px 3px 5px;
    white-space:nowrap;
}

Конечно, я могу видеть только часть текста. Проблема в том, что он показывает первые N символов, а я хочу показать последние N символов. Как мне добиться этого с помощью CSS? Text-align здесь не помогает

4 ответа

Решение

Если вы можете обернуть свой текст в другой элемент, вы можете заставить его работать, как показано в этой скрипте. Я плавал вложенный <span> направо.

Вы можете сделать это только с помощью CSS:

http://jsbin.com/ususu

  <div style="width: 150px; border: 1px solid red; overflow: hidden; position: relative; height: 2em;">
      <div style="position: absolute; right: 0px; padding: .5em;white-space:nowrap;">
  aaaaaaaaaaaabbbbbbbbbcccccccccccccccccddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffgggggggggggggggggggghhhhhhhhhhhhhhhhiiiiiiiiiiiii
     </div>
  </div>

(проверено в Firefox. YMMV)

<div class="wrap">
    <div class="window">Lots of text</div>
</div>

.wrap { overflow: hidden; position: relative; }
.window { position: absolute; right: 0px; }

Вам придется использовать javascript, чтобы прокрутить div до упора вправо, попробуйте:

var obj = document.getElementById("div-id");
obj.scrollLeft = obj.scrollWidth - obj.clientWidth
Другие вопросы по тегам