минимальное отрицательное значение отступа текста

StackOverflow https://stackoverflow.com//questions/12669309

  •  12-12-2019
  •  | 
  •  

Вопрос

Что минимально допустимый отрицательное значение для text-indent свойство?

На своем сайте я использовал невероятно большое значение (что-то вроде text-indent: -99999999px), и он перестал работать с последним обновлением Google Chrome.IE по-прежнему работает нормально, но мне, возможно, придется удалить оттуда пару девяток, чтобы он снова работал с Chrome.

Отказ от ответственности:да, это значение слишком параноидальное, я использовал его для развлечения и совершенно забыл о нем, пока сегодня на экране не появился текст.Но обычно предлагается text-indent: -9999px может легко потерпеть неудачу в какой-то момент (не такого уж) отдаленного будущего?

Это было полезно?

Решение

Безопасное значение — это вероятно -32768px, однако это не часть спецификации, а скорее наблюдение (возможно, устаревшего) устаревшего ограничения, специфичного для реализации.

Прежде чем значения свойств CSS можно будет применить к элементам во время рендеринга, эти объявления должны быть преобразованы во что-то более функциональное и абстрактное, чем, по сути, строка.Я имею в виду, ты можешь тип почти что угодно в качестве стоимости недвижимости:

.a {text-indent: -999px;}
.b {text-indent: -99999999px;}
.c {text-indent: medium potato;}

Первый пример, скрестив пальцы, будет правильно проанализирован;последний недействителен и будет проигнорирован (поскольку средний картофель в настоящее время не является частью спецификации w3c CSS);но средний был бы причудливым, если бы он переполнение (не «умещается» в памяти, выделенной браузером).Я собрал скрипку, и это text-indent значения, при которых браузеры «задохнулись» и по умолчанию обнулились:

#On OSX 10.8 Lion 64bit:
Safari 6       -2^31
Chrome 22      -2^26  #your original -99999999px would have failed here
Firefox 14     -2^70
Opera 12       -2^70

#On Win Server 2008 64bit:
Firefox 13     -2^70
Chrome 21      -2^70
IE 9           -2^70

Это вызвало у меня любопытство, завтра я проведу дополнительные тесты на другом компьютере. Результаты выше обновлены, ничего особенного. Вы также можете запустить свой собственный тест, используя эту скрипту - первый элемент, который останется видимым, будет отображать примененное значение, которое было проигнорировано. Я предполагаю, что значения будут различаться в зависимости от используемого браузера/ОС, а также от возможно аппаратное обеспечение.

Я помню, как впервые увидел практичный ссылка на такое ограничение в статья о стилизации искусственных столбцов^ это предложило консервативное ограничение - это 16-битное целое число со знаком (от -32768 до +32767), которое применимо к не только отступы текста, но другие значения длины.Я не знаю, насколько единообразно это значение в разных браузерах и их версиях, а также насколько оно применимо к дробям или значениям, выраженным в разных единицах.

Другие советы

Нет минимального текста.- Используйте прокладки и позиции полей, если вы все еще хотите увидеть текст и используете для стилизации.

У меня есть проблемы в iPad Safari, используя ряд 9999999, исправленные для меня, установив его до 9999ЕМ. Так что, возможно, нет ограничения, но должен быть один для избежать этих ошибок.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top