15%

Спести 15% на всички хостинг услуги

Тествай уменията си и получи Отстъпка за всеки хостинг план

Използвайте код:

Skills
За начало
22.10.2024

Как да промените разстоянието между редовете в WordPress: Всички методи обяснени

Разстоянието между редовете в WordPress — контролирано от CSS свойството line-height — определя вертикалното разстояние между редовете текст в блоков елемент. Промяната му пряко влияе върху четимостта, визуалната йерархия и типографското качество на целия сайт. Четирите основни метода за промяната му са: вградените контроли на редактора Gutenberg Block Editor, WordPress Theme Customizer, персонализиран CSS чрез панела Additional CSS и плъгини за типография. Всеки метод е подходящ за различно ниво на технически достъп и обхват на промяната.

Това ръководство обхваща всеки метод в пълна техническа дълбочина, включително гранични случаи, проблеми със специфичността на селекторите и компромиси при плъгините, които повечето уроци напълно пропускат.

Защо разстоянието между редовете е важно извън естетиката

CSS спецификацията дефинира line-height като минималната височина на кутиите за редове в елемента. За основен текст, насоката за достъпност WCAG 2.1 (Критерий за успех 1.4.12) препоръчва минимален line-height от 1.5 пъти размера на шрифта. Пренебрегването на това засяга не само визуалния дизайн, но и съответствието и сигналите за качество от търсачките, свързани с Core Web Vitals и показателите за ангажираност на потребителите.

Лошо зададен line-height — особено стойности под 1.2 за основен текст — кара текста да изглежда стиснат, увеличава процента на отказ и може да предизвика проблеми с Cumulative Layout Shift (CLS) в комбинация с уеб шрифтове, които се зареждат асинхронно.

Метод 1: Вградени контроли на редактора Gutenberg Block Editor

Редакторът Gutenberg предоставя вградени контроли за line-height за блоковете Paragraph, Heading, List и Quote, но тази функция трябва да бъде изрично активирана на ниво тема чрез theme.json или функцията add_theme_support().

Стъпка 1: Проверете дали поддръжката на Line Height е активна

Ако не виждате поле Line Height в панела с настройки на блока, активната ви тема не е декларирала поддръжка за него. Можете да го активирате, като добавите следното към functions.php на вашата тема:

add_theme_support( 'custom-line-height' );

За блокови теми, използващи theme.json, уверете се, че следното е налично под settings:

{
  "settings": {
    "typography": {
      "lineHeight": true
    }
  }
}

Стъпка 2: Изберете целевия блок

В редактора на публикация или страница, кликнете върху блока Paragraph или Heading, който искате да промените. Лентата с инструменти на блока се появява в горната част, а страничната лента вдясно автоматично превключва към раздела Block.

Стъпка 3: Намерете панела Typography

В десния панел Block, превъртете до секцията Typography. Ако е свита, кликнете върху етикета, за да я разгънете. Ще видите поле за въвеждане Line Height.

Въведете стойност без единица. WordPress я предава директно като CSS стойност line-height в инлайн стила на блока. Препоръчителни диапазони:

  • Основни параграфи: 1.5 до 1.8
  • Заглавия (H1–H2): 1.1 до 1.3
  • Подзаглавия (H3–H4): 1.2 до 1.4

Критичен граничен случай: Стойностите без единица (напр. 1.6) са силно предпочитани пред стойности в пиксели или em (напр. 24px или 1.6em), тъй като се мащабират пропорционално, когато дъщерен елемент наследи свойството и промени собствения си размер на шрифта. Използването на px тук е честа грешка, която нарушава разстоянието на вложените елементи.

Стъпка 4: Запазете и валидирайте

Кликнете Update или Publish. Използвайте DevTools на браузъра (F12 > Elements > Computed), за да потвърдите, че инлайн стилът line-height: 1.6 е приложен към правилния елемент и не се заменя от таблица със стилове на темата с по-висока специфичност.

Метод 2: WordPress Theme Customizer за типография в целия сайт

Customizer (Appearance > Customize) предоставя интерфейс с предварителен преглед на живо за промени в целия сайт. Контролите за типография в Customizer не са основна функция на WordPress — те се предоставят изцяло от активната ви тема или допълнителен плъгин.

