Страницы

Поиск по вопросам

среда, 19 июня 2019 г.

Отмена перенос строки в HTML, чтобы убрать лишний пробел

Мой html-код генерится php-скриптом. Если знак препинания обернут в отдельный тег и стоит на следующей строке, то между этим знаком препинания и предшествующим словом появляется нежелательный пробел:
текст1; текст2 ; текст3; текст4; ...

Можно ли как-то отменить перенос строки в html-коде и добиться, чтобы у пользователя в браузере текст и знаки препинания отображались без пробелов?
@if ('' != $wmeaning->multi_translation) {{ $wmeaning->multi_translation }}; @endif
@foreach ($bridge->translationAdditions as $translationAddition) @if (!empty($translationAddition->translation_addition)) {{ $translationAddition->translation_addition }} @endif
@if (!empty($translationAddition->translation_comment)) {{ $translationAddition->translation_comment }} @endif
@if (!empty($translationAddition->translation_operand)) {{ $translationAddition->translation_operand }} @endif
; @endforeach


Ответ

UPD 3. Стоящей на отдельной строке давать другой класс ;, которому назначить margin-left: -10px;. Значение подобрать под размер шрифта.
.container { font-size: 40px; } .semicolon-alone { margin-left: -10px; )

text;
text ;

UPD 2. С учётом комментариев к ответу предлагаю ещё три варианта.
1) Узнать, как вставлять более серьёзные куски PHP, собирать строку без лишних пробелов и выводить её целиком. Не работал с Laravel. Нужно нечто в таком духе:
$tmp = "";
if (!empty($translationAddition->translation_addition)) { $tmp .= "" . $translationAddition->translation_addition . ""; }
if (!empty($translationAddition->translation_comment)) { $tmp .= "" . $translationAddition->translation_comment . ""; }
if (!empty($translationAddition->translation_operand)) { $tmp .= "" . $translationAddition->translation_operand . "'; }
$tmp .= ";";
2) Закрывать комментарии по условию. Будет много, очень много комментариев.
@if ('' != $wmeaning->multi_translation) {{ $wmeaning->multi_translation }}; @endif
@foreach ($bridge->translationAdditions as $translationAddition) @if (!empty($translationAddition->translation_addition)) {{ $translationAddition->translation_addition }} @endif {{ $translationAddition->translation_comment }} @endif {{ $translationAddition->translation_operand }}; @endforeach
3) Обнулять размер шрифта только у содержимого цикла. Для этого заворачивать его в дополнительный спан.
.kill-the-space { font-size: 0; } .text, .semicolon { font-size: 20px; )
@foreach ($bridge->translationAdditions as $translationAddition)
@if (!empty($translationAddition->translation_addition)) {{ $translationAddition->translation_addition }} @endif
@if (!empty($translationAddition->translation_comment)) {{ $translationAddition->translation_comment }} @endif
@if (!empty($translationAddition->translation_operand)) {{ $translationAddition->translation_operand }} @endif
;
@endforeach

UPD. Предлагаю добавить в ваш код HTML-комментарии, чтобы спрятать просвет между спанами:
@if ('' != $wmeaning->multi_translation) {{ $wmeaning->multi_translation }}; @endif
@foreach ($bridge->translationAdditions as $translationAddition) @if (!empty($translationAddition->translation_addition)) {{ $translationAddition->translation_addition }}; @endforeach
Если программа такое не переварит, то клонировать точку с запятой:
@if ('' != $wmeaning->multi_translation) {{ $wmeaning->multi_translation }}; @endif
@foreach ($bridge->translationAdditions as $translationAddition) @if (!empty($translationAddition->translation_addition)) {{ $translationAddition->translation_addition }}; @endif
@if (!empty($translationAddition->translation_comment)) {{ $translationAddition->translation_comment }}; @endif
@if (!empty($translationAddition->translation_operand)) {{ $translationAddition->translation_operand }}; @endif @endforeach
А вот так можно заткнуть дыру с помощью стилей:
.container { font-size: 0; } .text, .semicolon { font-size: 20px; )
text1;
text2 ;
text3 ;

Комментариев нет:

Отправить комментарий