Вернуться назад Распечатать

NBSP - що це? Порожнє місце, що має значення

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

Застосування прогалин

Пробіл - самий потрібний символ. Хоч він «порожній», але дуже корисний. Навіть у старі добрі часи, коли мали важливе значення такі символи, як «переклад рядка» і «повернення каретки», будь-яку кількість прогалин в будь-якому місці коду застосовувалося тільки для підвищення його читабельності. Але сама по собі порожнє місце «дуже цінувалося».


Правильно маніпулювати словами, ключовими словами і синтаксичними конструкціями, відрізняти код програми від коментаря з цього дня жоден компілятор (інтерпретатор) не навчився. Без знатних лексем на зразок паскалевского (pascal) ":=" і пээлевской (PL/1) ";", валютно-орієнтованого нововведення "Пэхапе" (PHP) - "$" імені змінної обійшовся, хіба що "Фортран", у якого кожному оператору належало знаходитися в окремому рядку. Принципово сказане означає, що природній здатності розділяти слова і фрази, відрізняти фрази від пропозицій, а в останніх вловлювати закінчений сенс у штучних мов як і раніше немає. Але простий прогалина може бути в будь-якій кількості, в будь-якому рядку, і у нього є обов'язковий цифровий код. Пробіл - це не пусте місце ні в коді, ні в значенні змінної. Це дуже важливий символ. Отже, значення має і nbsp. Що це? Зараз розглянемо.


Ідеальна система: те, чого немає, але так необхідно

Багато області застосування листа і виведення вмісту вимагають точного дотримання правил оформлення. Простий приклад - списки. Неправильний список: __перша рядок; _вторая рядок; третій рядок. Правильний список: перша рядок; друга рядок; третій рядок. Тут символ "_" означає простий пробіл, який може бути вказаний помилково або утворюється внаслідок вирівнювання тексту елемента списку по обидва боки абзацу. Принципово, що зміст елемента списку повинна слідувати відразу за номером. Зокрема, текстовий редактор MS Word ще в самому початку свого існування запропонував використовувати нерозривний пробіл (комбінація клавіш ctrl+"пробіл"), щоб заборонити розрив між елементами рядка. Нерозривний пробіл склеював два сусідніх слова, причому зовсім не обов'язково, щоб вони обидва були такими. А в разі списків, коли номер елемента не входить у зміст абзацу, склеювання виконується до початку рядка.
В ті часи, коли MS Word вже користувався незмінним успіхом, мова гіпертексту ще тільки формувався, але наявність у ньому спеціальних символів передбачалося спочатку. Інша справа - що це таке і навіщо воно потрібно, не відразу було зрозуміло.

Використання в заголовках

Правильний заголовок не розривається, а слова в ньому не переносяться. Він центрується або вирівнюється по тій чи іншій стороні. Без використання нерозривного пробілу важко обійтися.
У мові гіпертексту це буде виглядати так: 7. 5. Керівництво по інсталяції FreeBSD На HTML-сторінці в браузері номер заголовка буде виглядати так: "7. 5. " і все, таким чином оформлені заголовки будуть строго однаковими. Є момент, на який варто звернути увагу, якщо в заголовку використовується текст і картинка. Браузер всі виводить послідовно, саме так, як визначено вхідним потоком. Тег img розташований у самому початку рядка, але щоб текст розмістився відразу за картинкою, треба врахувати її ширину.

Використання в контенті сторінки

Абсолютне позиціонування тексту в рідкісних випадках може допомогти. Звичайно заголовки і текст йдуть одним потоком, але з різними тегами, наприклад h2 і p. Щоб змістити текст праворуч від картинки, дуже зручно застосувати кілька . У наступному прикладі необхідно вивести іконки типів файлів, що завантажуються і написати поряд відповідні розширення текстом.
Кодування виконано на PHP з використанням nbsp. Що це таке і як використовується? Тепер стає ясно. Аналогічно символ нерозривного пробілу застосовується в jаvascript.

Застосування у рядках

При обробці рядків (як на сервері, так і всередині браузера) нерозривний пробіл не використовується - дуже невигідно застосовувати замість одного значущого символу " ", цілих шість " ". Однак, коли рядок відправляється в висновок, потік браузера, необхідно перекодувати всі символи пробілу в належну кількість нерозривних пробілів. Висновок echo або print_r послідовності більше одного пробілу не матиме потрібного ефекту і контент «поповзе». Наприклад (PHP): echo "2____Привіт!"; //тут "_" означає символ " ". echo "2 Привіт!" Будуть мати різний ефект, якщо тег має вирівнювання justify. У першому випадку цифра 2 буде надруковано з лівого краю блоку, який був зроблений висновок, а текст "Привіт!" - з правого.

NBSP - що це і як застосовувати? Важлива інформація

Між тим, проблема зовсім не в прогалинах. Недрукованих символів насправді дуже багато, і далеко не завжди вони використовуються правильно. Варто згадати, як оформляють документи користувачі MS Word. Коли потрібно написати слово "директор" зліва, а його прізвище праворуч, переважна більшість ліплять поспіль кілька символів табуляції швидко і ефективно.
Замість того, щоб правильно виставити значення символу табуляції і вирівнювання на ньому, користувач натискає кілька разів tab і одержує потрібний ефект. Аналогічна ситуація у мові розмітки HTML. Багато розробники не використовують спеціальні символи правильно, не застосовують потрібні стилі так, як це належить робити, і результат: "Привіт, Світ, я 3-й раз помилився" - буде розтягнуто по всій ширині блоку, в яку ця рядок була виведена. Якщо перекодувати рядок "Привіт Світ, я 3-й раз помилився" - результат буде саме таким, яким він повинен бути.
Знати і використовувати спеціальні символи - дуже хороша ідея. Особливо якщо у вас є бажання робити ефективні та якісні сторінки, в яких вміст розташований якісно і акуратно.