Теми с вградени панели за типография

Теми, изградени на базата на фреймуъркове като GeneratePress, Astra, Kadence или OceanWP, предлагат специални секции за типография с плъзгачи за line-height за основен текст, заглавия и области за уиджети поотделно.

Стъпка 1: Навигирайте до настройките за типография

Отидете на Appearance > Customize. Потърсете секция с наименование Typography, Fonts или Global Styles в зависимост от вашата тема. Ако такава секция не съществува, вашата тема не поддържа контрол на типографията чрез Customizer — преминете към Метод 3 или Метод 4.

Стъпка 2: Регулирайте Line Height за всеки елемент

Повечето customizer-и на теми ви позволяват да насочвате към:

  • Основен текст (съответства на селектора body или p)
  • Заглавия от H1 до H6
  • Навигационни менюта
  • Заглавия на уиджети

Задайте стойностите си и използвайте панела за предварителен преглед на живо, за да валидирате едновременно на десктоп и мобилни точки на прекъсване.

Стъпка 3: Публикувайте промените

Кликнете Publish в горния ляв ъгъл на Customizer. Промените се записват в съхранените опции на темата и се прилагат глобално чрез таблицата със стилове на темата или инлайн блока <style> в <head>.

Проблем: Настройките за типография в Customizer се съхраняват в опциите на темата, а не в style.css. Ако смените темата, всички тези корекции се губят. Винаги документирайте стойностите си преди смяна на темата.

Метод 3: Персонализиран CSS — Най-прецизният и преносим метод

Персонализираният CSS ви дава пълен контрол върху насочването към селектори, специфичността и отзивчивите точки на прекъсване. Това е правилният подход, когато се нуждаете от детайлен контрол, който нито блоковият редактор, нито Customizer предоставят.

Стъпка 1: Достъп до панела Additional CSS

Навигирайте до Appearance > Customize > Additional CSS. Този CSS се съхранява в базата данни и се извежда инлайн в <head>, давайки му предимство в специфичността пред повечето таблици със стилове на теми.

Алтернативно, ако управлявате собствена сървърна среда — например на план VPS Hosting — можете да добавите персонализирана таблица със стилове чрез functions.php за по-добър контрол на кеша и производителност:

function mytheme_custom_styles() {
    wp_enqueue_style(
        'custom-typography',
        get_stylesheet_directory_uri() . '/css/custom-typography.css',
        array(),
        '1.0.0'
    );
}
add_action( 'wp_enqueue_scripts', 'mytheme_custom_styles' );

Стъпка 2: Напишете насочени CSS правила

Глобален line height за параграфи:

p {
    line-height: 1.6;
}

Всички нива на заглавия:

h1, h2, h3, h4, h5, h6 {
    line-height: 1.3;
}

Само за блокове параграфи в Gutenberg (избягва засягането на текст в странична лента или футър):

.wp-block-paragraph {
    line-height: 1.7;
}

Ограничено до конкретен шаблон на страница или тип публикация, използвайки класа на body, който WordPress извежда автоматично:

.single-post .entry-content p {
    line-height: 1.65;
}

.page-template-landing-page p {
    line-height: 1.5;
}

Отзивчива корекция за мобилни устройства (по-малките екрани се възползват от малко по-плътно разстояние):

@media (max-width: 768px) {
    p {
        line-height: 1.5;
    }
}

Стъпка 3: Разрешете конфликти на специфичност

Ако вашият CSS не влиза в сила, правило на тема или плъгин с по-висока специфичност го заменя. Диагностицирайте това в DevTools, като инспектирате елемента и проверявате кое правило е зачертано в панела Styles.

За да увеличите специфичността, без да прибягвате до !important, насочете селектора си по-прецизно:

body .site-content .entry-content p {
    line-height: 1.6;
}

Използвайте !important само като последна мярка, тъй като създава техническа задлъжнялост, която се натрупва с всяко бъдещо добавяне на CSS:

p {
    line-height: 1.6 !important; /* Use only if specificity cannot be resolved otherwise */
}

Метод 4: Плъгини за типография

