Я делаю адаптивный сайт для школы, и мой вопрос:
Как установить максимальную длину символов в предложениях (с CSS) на моем веб-сайте (например, 75 символов), чтобы при большом экране предложения не превышали 75 символов.
Я пробовал максимальную ширину, но это портит мой макет. Я использую flexbox и медиа-запросы, чтобы сделать его отзывчивым.
textarea
или для них есть свойствоinput
максимальной длины (maxlength="50"
это в HTML), или вам придется использовать Javascript. Также я думаю, что неправильно прочитал это, установка ширины заставит предложение перейти к следующей строке, когда оно достигнет конца. Это поведение по умолчанию.Ответы:
Вы всегда можете использовать метод усечения, установив
max-width
и переполнение,ellipsis
как этоПример: http://jsfiddle.net/3czeyznf/
Для многострочного усечения взгляните на
flex
решение. Пример с усечением на 3 строки.Пример: https://codepen.io/srekoble/pen/EgmyxV
источник
Существует CSS «значение длины»
ch
.От MDN
Это может приблизиться к тому, что вы после.
источник
ch
модуль) не работает (как и ожидалось) для меня в Chrome 50, IE11 или FF45 ?!height
иoverflow:hidden
. Мне действительно понравился многоточие, но я смог заставить его работать, только если я установилwhite-space:no-wrap
. В моем случае текст может обернуться, но не превысить определенный предел символов в своем контейнере.white-space: nowrap;
Попробуйте это для усечения символов после установки максимальной ширины. Я использовал 75ч в этом случае
Для многострочного усечения, пожалуйста, перейдите по ссылке.
Пример: https://codepen.io/srekoble/pen/EgmyxV
Мы будем использовать webkit css для этого. Короче говоря, WebKit - это движок рендеринга веб-браузера HTML / CSS для Safari / Chrome. Это может зависеть от браузера, так как каждый браузер поддерживается механизмом рендеринга для рисования веб-страницы HTML / CSS.
источник
max-width:100%;
для div-оболочки. Так что у вас есть отзывчивое усечение.пример кода:
источник
С помощью Chrome вы можете установить количество отображаемых строк с помощью -webkit-line-зажим :
Так что для меня это использовать в расширении, так что это идеально, больше информации здесь: https://medium.com/mofed/css-line-clamp-the-good-the-bad-and-the-straight-up -broken-865413f16e5
источник
С CSS это невозможно, вам придется использовать Javascript для этого. Хотя вы можете установить ширину p до 30 символов, следующие буквы будут автоматически уменьшаться, но, опять же, это будет не так точно и будет меняться, если символы заглавными.
источник
HTML
JQuery
CSS
РЕЗУЛЬТАТ
Jsfiddle
источник
Чистое решение CSS для усечения многострочных символов
У меня была похожая проблема, и я нашел это отличное решение только для CSS от Hackingui.com . Вы можете прочитать статью для информации, но ниже приведен основной код.
Я проверил это, и он работает отлично. Надеюсь, кто-то найдет это полезным, прежде чем выбрать JS или опции на стороне сервера.
источник
Современный CSS Grid Ответ
Посмотреть полностью рабочий код на CodePen . Учитывая следующий HTML:
Вы можете использовать CSS Grid для создания трех столбцов и указать контейнеру максимальную ширину 70 символов для среднего столбца, который содержит наш абзац.
Вот как это выглядит (Checkout CodePen для полностью рабочего примера):
Вот еще один пример, где вы можете использовать minmax для установки диапазона значений. На маленьких экранах ширина будет составлять 50 символов, а на больших экранах - 70 символов.
источник
ch
на столбцах. Прекрасный.rrdOvr
. ;)Этот пост предназначен для решения CSS, но пост довольно старый, так что на тот случай, если другие наткнутся на это и используют современную среду JS, такую как Angular 4+, есть простой способ сделать это с помощью Angular Pipes без необходимости возиться с CSS.
Вероятно, существуют также способы реагирования или Vue. Это просто для демонстрации того, как это можно сделать в рамках.
усечь-text.pipe.ts
app.component.html
источник
Попробуйте мое решение с 2 различными способами.
источник