Способи вертикального вирівнювання по центру CSS. Розташування div по центру та інші тонкощі позиціонування


Часто при верстка виникає потреба у вертикальному вирівнюванні тексту в блоці. Якщо це потрібно зробити в осередку таблиці, то задається значення CSS-властивості vertical-align.

Але виникає резонне питання, чи не можна обійтися без таблиці, без навантаження розмітки сторінки зайвими тегами? Відповідь: "можна", але через погану підтримку CSS браузером MSIE рішення завдання для нього буде відрізнятися від рішення для інших поширених браузерів.

Як приклад розглянемо наступний фрагмент:



Some text

і спробуємо вертикально вирівняти текст по центру блоку та по нижньому краю блоку.

Рішення завдання

"Правильні" браузери (включаючи MSIE

Більшість сучасних браузерів підтримують CSS2.1, саме значення table-cell для властивості display. Це дає нам можливість змусити блок з текстом відображатись як комірка таблиці і, скориставшись цим, вирівняти текст по вертикалі:

div (
display: table-cell;
vertical-align: middle;
}

div (
display: table-cell;
vertical-align: bottom;
}

Internet Explorer (до 7-ї версії включно)

Вирішити завдання вирівнювання тексту по нижньому краю блоку в MSIE можна за допомогою абсолютного позиціонування (тут нам знадобиться рядковий елемент, вкладений у блок):

div (
position: relative;
}
div span (
display: block;
position: absolute;
bottom: 0%;
left: 0%;
width: 100%;
}

Цей набір правил працює і у «правильних» браузерах.

Вказувати властивості

Div span (
display: block;
width: 100%;
}

не обов'язково, але вони можуть знадобитися, якщо, крім вертикального вирівнювання тексту, планується використовувати також горизонтальне, наприклад, text-align: center;.

Для вертикального вирівнювання тексту по центру блоку вихідний фрагмент доведеться все ж таки ускладнити - введемо ще один рядковий елемент:

Матеріал для вивчення:

  • Vertical Centering in CSS (www.jakpsatweb.cz/css/css-vertical-center-solution.html)
  • Vertical centering using CSS (www.student.oulu.fi/%7Elaurirai/www/css/middle/)
  • Vertical align (www.cssplay.co.uk/ie/valign.html)
  • vertical-align:middle (cssing.org.ua/2005/07/14/vertical-align-middle/)
  • Ще один спосіб вертикального вирівнювання в CSS (cssing.org.ua/2007/04/26/another-css-valign-method)

Доброго часу доби, передплатники та читачі цієї публікації. Сьогодні я хочу вдатися до подробиць та розповісти вам, як у css вирівняти текст по центру. У деяких попередніх статтях я опосередковано торкався цієї теми, тому деякі знання в цій галузі у вас є.

Однак у цій публікації я розповім вам про всілякі способи вирівнювання об'єктів, а також поясню, як робити відступи та червоні рядки в абзацах. Тож давайте приступати до вивчення матеріалу!

Html та його дітища
та align

Даний спосіб майже не використовується, оскільки його витіснили інструменти стильних каскадних таблиць. Однак знання, що такий тег існує, вам не завадить.

Що стосується валідації (цей термін докладно описаний у статті « »), то в самій специфікації html засуджується використання < center>, так як для валідності необхідно використовувати перехідний DOCTYPE>.

Такий типпропускає заборонені елементи.

CENTER



Тепер перейдемо до атрибуту align. Він задає горизонтальне вирівнювання об'єктів і вписується після оголошення тега. Зазвичай з його допомогою можна вирівняти контент по лівому краю ( left), по правому краю ( right), по центру ( center) та за шириною тексту ( justify).

Нижче я наведу приклад, в якому картинку та абзац розташую по центру.

align

Цей контент буде розташований центром.



Зауважте, що для картинки атрибут, що розбирається нами, має дещо інші значення.

У прикладі я використав align="middle". Завдяки цьому зображення вирівнялося так, що пропозиція розташувалася чітко посередині картинки.

Інструменти центрування в CSS

Css-властивості, призначені для вирівнювання блоків, текстового та графічного контенту, користуються набагато частіше. Це пов'язано насамперед із зручністю та гнучкістю реалізації стилів.

Отже, почнемо з першої якості центрування тексту - це text-align.

Воно функціонує так само, як і align у . Серед ключових слів можна вибрати одне із загального списку або успадкувати характеристики предка ( inherit).

Хочу зазначити, що в css3 можна встановити ще два параметри: start– в залежності від правил написання тексту (праворуч ліворуч або навпаки) встановлює вирівнювання зліва або праворуч (аналогічно роботі left або right) та end- Протилежний start (при написанні тексту зліва направо діє як right, при написанні праворуч наліво - left).

text-align

Пропозиція справа

Пропозиція з використанням end



Розповім про невелику фішку. При виборі значення justify останній рядокможе негарно бовтатися знизу. Для того, щоб її, наприклад, розташувати по центру, можна скористатися властивістю text-align-last.

Для вирівнювання вмісту сайту або осередків таблиць по вертикалі використовується властивість vertical-align. Нижче описано основні ключові слова елемента.

Ключове слово Призначення
baseline Вказує вирівнювання по лінії предка, яка називається базовою. Якщо такої лінії у предка-предка немає, то вирівнювання відбувається по нижньому border-у.
middle Середина видозмінюваного об'єкта вирівнюється по базовій лінії, до якої додається підлога висоти елемента-батька.
bottom Нижня частина вибраного контенту підлаштовується під основу об'єкта, що знаходиться нижче за всіх.
top Аналогічно bottom, тільки з верхньою частиноюоб'єкт.
super Робить символ надрядковим.
sub Робить елемент підрядковим.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 vertical-align
Ц УЕ ТПроДо


vertical-align

Ц УЕ ТПроДо


Відступи

І, нарешті, ми дійшли з вами до відступів в абзаці. У мові css використовується спеціальна властивість під назвою text-indent.

З його допомогою можна зробити як червоний рядок, так і виступ (потрібно вказати негативне значення).

text-indent

Для створення червоного рядка потрібно знати лише один параметр.

Їм є просте властивість text-indent.



Я думаю, багато хто з вас, кому доводилося займатися версткою, стикалися з необхідністю вирівнювати елементи по вертикалі і знають, які складності виникають при вирівнюванні елемента по центру.

Так, для вертикального вирівнювання CSS є спеціальна властивість vertical-align з безліччю значень . Однак на практиці воно працює зовсім не так, як очікується. Спробуймо в цьому розібратися.


Порівняємо такі підходи. Вирівнювання за допомогою:

  • таблиці,
  • відступів,
  • line-height ,
  • розтягування,
  • негативного margin,
  • transform,
  • псевдоелемента,
  • flexbox.
Як ілюстрацію розглянемо наступний приклад.

Є два елементи div, при цьому один із них вкладений в інший. Дамо їм відповідні класи – outer та inner.


Завдання полягає в тому, щоб вирівняти внутрішній елемент центром зовнішнього елемента.

Для початку розглянемо випадок, коли розміри зовнішнього та внутрішнього блоку відомі. Додамо внутрішньому елементу правило display: inline-block, а зовнішньому – text-align: center та vertical-align: middle.

Пригадую, що вирівнювання застосовується лише до елементів, які мають режим відображення inline або inline-block.

Задамо блокам розміри, а також фонові кольори, щоб бачити їхні межі.

Outer ( width: 200px; height: 200px; text-align: center; vertical-align: middle; background-color: #ffc; ) .inner ( display: inline-block; width: 100px; height: 100px; background-color : #fcc; )
Після застосування стилів ми побачимо, що внутрішній блоквирівнявся по горизонталі, а по вертикалі немає:
http://jsfiddle.net/c1bgfffq/

Чому так сталося?Справа в тому, що властивість vertical-align впливає на вирівнювання самого елемента, а не його вмісту(крім випадків, коли воно застосовується до осередків таблиці). Тому застосування цієї властивості до зовнішнього елементу нічого не дало. Більше того, застосування цієї властивості до внутрішнього елемента також нічого не дасть, оскільки малі блоки (inline-block) вирівнюються по вертикалі щодо сусідніх блоків, а в нашому випадку у нас один рядковий блок.

Для вирішення цієї проблеми існує кілька технік. Нижче розглянемо кожну з них.

Вирівнювання за допомогою таблиці

Перше приходить на думку рішення - замінити зовнішній блок таблицею з одного осередку. У цьому випадку вирівнювання буде застосовуватися до вмісту комірки, тобто внутрішнього блоку.


http://jsfiddle.net/c1bgfffq/1/

Очевидний мінус цього рішення – з погляду семантики неправильно застосовувати таблиці для вирівнювання. Другий мінус у тому, що для створення таблиці потрібно додати ще один елемент навколо зовнішнього блоку.

Перший мінус можна частково прибрати, замінивши теги table і td на div і задавши табличний режим відображення CSS.


.outer-wrapper ( display: table; ) .outer ( display: table-cell; )
Проте зовнішній блок все одно залишиться таблицею з усіма наслідками, що з цього випливають.

Вирівнювання за допомогою відступів

Якщо висоти внутрішнього і зовнішнього блоку відомі, вирівнювання можна задати за допомогою вертикальних відступів у внутрішнього блоку, використовуючи формулу: (H outer - H inner) / 2.

Outer ( height: 200px; ) .inner ( height: 100px; margin: 50px 0; )
http://jsfiddle.net/c1bgfffq/6/

Мінус рішення - воно застосовується лише в обмеженій кількості випадків, коли відомі висоти обох блоків.

Вирівнювання за допомогою line-height

Якщо відомо, що внутрішній блок повинен займати не більше одного рядка тексту, можна скористатися властивістю line-height і задати його рівним висоті зовнішнього блоку. Оскільки контент внутрішнього блоку не повинен переноситися на другий рядок, також рекомендується додати правила white-space: nowrap і overflow: hidden .

Outer ( height: 200px; line-height: 200px; ) .inner ( white-space: nowrap; overflow: hidden; )
http://jsfiddle.net/c1bgfffq/12/

Також дану технікуможна застосовувати і для вирівнювання багаторядкового тексту, якщо для внутрішнього блоку перевизначити значення line-height, а також додати правила display: inline-block і vertical-align: middle.

Outer ( height: 200px; line-height: 200px; ) .inner ( line-height: normal; display: inline-block; vertical-align: middle; )
http://jsfiddle.net/c1bgfffq/15/

Мінус даного способу полягає в тому, що має бути відома висота зовнішнього блоку.

Вирівнювання за допомогою "розтягування"

Цей спосіб можна застосовувати, коли висота зовнішнього блоку невідома, але відома висота внутрішнього.

Для цього потрібно:

  1. задати зовнішньому блоку відносне позиціонування, а внутрішньому – абсолютне;
  2. додати внутрішньому блоку правила top: 0 і bottom: 0 , у результаті він розтягнеться всю висоту зовнішнього блоку;
  3. встановити значення auto для вертикальних відступів внутрішнього блоку.
.outer ( position: relative; ) .inner ( height: 100px; position: absolute; top: 0; bottom: 0; margin: auto 0; )
http://jsfiddle.net/c1bgfffq/4/

Суть цієї техніки полягає в тому, що завдання висоти для розтягнутого і абсолютно спозиційованого блоку змушує браузер обчислювати вертикальні відступи в рівному співвідношенні, якщо значення встановлено в auto .

Вирівнювання за допомогою негативного margin-top

Цей спосіб набув широкої популярності і застосовується дуже часто. Як і попередній він застосовується, коли висота зовнішнього блоку невідома, але відома висота внутрішнього.

Потрібно задати зовнішньому блоку відносне позиціонування, а внутрішньому – абсолютне. Потім необхідно зрушити внутрішній блок вниз на половину висоти зовнішнього блоку top: 50% і підняти нагору на половину власної висоти margin-top: -H inner / 2.

Outer ( position: relative; ) .inner ( height: 100px; position: absolute; top: 50%; margin-top: -50px; )
http://jsfiddle.net/c1bgfffq/13/

Мінус даного способу повинна бути відома висота внутрішнього блоку.

Вирівнювання за допомогою transform

Цей спосіб схожий на попередній, але він може бути застосований, коли висота внутрішнього блоку невідома. У цьому випадку замість завдання негативного відступу в пікселях можна скористатися властивістю transform і підняти внутрішній блок вгору за допомогою функції translateY і значення -50%.

Outer ( position: relative; ) .inner ( position: absolute; top: 50%; transform: translateY(-50%); )
http://jsfiddle.net/c1bgfffq/9/

Чому у попередньому способі не можна було задати значення у відсотках? Так як відсоткові значення властивості margin обчислюються щодо батьківського елемента, значення 50% дорівнювало б половині висоти зовнішнього блоку, а нам потрібно було підняти внутрішній блок на половину його власної висоти. Для цього якраз підходить властивість transform.

Мінус цього способу - він не може бути застосований, якщо внутрішній блок має абсолютну позиціонування.

Вирівнювання за допомогою Flexbox

Самий сучасний спосібвертикального вирівнювання це використовувати Flexible Box Layout (у народі відомий як Flexbox). Даний модуль дозволяє гнучко керувати позиціонуванням елементів на сторінці, маючи в своєму розпорядженні їх практично як завгодно. Вирівнювання по центру для Flexbox дуже проста задача.

Зовнішньому блоку необхідно встановити display: flex , а внутрішньому − margin: auto . І це все! Гарно, правда?

Outer ( display: flex; width: 200px; height: 200px; ) .inner ( width: 100px; margin: auto; )
http://jsfiddle.net/c1bgfffq/14/

Мінус цього способу – Flexbox підтримується лише сучасними браузерами.

Який спосіб вибрати?

Потрібно виходити з постановки завдання:
  • Для вертикального вирівнювання тексту краще використовувати вертикальні відступи або властивість line-height.
  • Для абсолютно позиціонованих елементів із відомою висотою (наприклад, іконок) ідеально підійде спосіб з негативною властивістю margin-top.
  • Для складніших випадків, коли невідома висота блоку, потрібно використовувати псевдоелемент або властивість transform.
  • А якщо вам пощастило настільки, що не потрібно підтримувати старі версії браузера IE, то, звичайно, краще використовувати Flexbox.

Теги: Додати теги

Веб-дизайнери щодня використовують DIV у роботі. Без применшень, це найпопулярніший тег. Відкрийте джерело будь-якого сайту, і ви побачите, що більша частина, якщо не дві третини об'єктів укладено в

. Навіть із приходом HTML5 та появою серйозних конкурентів у вигляді article або header, його продовжують повсюдно вставляти в розмітку. Тому пропоную вам розібратися із питанням форматування та вирівнювання блоків div по центру.

Що таке DIV

Назва елемента походить від англійського слова division, що у перекладі означає розподіл. При написанні розмітки його використовують, щоб розбити елементи на блоки. У DIV містяться групи контенту на веб-сторінці. Наприклад, зображення, абзаци з текстом. Тег ніяк не впливає на відображення вмісту і не несе семантичного навантаження.

DIV підтримує усі глобальні атрибути. Але для веб-дизайну вам знадобляться лише два – це class та id. Про решту ви згадуватимете тільки в екзотичних випадках, і то не факт. Атрибут align, який раніше використовували, щоб вирівняти div по центру або лівому краю, вважається застарілим.

Коли використовувати DIV

Уявіть собі, що сайт – це холодильник, а DIV – це пластикові контейнери, За якими треба розсортувати вміст. Ви ж не кластимете фрукти в одну ємність з ліверною ковбасою. Кожен вид продукту ви покладете окремо. Аналогічно формується веб-контент.

Відкрийте будь-який сайт поділіть його на смислові блоки. Вгорі шапка, внизу футер, в центрі головний текст. Збоку зазвичай знаходиться менша колонка з рекламним контентом або хмарою тегів.

Document



Тепер розберіть кожну розділ детальніше. Почніть з header. Шапка сайту має окремо логотип, навігацію, заголовок першого рівня, іноді слоган. Кожному значеннєвому блоку призначте свій контейнер. Так ви не тільки розділите елементи в потоці, але й полегшите їх форматування. Вам буде простіше вирівняти об'єкт у тегу DIV по центру, призначивши йому клас чи ідентифікатор.

Вирівнювання DIV по центру за допомогою полів

Під час обробки веб-елементів браузер враховує три властивості: padding, marging і border. Відступи padding – це простір між контентом та його кордоном. Margin – поля, що відокремлюють один об'єкт від іншого. Border – це лінії вздовж блоків. Вони можуть бути призначені відразу з усіх або лише з одного боку:

div( border: 1px solid #333; border-left: none; )

Ці властивості додають вільний простір між об'єктами, а також допомагають їх вирівнювати та розміщувати належним чином. Наприклад, якщо блок з картинкою потрібно змістити від лівого краю до центру на 20%, ви надаєте елементу margin-left зі значенням 20%:

Block-with-img( margin-left: 20%; )

Також елементи можна форматувати, використовуючи значення їх ширини та негативні відступи. Наприклад, є блок із розмірами 200px на 200px. Спочатку призначимо йому абсолютне позиціонування та змістимо його до центру на 50%.

Div (position: absolute; left: 50%; )

Тепер, щоб DIV по центру був ідеально розташований, задаємо йому негативний відступ вліво, рівний 50% його ширини, тобто -100 пікселів:

Margin-left: -100px;

У CSS такий спосіб називають «видалення повітря». Але він має суттєвий недолік у необхідності проводити постійні розрахунки, що досить складно зробити для елементів з кількома рівнями вкладеності. Якщо задані значення padding та border-width, браузер за замовчуванням вирахує розміри контейнера як суму товщини кордонів, відступів праворуч, ліворуч та самого контенту всередині, що теж може стати несподіванкою.

Тому коли потрібно вирівняти DIV центром, використовуйте властивість box-sizing зі значенням border-box. Воно не дасть браузеру додавати значення відступів та меж до загальної ширини елемента DIV. Щоб підняти або опустити елемент, також застосовуйте негативні значення. Але призначити у разі їх можна або верхньому, або нижньому полю контейнера.

Як вирівняти DIV блок по центру за допомогою автоматичних полів

Це найпростіший спосіб центрувати великі блоки. Ви просто призначаєте ширину контейнера та властивість margin зі значенням auto. Браузер розмістить блок посередині з однаковими полями ліворуч та праворуч, виконавши всю роботу самостійно. В результаті ви не ризикуєте заплутатися в математичних розрахунках і суттєво економите свій час.

Використовуйте метод з автоматичними полями для розробки адаптивних програм. Головне - призначати контейнеру значення ширини em чи відсотках. Код із прикладу вище розташує DIV по центру та на будь-яких пристроях, включаючи мобільні телефони, він буде займати 90% екрану.

Вирівнювання через властивість display: inline-block

За замовчуванням елементи DIV вважаються блоковими і значення display у них стоїть block. Для цього методу вам потрібно буде перевизначити цю властивість. Підходить тільки для DIV із батьківським контейнером:

Будь-який текст

Елементу з класом outer-div призначається властивість text-align зі значенням center, яке має текст усередині по центру. Але поки що браузер бачить вкладений DIV як блоковий об'єкт. Щоб властивість text-align спрацювала, inner-div має сприйматися як малий. Тому в таблиці CSS для селектора inner-div ви пишете наступний код:

Inner-div( display: inline-block; )

Ви змінюєте властивість display з block на inline-block.

Метод transform/translate

Каскадні таблиці стилів дають можливість за бажанням переміщати, скошувати, обертати та всіляко трансформувати веб-елементи. Для цього використовується властивість transform. Як значення вказується бажаний тип перетворення та ступінь. У даному прикладіми будемо працювати з translate:

transform: translate(50%, 50%);

Функція translate переміщає елемент з його поточної позиції вліво/вправо та вгору/вниз. У дужках передаються два значення:

  • ступінь переміщення по горизонталі;
  • ступінь переміщення по вертикалі.

Якщо елемент потрібно пересунути тільки по одній із осей координат, тоді ви вказуєте після слова translate ім'я осі та в дужках величину необхідного зміщення:

Transform: translateY(-20%);

У деяких посібниках можна зустріти transform з вендорними префіксами:

Webkit-transform: translate(50%, 50%); -ms-transform: translate(50%, 50%); transform: translate(50%, 50%);

У 2018 році цього робити більше не потрібно, якість підтримується всіма браузерами, включаючи Edge та IE.

Для того, щоб змістити потрібний нам DIV по центру, CSS-функція translate записується зі значенням 50% для вертикальної та горизонтальної осі. Завдяки цьому, браузер змістити елемент з його поточної позиції наполовину від його ширини та висоти. Властивості width і height повинні бути обов'язково вказані:

Document



Враховуйте, що елемент, до якого застосовується властивість transform, рухається в незалежності від навколишніх об'єктів. З одного боку, це зручно, але іноді зрушуючи DIV може перекрити собою інший контейнер. Тому такий спосіб центрувати веб-компоненти вважається нестандартним і застосовують його лише у випадках нагальної потреби. Трансформації за всіма канонами CSS використовують для анімації.

Робота з Flexbox-версткою

Flexbox вважається складним способомверстки веб-макетів. Але якщо ви її освоїте, то зрозумієте, що вона набагато простіше і приємніше, ніж стандартне способиформатування. Специфікація Flexbox - це гнучкий і неймовірно потужний спосібобробка елементів. З англійської мовиназва модуля так і перекладається як «гнучкий контейнер». Значення ширини, висоти, розташування елементів налаштовуються автоматично, без обчислення відступів та полів.

У попередніх прикладах ми вже працювали з властивістю display, але задавали йому блокове (block) та рядкове (inline-block) значення. Для створення flex-макетів ми використовуватимемо display:flex. Спочатку нам знадобиться flex-контейнер:



Щоб перетворити його на флекс-контейнер у каскадних таблицях, ми пишемо:

Flex-container( display: flex; )

Всі вкладені в нього об'єкти, але тільки прямі нащадки будуть flex-елементами:

Перший
Другий
Третій
Четвертий


Якщо всередину flex-контейнера розмістити список, то пункти списку li не вважаються flex-елементами. Flexbox-верстка діятиме лише на ul:

Правила розміщення flex-елементів

Щоб керувати flex-елементами, потрібні justify-content і align-items. Залежно від вказаних значень, ці дві властивості розміщують об'єкти належним чином автоматично. Якщо нам потрібно вирівняти всі вкладені DIV по центру, ми записуємо justify-content: center, align-items: center і більше. Решту роботи браузер виконає сам:

Document

Перший
Другий
Третій
Четвертий


Щоб вирівняти текст центром DIV, які є flex-елементами, можна використовувати стандартний прийом text-align. Або ви можете кожен вкладений DIV також зробити flex-контейнерів та керувати вмістом за допомогою justify-content. Такий спосіб набагато раціональніший, якщо всередині міститься різноманітний контент, включаючи графіку, інші вкладені об'єкти, включаючи багаторівневі списки.

Вітаю! Продовжуємо освоювати основи мови HTML. Подивимося, що потрібно писати, щоб вирівняти текст по центру, ширині чи краям.

Переходячи до справи, розглянемо, як у HTML зробити текст центром трьома. різними способами. Останні два пов'язані безпосередньо з таблицею стилів. Вона може являти собою файл CSS, який підключається до сторінок сайту та задає їхній вигляд.

Спосіб 1 - пряма робота з HTML

Насправді, все досить просто. Дивіться приклад нижче.

Вирівнювання абзацу по центру.

Якщо потрібно зрушити текстові фрагменти іншим чином, замість параметра «center» прописуємо наступні значення:

  • justify - вирівнювання тексту по ширині сторінки;
  • right - по правому краю;
  • left – по лівому.

За аналогією можна зрушити контент, що знаходиться в заголовках (h1, h2), контейнері (div).

Спосіб 2 та 3 - використання стилів

Конструкцію, представлену вище, можна злегка трансформувати. Ефект буде таким самим. Для цього потрібно прописати поданий нижче код.

Текстовий блок.

У такому вигляді код прописується безпосередньо HTML для вирівнювання текстового контенту по центру.

Є ще альтернативний варіант досягти результату. Потрібно буде зробити кілька дій.

Крок 1. В основному коді написати

Текстовий матеріал.

Крок 2. У файлі CSS, що підключається, вписати наступний код:

Rovno (text-align:center;)

Зазначу, що слово «rovno» це лише назва класу, який можна назвати і по-іншому. Це залишається на розсуд програміста.

За аналогією в HTML можна запросто зробити текст по центру, ширині, а також вирівняти праворуч або лівим краєм сторінки. Як бачите, є далеко не один варіант досягти мети.

Усього кілька питань:

  • Робите інформаційний некомерційний проект?
  • Бажаєте, щоб сайт добре просувався у пошукових системах?
  • Бажаєте отримувати дохід у мережі?

Якщо всі відповіді позитивні, то просто подивіться на комплексний підхід до розвитку сайту. Інформація виявиться особливо корисною, якщо вона працює на CMS WordPress.

Хотілося б відзначити, що власні сайти - це лише один із безлічі варіантів сформувати пасивний чи активний дохід на просторах інтернету. Мій блог якраз присвячений фінансовим можливостям у мережі.

Працювали колись у сфері арбітражу трафіку, копірайтингу та інших напрямів діяльності, які приносять основний або додатковий дохідпри віддаленому співробітництві? Про це та багато іншого ви можете дізнатися прямо зараз на сторінках мого блогу.

Попереду опублікую ще багато реально корисної інформації. Залишайтеся на зв'язку. За бажанням можете передплатити оновлення Workip на e-mail. Форма передплати розташована нижче.