Плъгините са правилният избор, когато се нуждаете от интерфейс без код, когато управлявате сайт за клиент, който трябва да го поддържа самостоятелно, или когато се нуждаете от разширени типографски функции OpenType извън line-height.

Сравнение на плъгини

ПлъгинКонтрол на Line HeightОбхватНеобходим персонализиран CSSВлияние върху производителносттаНай-подходящ за
Advanced Editor ToolsЗа блок в редактораЗа блокНеМинималноПотребители на класически/блоков редактор
WP TypographyГлобално, за елементЗа целия сайтНеНискоРазширени типографски правила
Kadence BlocksЗа блок, отзивчивоЗа блокНеУмереноПълен дизайн, базиран на блокове
ElementorЗа уиджет, отзивчивоЗа уиджетНеВисокоРаботни процеси с конструктор на страници
GenerateBlocksЗа блокЗа блокНеНискоЛек дизайн с блокове

Инсталиране и конфигуриране на Advanced Editor Tools

Advanced Editor Tools (преди TinyMCE Advanced) е най-широко използваната опция за добавяне на контроли за разстояние между редовете директно в лентата с инструменти на блоковия редактор.

  1. Отидете на Plugins > Add New, потърсете Advanced Editor Tools и кликнете Install Now, след това Activate.
  2. Навигирайте до Settings > Advanced Editor Tools.
  3. В раздела Block Editor, активирайте бутона Line Height в лентата с инструменти, като го плъзнете в активния ред на лентата.
  4. Върнете се към произволна публикация или страница. Изберете блок Paragraph. Контролът за line height вече се появява в лентата с инструменти на блока.

Използване на WP Typography за глобални правила

WP Typography прилага типографски правила на ниво PHP рендиране, което означава, че модифицира HTML изхода преди да достигне браузъра. Това е полезно за налагане на последователен line-height за целия текст, без да се докосват отделни блокове.

След активиране, отидете на Settings > WP Typography и намерете секцията CSS Classes, за да приложите правила за line height, ограничени до конкретни контейнери.

Проблем: Обработката на текст от WP Typography може да влезе в конфликт с плъгини за кеширане, ако е активирано кеширане на цели страници. Винаги тествайте след активирането му в staging среда, особено ако вашият хостинг стек включва кеширане на ниво сървър — честа конфигурация на Dedicated Servers, работещи с Nginx с FastCGI кеш.

Full-Site Editing (FSE) и theme.json: Съвременният подход

За сайтове, използващи блокова тема (Twenty Twenty-Three, Twenty Twenty-Four, Kadence FSE и др.), каноничният метод за задаване на стойности по подразбиране за line-height е theme.json. Този файл дефинира дизайн токени, които се разпространяват из целия потребителски интерфейс на блоковия редактор.

{
  "$schema": "https://schemas.wp.org/trunk/theme.json",
  "version": 2,
  "settings": {
    "typography": {
      "lineHeight": true,
      "fluid": true
    }
  },
  "styles": {
    "typography": {
      "lineHeight": "1.6"
    },
    "elements": {
      "heading": {
        "typography": {
          "lineHeight": "1.25"
        }
      },
      "h1": {
        "typography": {
          "lineHeight": "1.1"
        }
      }
    }
  }
}

Стойностите, зададени в styles в рамките на theme.json, се извеждат като CSS персонализирани свойства и се прилагат чрез селектора :root, давайки им широк обхват, като същевременно остават заменяеми на ниво блок. Това е най-поддържаемата архитектура за производствени WordPress сайтове през 2024 г. и след това.

Ако изграждате или управлявате персонализирана блокова тема на сървър, който контролирате — като например VPS с cPanel — редактирането на theme.json директно чрез файловия мениджър или SSH е по-бързо и по-надеждно от използването на Customizer за типографски токени.

Избор на правилния метод: Матрица за решения

СценарийПрепоръчан метод
Корекция на един конкретен блок на една страницаGutenberg Block Editor (Метод 1)
Промяна на типографията за целия сайт, темата го поддържаTheme Customizer (Метод 2)
Прецизен контрол, отзивчиви точки на прекъсване, ограничени селекториПерсонализиран CSS (Метод 3)
Сайт, управляван от клиент, изискване без кодПлъгин за типография (Метод 4)
Блокова тема с достъп до theme.jsonFSE / theme.json (Метод 5)
Глобални стойности по подразбиране + замени на ниво блокtheme.json + Block Editor комбинирано

