мнемоническую запись html что это
Форум
Discord чат
Разбираем понятие «мнемоники» на практике.
Доброго времени суток, уважаемая аудитория сайта javascript.ru.
С мнемониками опытный js программист и/или html верстальщик, сталкивается очень часто на базовом уровне, но иногда требуется более глубокое взаимодействие с ними. Для начала начну с определения.
Цитата с Wikipedia:
Символ-мнемоника — это конструкция SGML, которая ссылается на символ из набора символов документа. В HTML предопределено большое количество спецсимволов. Чтобы вставить определенный символ в разметку, нужно вставить определенную ссылку-мнемонику в HTML структуру.
Обычно разработчики используют лишь следующие мнемоники: > +5
А для чего так писать?
Почему не создать сразу массив?
Таким образом я уменьшил размер конечной функции.
При создании функции, руководствовался в основном конечным размером и скоростью выполнения.
В 2 с лишним раза меньше по размеру, чем следующий:
И на треть меньше этого:
В пределах же всей таблицы, выгода может быть раза в 3-4.
Значений множество, поэтому дополнительные запятые и кавычки добавляют весьма внушительный размер.
Функция split работает очень быстро и на скорости исполнения практически не сказывается. Таблица создаётся только при инициализации сценария и в дальнейшем не пересчитывается, поэтому потери времени минимальны и составляют единицы миллисекунд (В моих тестах 0 миллисекунд).
Буду рад услышать мотивированные соображения по этому поводу или отчёты по тестам.
Теперь все понятно. Интересный способ, возьму на вооружение.
Нельзя так писать; это трюкачество. Код должен быть ясным. Если нам нужен массив, следует писать массив. Об оптимизации должен заботиться компилятор, а если язык не компилируемый — значит упс, следует уповать на рост вычислительных мощностей, но не коверкать применяемый язык противоестественным образом.
Размер функции — абсолютно бесполезная цель. Паковать код и отдавать его в deflate никто не запрещал. Преждевременная оптимизация, к тому же такого бесполезного параметра — зло. Способ объявления массива более-менее нормальный, но в том виде, в котором он представлен (с циклами, покрывающими массив частично) — не очень удобный.
Пишете абсурдные вещи. Может такими они не являются, просто вас сложно понять, ведь не одно предложение в тексте не аргументировано. Может быть поэтому возникает стойкое ощущение, что подобные высказывания лишены смысла. ixth, если не составит труда, объясните пожалуйста, что вы хотели сказать, кроме того, что вам лично не понравился способ объявления и дополнения таблицы? В чем конкретно минусы?
Ради бога, отдайте миницифакцию минификаторам!
А почему нужно обязательно отдать минификацию минификаторам?
И с каких пор минификаторы умеют приводить объекты к подобному виду? Минифицированная таблица-оригинал имеет размер 8.2 КБ, оптимизированная таблица + 2 функции, обработанные минификатором YUI 2.4 КБ, а это в 3 с половиной раза меньше. Разве не заметен плюс?
Вы путаете процессы. Работу у минификатора я не отнимал, а вас попрежнему прошу написать, только объективно, в чём минус? Что работает не так? Чем плох метод? Напишите хотя бы одно пояснение.
А я говорил, что код работает не так? Код хорош и полезен, я просто не пойму зачем нужно уменьшать размер кода в ущерб читаемости. Я уверен, что ужав код в три раза, вы не добьетесь прироста производительности. А учитывая тот факт, что оба варианта — и Ваш и простой, описанный в виде хэша, в подавляющем большинстве случаев перед отправкой будут сжаты gzip’ом, разность в длине будет несущественной: один-два байта. Оно того стоит? Split возможно хорош в каких-то случаях, но как только я увидел бы в коде for-цикл, я бы от него отказался.
Еще раз задам основной вопрос: чем так хорош короткий код?
Окей, я согласен: разность действительно составила порядка 20%, это существенно, но я уверен, что на большем файле с большим словарем она нивелируется. В любом случае, считаю, что те 400 байт в данном случае не сделают особой разницы.
Вы как-то исключительно фанатично относитесь к размерам. Я согласен, что оптимизация — это хорошо, я сам некоторое время назад баловался запихиванием всего в png-спрайты и пожатием получившегося оптимайзерами, но все-таки эти самые 400 байтов не стоят того. У Вас частный случай strtr, а вы из него столько шуму сделали split’ом. Вас действительно так беспокоят люди, сидящие на исключительно узком канале или размер для Вас — спортивная самоцель? Если так, то я ничего не имею против. Вы, кстати, слышали про js1k?
Исключительно интересная статья про победителя соревнования: http://marijnhaverbeke.nl/js1k.html
А как код быстро работает. Мастер своего дела. Но только пользы нет от этих «игрушек»
Пробельные символы и форматирование ими кода в Html, а так же спецсимволы неразрывного пробела и другие мнемоники
Здравствуйте, уважаемые читатели блога KtoNaNovenkogo.ru. Чуть ранее мы уже успели поговорить о том, что такое язык Html, также узнали про оформление в нем комментариев и назначение директивы Doctype. Сегодня у нас на очереди понятие пробела в ХТМЛ, а еще связанное с ним форматирование кода при его написании (для удобства последующего его чтения и восприятия).
Ну и в связи с тем, что мы затронем тему неразрывного пробела и мягкого переноса, нам придется акцентировать наше внимание на так называемых спецсимволах или мнемониках, используемых в языке Html, которые позволят вам добавить в код web документа множество дополнительных символов, вроде уже упомянутого выше. Но обо всем по порядку.
Пробелы и пробельные символы в языке Html
Прежде, чем переходить к вопросу форматирования текста с помощью специально предназначенных для этого тегов (абзаца, заголовков и т.д.) я хочу остановиться на том моменте, как в языке ХТМЛ интерпретируются пробелы, переносы строки (Enter) и табуляция, как осуществляется разбивка текста в окне браузера при изменении его размера.
По умолчанию, при резиновой верстке сайта, браузер старается заполнить текстом все свободное пространство по ширине, но как только изменится размер этого пространства, то сразу же изменится и формирование текста. Возникают новые переносы, т.е браузер динамически переформатирует ваш текст на основании пробелов.
В языке Html в качестве пробельных символов используются:
Именно по каким-то из этих символов пробела и будет осуществляться перенос строки при форматировании текста в браузере. У разных посетителей вашего сайта будут разные размеры экрана браузера и, следовательно, разбивка текста во всех этих случаях может происходить по-разному (если вы используете, например, резиновый макет). Типичным примером может служить поисковая выдача Яндекса, где макет подстраивается под размер экрана по ширине, но до определенного минимального размера.
Но даже если вы используете фиксированный макет, то все равно при написании статьи в визуальном редакторе используемого вами движка (CMS) вы не сможете точно знать, где именно будет осуществляться перенос строки и по какому именно пробельному символу.
В связи с этим возникает вопрос: как не допустить разрыва конструкций типа «100 руб.» при формировании переноса в браузере по символу пробела в Html коде? Ответом на этот вопрос может служить использование не обычного пробела, а спецсимвола неразрывного пробела, который может выглядеть как:
В коде это может выглядеть примерно так:
Мнемоника неразрывного пробела не позволит браузеру осуществлять по нему разбивку строки ни при каких обстоятельствах. Иногда бывает нужно, наоборот, осуществлять принудительную разбивку длинного слова при изменении размера окна браузера по так называемой метке мягкого переноса, которая тоже формируется на основе спецсимвола. Но об этом мы поговорим чуть позже.
Визуальное форматирование кода для повышения его наглядности
Итак, еще раз повторюсь, переносы при форматировании текста в браузере автоматически создаются на месте расположения пробельных символов в коде, которые в свою очередь могут задаваться всего лишь тремя способами, описанными выше.
Особенностью языка гипертекстовой разметки является то, что любое количество пробелов (или переносов с табуляцией) идущих подряд, браузером заменяется при разборе Html кода на один единственный пробел. Что это нам дает? Ну, давайте подумаем.
Если десятки проставленных подряд пробелов, сотни переносов строк подряд и столько же расположенных подряд знаков табуляции в окне браузера все равно отобразятся как один, то можно использовать эту особенность для удобного нашему пониманию форматирования Html кода, чтобы потом можно было бы легко визуально отделить друг от друга разные элементы, контейнеры, таблицы и легко проверить наличие для них закрывающих тегов.
Например, такой вариант записи с обилием лишних пробелов, табуляций и переносов, которые нужных только для визуального форматирования кода, будет выглядеть очень легкочитаемым:
Но этот же фрагмент, где все лишние пробельные символы удалены, практически теряет свою читаемость:
Кстати, все вышесказанное будет справедливо и при записи свойств в CSS файлах, где вы сможете использовать удобное вам форматирование за счет лишних пробелов, переносов и табуляций, чтобы проще было бы найти и отделить друг от друга отдельные фрагменты.
Уже после того, как вы все отладите и всесторонне протестируете, сможете сжать CSS (удалить из кода все пробелы) для повышения скорости загрузки.
Правда для такого рода визуального форматирования (которое не будет видно на вебстранице) чаще всего используют не сами пробелы, а именно символы табуляции и переноса строки. Есть такое правило — когда начинаете писать вложенный Html тег, то сделайте отступ с помощью табуляции (клавиша Tab на клавиатуре), а когда этот тег закрываете, то уберите отступ (сочетание клавиш Shift+Tab на клавиатуре).
Делать это нужно так, чтобы открывающий и закрывающий тэги были бы на одном вертикальном уровне (на одинаковом количестве табуляций от правого края страницы вашего Html редактора, например, Notepad++, о котором я писал тут). Кроме этого советую непосредственно после написания открывающего элемента сделать несколько переносов строки и сразу же прописать закрывающий на том же уровне (количестве табуляций), чтобы потом не забыть это сделать.
Т.е. открывающий и закрывающий элементы должны стоять на одном уровне по вертикали, а внутренние теги сдвигаем на один знак табуляции и располагаем закрывающие и открывающие опять же на одном уровне.
Для простых веб документов это может показаться излишеством, но при создании более-менее сложных, их код станет гораздо более наглядным и читаемым за счет обилия пробелов, а также в нем будет гораздо проще заметить ошибки за счет симметричного расположения тегов.
Спецсимволы или мнемоники в Html коде
Так, а теперь давайте поговорим о так называемых специальных символах, удобство использования которых я анонсировал в начале этой статьи. Спецсимволы еще иногда называют мнемоники или подстановки. Они предназначены для того, чтобы решить довольно давно возникшую в языке гипертекстовой разметки проблему, связанную с используемыми кодировками.
Когда вы набираете текст с клавиатуры, то происходит кодирование символов вашего языка по заранее установленному алгоритму, а потом они отображаются на сайте с помощью используемых вами шрифтов (где найти и как установить красивые онлайн шрифты для сайта) за счет декодирования.
Кодировок существует очень много, но для языка Html по умолчанию была принята расширенная версия кодировок ASCII под названием Windows 1251 (CP1251).
В этой кодировке текста было возможно записать всего лишь 256 знаков — 128 от ASCII и еще 128 для букв русского языка. В результате возникла проблема с использованием на сайтах знаки, которые не входят в ASCII и не являются буквами русского языка, входящими в состав кодировки Windows 1251 (CP1251). Ну, вздумалось вам использовать тильду или апостроф, а возможности такой изначально в используемой языком Html кодировке не заложено.
Именно для таких случаев и были придуманы подстановки или же, другими словами, мнемоники. Изначально спецсимволы имели цифровой вид записи, но затем для самых распространенных из них были добавлены их буквенные аналоги для простоты их запоминания.
В общем понимании, мнемоника — это такой знак, который начинается с амперсанда «&» и заканчивается точкой с запятой «;». Именно по этим признакам браузер при разборе Html кода выделяет из него спецсимволы. Сразу за амперсандом в цифровом коде подстановки должен следовать знак решетки «#», который иногда называют хеш. А уже потом следует цифровой код нужного символа в кодировке юникод.
В юникоде можно записать более 60 000 знаков — главное, чтобы нужный вам символ мнемоники поддерживался используемым на вашем сайте шрифтом. Есть шрифты с поддержкой почти всех знаков кодировки юникод, а есть варианты только с определенным набором символов.
Полный список спецсимволов будет просто огромен, но наиболее часто используемые мнемоники вы можете позаимствовать, например, из этой таблицы:
Существует довольно интересный способ получения кода Html мнемоник для необходимого вам знака. Для этого достаточно будет открыть редактор Microsoft Word, создать новый документ и выбрать из верхнего меню «Вставка» — «Символ» (я пользуюсь 2003 версией, поэтому не знаю как сделать аналогичную операцию в более поздних версиях).
В открывшемся окне вам нужно выбрать шрифт, например, Times New Roman (или любой другой, который заведомо будет присутствовать на большинстве компьютеров посетителей вашего сайта — Courier или Arial, к примеру).
Добавьте из открывшегося списка в свой документ Word все нужные вам спецсимволы и сохраните данный вордовский документ как веб страницу (выбирается из выпадающего списка «.html» при сохранении). Ну, а затем вам лишь останется открыть эту веб страницу в любом Html редакторе (все тот же Notepad++ подойдет) и вы увидите все цифровые коды нужных вам мнемоник:
Способ немного сложноватый, но если приспичит использовать на странице своего сайта какой-нибудь редкий спецсимвол, то это будет проще, чем отыскивать в сети интернет таблицы, подобные приведенной чуть выше. Полученный код спецсимвола вам нужно будет вставить в нужное место и вместо него на веб странице браузер отобразит нужный вам знак (например, неразрывный пробел).
Неразрывный пробел и мягкий перенос в примерах
Как я уже упоминал выше и как вы можете видеть из приведенной чуть выше таблицы спецсимволов, некоторые мнемоники в Html получили кроме цифрового еще и символьное обозначение для их более простого запоминания. Т.е. вместо знака решетки «#» (хеша) в символьных вариантах используются слова. Например, все тот же неразрывный пробел может быть записан либо как (цифровая мнемоника), либо как (символьная).
При написании статей, если вам потребуется вставить в текст документа знак амперсанда (&) или открывающей угловой скобки ( или же вам просто нужно вставить знак меньше (
Удачи вам! До скорых встреч на страницах блога KtoNaNovenkogo.ru
Комментарии и отзывы (18)
Еще один RSS-читатель у Вас появился 😉
Пробелы (и табуляцию) надо использовать не только при форматировании HTML-кода, но и любого другого кода (на языках программирования), читабельность кода рулит.
Сейчас уже список Html мнемоник запомнить сложно, поэтому лучше пользоваться специальной программой по выбору этих мнемоник (но и за таблицу спасибо =)
О, как я просил, в примерах проще понимать, а то html сам по себе сложен. А так — конкретная таблица и самые используемые символы приведены.
Давайте поскорее уже о раскрутке, можно пошагово или какие-то эксперименты и их результаты описать.
Интересный портал. Регулярно читаю, часто беру на заметки Ваши советы. Дмитрий у меня вопрос, возможно не по теме. Я тут вот прочел Методы управления поведения роботом от яндекса _http://help.yandex.ru/webmaster/?id=1111858 в которой говорится о таком мета теге как
Scorpio: действительно, Яндекс, с опозданием всего на пару лет относительно Google и других мировых лидеров поиска стал учитывать тег rel=»canonical». Я уже когда-то писал о нем и о способах его правильной настройки для WordPress — Новый тег CANONICAL, предназначенный для удаления дубликатов страниц из индекса поисковиков.
Спасибо за примеры и классную табличку. Всё это возьму на вооружение.
Хорошая статья. Кстати по адресу http://sitemaker.x10.bz/cheat_sheets.php можно найти удобную и очень полную таблицу по мнемоникам.
Дмитрий, спасибо. Сколько раз читал, столько раз брал на заметку темы, освещённые вами. Да и эта интересная тема. А главное, далеко не все знают. И если в разговоре мелькает какой из тегов такого плана, часто приходится отдельно объяснять, почему так, а не иначе.
Огромное спасибо Дмитрию за такую замечательную тему.
Спасибо. Наконец исправил ошибку валидатора 😉
Дмитрий, а если нужное растояние между словами в 20 — 30 пробелов что лупашить это столько раз. Вот например хочу бегущую строку разделить на пару фраз отдаленных друг от дружки. Вот чего налепил.
Извините код не дало
В тэге налепил по паре штук   между фразами
Блок слева «Это не реклама, а похожие статьи с этого же сайта (ссылки открываются в новом окне):», мне кажется рекламой именно потому, что я не успел дочитать статью, отвлекся и забыл о чем думал, когда появилось оно(((((
Желательно и я думаю меня поддержат, чтобы это окно открывалось только в присутствии конца статьи, т.е я «дочитал», а тут оно.
Отичная статья, правда я не нашел то что искал, буду искать дальше.
Как убрать в вордпрессе разбивку слова при переносе оставшейся части на следующую строку?
ПОдскажите, как мне быть. У меня есть код:
$tm->textarea (‘textshort’, 5, 70, », 1, », », 1);
, который выводит текстовое поле с прописанным уже html-кодом «», но, он выводится в одну строку:
, а мне хотелось бы что бы вывод был вот таким:
Дмитрий, спасибо за обзор, познавательно. У меня вопрос
в заметке на вордпресс понадобилось использовать js-скриптик, где присутствует знак && (двойной амперсанд), и вот не получается его скормить вордпрессу ни как & ни как & ни как & говорит, мол Uncaught SyntaxError: Unexpected token &
Форум
Discord чат
Разбираем понятие «мнемоники» на практике.
Доброго времени суток, уважаемая аудитория сайта javascript.ru.
С мнемониками опытный js программист и/или html верстальщик, сталкивается очень часто на базовом уровне, но иногда требуется более глубокое взаимодействие с ними. Для начала начну с определения.
Цитата с Wikipedia:
Символ-мнемоника — это конструкция SGML, которая ссылается на символ из набора символов документа. В HTML предопределено большое количество спецсимволов. Чтобы вставить определенный символ в разметку, нужно вставить определенную ссылку-мнемонику в HTML структуру.
Обычно разработчики используют лишь следующие мнемоники: > +5
А для чего так писать?
Почему не создать сразу массив?
Таким образом я уменьшил размер конечной функции.
При создании функции, руководствовался в основном конечным размером и скоростью выполнения.
В 2 с лишним раза меньше по размеру, чем следующий:
И на треть меньше этого:
В пределах же всей таблицы, выгода может быть раза в 3-4.
Значений множество, поэтому дополнительные запятые и кавычки добавляют весьма внушительный размер.
Функция split работает очень быстро и на скорости исполнения практически не сказывается. Таблица создаётся только при инициализации сценария и в дальнейшем не пересчитывается, поэтому потери времени минимальны и составляют единицы миллисекунд (В моих тестах 0 миллисекунд).
Буду рад услышать мотивированные соображения по этому поводу или отчёты по тестам.
Теперь все понятно. Интересный способ, возьму на вооружение.
Нельзя так писать; это трюкачество. Код должен быть ясным. Если нам нужен массив, следует писать массив. Об оптимизации должен заботиться компилятор, а если язык не компилируемый — значит упс, следует уповать на рост вычислительных мощностей, но не коверкать применяемый язык противоестественным образом.
Размер функции — абсолютно бесполезная цель. Паковать код и отдавать его в deflate никто не запрещал. Преждевременная оптимизация, к тому же такого бесполезного параметра — зло. Способ объявления массива более-менее нормальный, но в том виде, в котором он представлен (с циклами, покрывающими массив частично) — не очень удобный.
Пишете абсурдные вещи. Может такими они не являются, просто вас сложно понять, ведь не одно предложение в тексте не аргументировано. Может быть поэтому возникает стойкое ощущение, что подобные высказывания лишены смысла. ixth, если не составит труда, объясните пожалуйста, что вы хотели сказать, кроме того, что вам лично не понравился способ объявления и дополнения таблицы? В чем конкретно минусы?
Ради бога, отдайте миницифакцию минификаторам!
А почему нужно обязательно отдать минификацию минификаторам?
И с каких пор минификаторы умеют приводить объекты к подобному виду? Минифицированная таблица-оригинал имеет размер 8.2 КБ, оптимизированная таблица + 2 функции, обработанные минификатором YUI 2.4 КБ, а это в 3 с половиной раза меньше. Разве не заметен плюс?
Вы путаете процессы. Работу у минификатора я не отнимал, а вас попрежнему прошу написать, только объективно, в чём минус? Что работает не так? Чем плох метод? Напишите хотя бы одно пояснение.
А я говорил, что код работает не так? Код хорош и полезен, я просто не пойму зачем нужно уменьшать размер кода в ущерб читаемости. Я уверен, что ужав код в три раза, вы не добьетесь прироста производительности. А учитывая тот факт, что оба варианта — и Ваш и простой, описанный в виде хэша, в подавляющем большинстве случаев перед отправкой будут сжаты gzip’ом, разность в длине будет несущественной: один-два байта. Оно того стоит? Split возможно хорош в каких-то случаях, но как только я увидел бы в коде for-цикл, я бы от него отказался.
Еще раз задам основной вопрос: чем так хорош короткий код?
Окей, я согласен: разность действительно составила порядка 20%, это существенно, но я уверен, что на большем файле с большим словарем она нивелируется. В любом случае, считаю, что те 400 байт в данном случае не сделают особой разницы.
Вы как-то исключительно фанатично относитесь к размерам. Я согласен, что оптимизация — это хорошо, я сам некоторое время назад баловался запихиванием всего в png-спрайты и пожатием получившегося оптимайзерами, но все-таки эти самые 400 байтов не стоят того. У Вас частный случай strtr, а вы из него столько шуму сделали split’ом. Вас действительно так беспокоят люди, сидящие на исключительно узком канале или размер для Вас — спортивная самоцель? Если так, то я ничего не имею против. Вы, кстати, слышали про js1k?
Исключительно интересная статья про победителя соревнования: http://marijnhaverbeke.nl/js1k.html
А как код быстро работает. Мастер своего дела. Но только пользы нет от этих «игрушек»
Грамотное применение спецсимволов
Охота за спецсимволами
Тебе, конечно, встречались на различных сайтах надписи на подобие таких: «© 2009–2010 Мегаверстальщег Inc.™». Такие значки не найдешь на клавиатуре. Как же они это делают? Давай посмотрим вместе.
Откроем, например, google:
Хороший урожай! С первого взгляда видно три спецсимвола: копирайт, апостроф и стрелка. В коде эти фрагменты выглядят так:
Например, на w3.org также сразу находим спецсимволы:
А это уже официальный сайт Microsoft:
Практически везде, где встречаются различные значки, используется специальная кодировка. Таким образом, если тебе нужно использовать спецсимвол — необходимо знать его код.
Немного теории
Чтобы вставить в текст определенный спецсимвол, нужно указать соответствующий ему числовой код, который состоит из знака амперсанда ( & ), решетки (#), номера кода и точки с запятой. Так, как запомнить кучу разных цифр обычному человеку нереально, была придумана вторая форма записи — мнемонический код. Он состоит амперсанда ( & ), буквенного сокращения и точки с запятой. Реально проще запомнить, что амперсанд — это amp, a альфа — alpha, чем что их коды 38 и 945.
Их много и они разные…
Понятие семантического кода включает использование конструкций языка по прямому назначению. То есть хочешь поместить на страничку спецсимвол — пиши код! Как минимум, это позволит застраховаться от неправильного отображения символов различными браузерами.
Мы не поленились собрать в специальном разделе наиболее употребительные (а главное — правильно понимаемые популярными браузерами) спецсимволы. Пользуйтесь на здоровье:
С помощью спецсимволов можно решать, например, такие задачи верстки, как вставка стрелок в страничную навигацию.
Старые знакомые
Может ты удивишься, но некоторые символы, которые есть на клавиатуре тоже нужно заменять кодами! В первую очередь это относится к служебным символам, необдуманное употребление которых может стать фатальным для верстки. Например, символы — мнемоники & lt; и & gt; соответственно. Браузер привык, что так определяются теги, не стоит вводить его в заблуждение (если тебе, конечно, не безразлично, что пользователь увидит на экране). Также собственно знак & требует замены мнемоникой & amp; — ведь это служебный символ. Если использовать эти три спецсимвола в прямом виде, не заменяя кодами, страничка не пройдет валидацию!
Отсюда правило: как одинарные, так и двойные кавычки всегда заменяй спецсимволами!
Многие спецсимволы похожи между собой. Правильный выбор в такой ситуации — это просто хороший тон. Например, известный российский дизайнер Артемий Лебедев пишет, что:
Не менее щепетильно Лебедев рекомендует относиться и к кавычкам в тексте:
В русском языке используются парные кавычки & laquo; («) и & raquo; (»), а также & bdquo; („) и & ldquo; (“).
В английском языке используются парные кавычки & ldquo; (“) и & rdquo; (”), а также & lsquo; (‘) и & rsquo; (’).
Так же не забывай, что троеточие — это один символ! Его мнемонический код & hellip;
Символ неразрывного пробела & nbsp; применяется в тех случаях, когда нужно принудительно удержать элементы на одной строке (например, инициалы и фамилию или предлог и слово). Некоторые не очень грамотные верстальщики иногда используют эти символы для организации отступов. Так поступать неправильно. Для отступов существует специальное css свойство margin.
Регистрозависимость мнемоник
Регистрозависимость — это не заболевание, а ситуация, когда значение мнемонического кода различается регистром букв. Например, & Alpha; — это большая буква Α, a & alpha; — маленькая α.
Про это важно помнить, ведь, например, если ошибочно написать в коде & Empty; (правильно пишется & empty;) для символа «пустое множество» браузер вместо значка ∅ просто напишет слово & Empty;! Такие ляпы могут серьезно подпортить репутацию.
Подытожим
Спецсимволы (символьные мнемоники, ссылки на символы) — это различные символы, математические операторы, знаки пунктуации, стрелки, разного рода значки, которые на HTML странице задаются с помощью специальных кодов. Все это было придумано, чтобы обеспечить максимальную кроссбраузерность при отображении документа. Знание правил грамотного применения этих символов выгодно отличает толкового верстальщика от зеленого новичка.
Итак, когда я встечаю при верстке:
В качестве post scriptum
В данной статье среди прочих буковок уютно расположились 134 спецсимвола.