Как получить поле/дополнение текста CSS из Photoshop?
или
Как преобразовать расстояние от/к тексту в Photoshop в поле CSS/padding?
Расстояния от текстовых элементов (абзацев) в Photoshop не соответствуют полям /paddings в CSS. Расстояния измеряются, например, с помощью интеллектуальных направляющих:
Все, потому что высота линии не используется при расчете расстояний. Поэтому первая рекомендация, которую я нашел, заключается в использовании формулы:
margin_in_CSS = distance_in_PS - (line-height - font-size) / 2
или короче:
CSS = PS - (line-height - font-size) / 2
Это расстояние от некоторой очевидной границы (линии) до текстового элемента. Для расстояния между двумя параграфами мы используем соответственно:
CSS = PS - (line-height_1 - font-size_1) / 2 - (line-height_2 - font-size_2) / 2
По мере увеличения размера шрифта становится ясно, что этой формулы недостаточно. фактическая высота линии (полученная с помощью инструмента выделения) в Photoshop даже меньше, чем размер шрифта!
Хотя фотошоп по-прежнему считает высоту элемента примерно равной размеру шрифта, что не влияет на его расстояние:( Например, на вкладке "Свойства":
Я вычислил, что разница между реальной высотой линии и размером шрифта составляет 30% или 15% вверху и нижней части текста (я не говорю, что это на 100% верно!). И теперь я использую формулу:
CSS = PS - (0.15 * font-size + (line-height - font-size) / 2)
Или между двумя абзацами:
CSS = PS - (0.15 * font-size_1 + (line-height_1 - font-size_1) / 2)
- (0.15 * font-size_2 + (line-height_2 - font-size_2) / 2)
Точно так же мы не можем полагаться на правильное определение высоты абзаца в нескольких строках Photoshop. Но здесь ситуация проще, реальная высота абзаца в CSS будет:
height = line-height * num_of_lines
Вопрос : есть ли более простой способ? О_о
Извините за мой английский ^ _ ^
UPDATE, более короткие формулы:
текст < > border
CSS = PS - (line-height - 0.7 * font-size) / 2
текст < > текст
CSS = PS - (line-height_1 - 0.7 * font-size_1) / 2
- (line-height_2 - 0.7 * font-size_2) / 2
UPDATE:
Теперь для правильного расчета расстояний на форуме Adobe (ссылка) разрабатывается script. На данный момент script может рассчитать расстояние от ограничивающего прямоугольника текстовой строки со стандартной (автоматической) строкой-линией 120%.
UPDATE:
Не имеет значения, используете ли вы выделенный текст или текст абзаца, высота ограничивающего окна результата не равна строке text-height (ведущая)