Технически контролен списък преди публикуване

  • Потвърдете, че стойностите на line-height са без единица или използват em — избягвайте px за наследени свойства.
  • Валидирайте WCAG 2.1 SC 1.4.12: line-height на основния текст трябва да бъде поне 1.5.
  • Инспектирайте изчислените стилове в DevTools, за да потвърдите, че никое правило с по-висока специфичност не заменя вашите стойности.
  • Тествайте на поне две мобилни точки на прекъсване — line-height, което работи при 1440px, може да изглежда прекомерно при 375px.
  • Ако използвате плъгин за кеширане (WP Rocket, W3 Total Cache), изчистете кеша след всяка промяна на CSS.
  • За сайтове, хоствани на Shared Web Hosting, използвайте панела Additional CSS вместо директно редактиране на файловете на темата, за да избегнете презаписване на промените при актуализации на темата.
  • Документирайте всички персонализирани стойности на line-height в ръководство за стилове или блок с коментари в CSS файла си.
  • Ако внедрявате персонализирана дъщерна тема или theme.json на управляван сървър, уверете се, че правата за достъп до файла theme.json са зададени на 644, за да предотвратите грешки при запис от файловия редактор на WordPress.

ЧЗВ

Промяната на line height в редактора Gutenberg засяга ли мобилните устройства?

Да. Стойностите, зададени чрез полето Line Height на Block Editor, се прилагат като инлайн стилове без медийна заявка, така че се прилагат при всички ширини на изгледа. За отзивчив контрол — различни стойности на мобилни устройства спрямо десктоп — трябва да използвате персонализиран CSS с @media заявки или блоков плъгин като Kadence Blocks, който предоставя контроли за типография за всяка точка на прекъсване.

Защо персонализираният ми CSS line-height не се прилага, въпреки че го добавих в Additional CSS?

Най-честата причина е правило в таблица със стилове на тема или плъгин с по-висока CSS специфичност, насочено към същия елемент. Отворете DevTools, инспектирайте елемента параграф и потърсете зачертани правила в панела Styles. Увеличете специфичността на вашия селектор (напр. .entry-content p вместо p) или, като последна мярка, добавете !important.

Каква е разликата между line-height: 1.6 и line-height: 1.6em?

Стойност без единица като 1.6 се наследява като съотношение — дъщерните елементи умножават собствения си размер на шрифта по 1.6. Стойност от 1.6em се изчислява спрямо размера на шрифта на родителя и след това се наследява като фиксирана стойност в пиксели, което може да причини неправилно разстояние при вложени елементи с различни размери на шрифта. Винаги използвайте стойности без единица за line-height в основния текст.

Мога ли да задам различни line height стойности за изгледа в редактора и за предния край?

Да. WordPress прилага стилове на редактора отделно от стиловете на предния край. За да насочите към платното на блоковия редактор, добавете таблица със стилове чрез куката enqueue_block_editor_assets и ограничете правилата си до .editor-styles-wrapper p. Това гарантира, че изживяването при редактиране визуално съответства на публикувания изход.

Промяната на line height ще наруши ли оформлението на сайта ми или ще причини Cumulative Layout Shift?

Промяната на line-height на статични текстови елементи сама по себе си не причинява CLS. CLS се задейства, когато елементите сменят позицията си след първоначалното рендиране — обикновено причинено от зареждане и смяна на уеб шрифтове. Ако използвате Google Fonts или персонализиран уеб шрифт, съчетайте корекциите на line-height с font-display: swap и подсказки за предварително зареждане, за да минимизирате нестабилността на оформлението по време на зареждане на шрифта. Хостването на шрифтовете ви локално — лесно осъществимо в среда VPS Hosting — елиминира латентността на шрифтове от трети страни, която най-често задейства CLS заедно с промени в типографията.

15%

Спести 15% на всички хостинг услуги

Тествай уменията си и получи Отстъпка за всеки хостинг план

Използвайте код:

Skills
За начало