переход на новую строку очень длинная строка

Один из способов сделать это - добавить модификатор интерполяции flat к атрибуту цвета, как описано в в этом учебном пособии. Это предотвратит интерполяцию значений цвета, поэтому у каждого треугольника будет только один цвет (тот, который указан в первой из трех вершин). К сожалению, я не смог найти ничего о его поддержке webgl, но вы могли бы также попробовать его, чтобы увидеть, работает ли он.

Если это не работает или вы не хотите, чтобы отдельные треугольники были видны, вы также можете загрузить данные цвета в текстуру и получить цвет каждого пикселя в фрагментном шейдере. Однако все равно будет некоторая интерполяция в зависимости от размера текстуры (аналогично тому, как изображение становится размытым при увеличении).

71
задан IAdapter 13 May 2009 в 08:57
поделиться

3 ответа

Этот вопрос был задан здесь раньше:

Короче говоря:

Что касается решений CSS, у вас есть: overflow: scroll; , чтобы заставить элемент отображать полосы прокрутки, и overflow: hidden; , чтобы просто отключить любой лишний текст. Есть переполнение текста: многоточие; и перенос слов: слово-разрыв; , но они являются только IE ( break-word есть в черновике CSS3, так что это будет решением этой проблемы через 5 лет).

Суть в том, что если это очень важно, чтобы вы не допустили этого, перенеся текст на следующую строку, единственное разумное решение - ввести & shy; (мягкий дефис), (разрыв слова тег) или & # 8203; (пробел нулевой ширины, тот же эффект, что и & shy; минус дефис) на стороне сервера строк. Если вы не возражаете против Javascript, то есть переносчик , который кажется довольно надежным.

Суть в том, что если для вас очень важно предотвратить это, перенеся текст на следующую строку, единственное разумное решение - ввести & shy; (мягкий дефис), (тег разрыва слова) или & # 8203; (пробел нулевой ширины, тот же эффект, что и & shy; минус дефис) на стороне сервера строк. Если вы не возражаете против Javascript, то есть переносчик , который кажется довольно надежным.

Суть в том, что если для вас очень важно предотвратить это, перенеся текст на следующую строку, единственное разумное решение - ввести & shy; (мягкий дефис), (тег разрыва слова) или & # 8203; (пробел нулевой ширины, тот же эффект, что и & shy; минус дефис) на стороне сервера строк. Если вы не возражаете против Javascript, то есть переносчик , который кажется довольно надежным.

86
ответ дан 24 November 2019 в 12:57
поделиться

Надеюсь, что когда-нибудь мы получим доступ к свойству word-wrap в CSS3: Force Wrapping: свойство word-wrap .

Когда-нибудь ...

2
ответ дан 24 November 2019 в 12:57
поделиться

word-wrap: break-word; доступен в браузерах IE7 +, FF 3.5 и Webkit (Safari / Chrome и т. Д.). Для работы с IE6 вам также нужно будет объявить word-wrap: break-all;

Если FF 2.0 отсутствует в матрице вашего браузера, то их использование является жизнеспособным решением. К сожалению, он не переносит предыдущую строку, где слово разорвано, что является типографским кошмаром. Я бы посоветовал использовать Hyphenator, как предложил Паоло, который является ненавязчивым JavaScript. Тогда откатом для пользователей без поддержки JavaScript будет сломанное слово без дефисов. Я могу пока жить с этим. Эта проблема, скорее всего, возникнет в CMS, где веб-дизайнер не может контролировать, какой контент будет вводиться или где могут быть реализованы переводы строк и мягкие дефисы.

Я просмотрел спецификацию W3 , где обсуждается перенос в CSS3. К сожалению, похоже, что есть несколько предложений, но пока ничего конкретного. Похоже, что производители браузеров еще ничего не реализовали. Я проверил и Mozilla, и Webkit на предмет наличия проприетарного кода, но никаких признаков не обнаружено.

31
ответ дан 24 November 2019 в 12:57
поделиться
Другие вопросы по тегам:

Похожие вопросы: