Форматирование текста HTML CSS

Форматирование текста HTML CSS

05.05.2019

Раньше я думал, что иметь индивидуальный стиль кодирования это хорошо для программиста. Это показывает, что вы опытный разработчик, который знает, как должен выглядеть хороший код.

В колледже мои преподаватели говорили, что они понимают, когда мои однокурсники используют мой код в своих работах из-за особого стиля кодирования. Сейчас я думаю, что они понимали это потому, что мой код был по крайней мере хоть как-то отформатирован, в то время как у других была полная неразбериха.

С тех пор я потратил много времени, рассуждая о стиле кодирования и выбирая инструменты для его осуществления. Настало время что-то менять.

Несколько примеров

После прочтения “The Programmers’ Stone ”, я еще долгое время ставил скобки таким образом:

If (food === "pizza") { alert("Pizza ;-)"); } else { alert("Not pizza ;-("); }
Но потом я понял, что я, наверное, единственный, среди пользователей, кто так делает. Все остальные придерживаются этого стиля:

If (food === "pizza") { alert("Pizza ;-)"); } else { alert("Not pizza ;-("); }
Или этого

If (food === "pizza") { alert("Pizza ;-)"); } else { alert("Not pizza ;-("); }
Так что я поменял свой стиль на вышеупомянутый.

Мне очень нравится использовать этот стиль для создания цепочек:

Const food = [ "pizza", "burger", "pasta", ]
Но, наверное, в использовании этого стиля я даже более одинок, нежели в случае со скобками.

Никто никогда не пришлет мне на проверку код с использованием этого стиля, никакой инструмент контроля качества кода не заставит их это сделать. Так что мне пришлось прекратить использовать его, чтобы быть ближе к реальному миру.

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

Const volume = 200; // ml
Я думал, это улучшает читабельность кода. Но, на самом деле, это делает кодовую базу несогласованной, потому что остальные разработчики ставят только один пробел.

Что делают разработчики JavaScript

К сожалению, у JavaScript нет официального стиля кодирования. Есть несколько популярных стилей написания кода , таких как Airbnb или Standard . Вы можете использовать их для того, чтобы ваш код выглядел знакомым для других разработчиков.

Кажется, что у JavaScript наконец-то имеется решение этой проблемы. Новый инструмент под названием Prettier переформатирует ваш код в соответствии со своими правилами. Он совершенно не учитывает изначальный вид кода.

Давайте опробуем работу Prettier на моих примерах:

If (food === "pizza") { alert("Pizza ;-)"); } else { alert("Not pizza ;-("); } function foo(items) { return items.filter(item => item.checked).map(item => item.value); } const volume = 200; // ml
Вы можете оспорить этот стиль. Мне, например, не нравится размещение else , сомнения вызывает также написание функциональной цепи в одну строку. Однако я вижу огромные преимущества во внедрении Prettier’а:

  • нечего даже обсуждать - у Prettier’а несколько опций;
  • никаких споров о конкретных правилах, если вы работаете в команде;
  • вашим напарникам не нужно изучать стиль кодирования вашего проекта;
  • нет нужды исправлять стилевые ошибки, о которых сообщает ESLint;
  • есть возможность установить сохранение автоформата.

Заключение

Prettier уже используется некоторыми популярными проектами , такими как React или Babel. И я начинаю переделывать свои проекты , отходя от своего привычного стиля кодирования, в пользу Prettier’a. Я бы порекомендовал использовать его вместо стиля кодирования Airbnb.

В начале моей работы с Prettier’ом было много моментов, когда я думал “фу, это ужасно”. Но когда я думаю, что мне нужно было бы, например, вручную форматировать код JSX из однострочного вида в многострочный, если я добавляю еще один prop и это не умещается в одну строку - тогда я понимаю, что оно абсолютно точно стоит того.

Prettier форматирует ваш код, когда вы сохраняете файл.

Прочитайте, как внедрить Prettier в свой проект.

P.S. Посмотрите на мое новое средство , которое упростит добавление ESLint, Prettier и других инструментов в ваш проект, а также хранение и синхронизацию их настроек.

Перевод выполнен при поддержке компании EDISON Software , которая профессионально занимается разработкой сайтов на Amiro.CMS и WordPress и для крупных заказчиков.

У любого текста есть структура, состоящая из отдельных элементов. К ним относятся заголовки, абзацы, списки и тому подобные вещи. Каждый элемент должен быть на своем месте.

HTML -документ не является исключением. Здесь точно также нужно правильно расположить каждый элемент. Текст, прежде всего, следует разбить на абзацы. Он не должен выглядеть как сплошное полотно.

Чтобы это сделать, надо научиться пользоваться тегами. Тег – элемент документа, который указывают браузеру, как следует показывать страницу. Все, что внутри тега называется содержимым этого тега. Новый абзац в HTML документе следует делать с помощью тега

Также нужен закрывающий тег в конце абзаца

.

Чтобы форматирование текста было интереснее, ему можно придать дополнительные свойства с помощью CSS . Причем, свойства можно задать как всему документу в целом, так и отдельным тегам. Так, тегу

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

Свойство font-family подскажет браузеру, какой будет использоваться шрифт, а text-indent укажет на размер отступа. Причем, значение может указываться как в пикселях, так и в процентах или в прочих единицах измерения.

Есть и другие интересные свойства. Например, text-align задает выравнивание текста, который по умолчанию выстраивается по левому краю, но верстальщик может изменить это состояние.

Допустимо использовать одно из четырех значений:

Left – Текст выравнивается по левому краю. Справа текст получается неровным.

Right – Текст выравнивается по правому краю, а неровным становится левый.

Center – Текст выравнивается по центру. Оба края остаются неровными. Как правило, свойство используется для заголовков.

Justify – Выравнивание текста происходит по ширине. Оба края остаются ровными за счет меняющегося пространства между словами.

Но и это еще не все! Здесь, также можно изменить расстояние между словами с помощью свойства word-spacing и интервал между строк с помощью letter-spacing .


Чтобы форматирование текста осуществлялось должным образом, в HTML предусмотрена целая группа тэгов:

и . Тег верхнего индекса.

и . Тег нижнего индекса.

И 
. Текст отображается на экране точно также как пишется. (Пользоваться этим тегом следует для отображения программного кода, в остальных случаях считается «дурным тоном».)

и . Наклонный текст.

и . Полужирный текст.

и . Содержимое контейнера будет отображаться кодовым текстом.

и . Моноширинный текст.

Аббревиатура.

И
. Тег принудительного перевода текста на новую строку. Если тег не указывается, браузер автоматически определяет необходимость новой строки, руководствуясь размером экрана и размером используемого шрифта.

. Содержимое данного контейнера не отображается на экране пользовательского компьютера и нужно для того, чтобы оставить комментарий самому себе или другому верстальщику, который возьмет проект на себя.

Для форматирования текста в документах HTML присутствуют и другие теги. Например, тег

и закрывающий тег

указывают браузеру на заголовок. Причем, поскольку заголовков в теле документа может быть несколько, также присутствуют и дополнительные теги

, . При этом, тег

в документе может быть, только один. Это самый главный заголовок.

Попробуйте самостоятельно написать текст и выполнить форматирования текста в файле блокнота с расширением *.txt перепишите его на *.html и сохраните. Если все получилось, переходите к более сложным задачам. При возникновении трудностей лучше повторить попытку до тех пор, пока не получится выполнить все правильно.

Для их выполнения также придется познакомиться с новыми тегами.

Основная задача форматирования - это сделать текст читабельными и понятным по своей структуре. Существуют даже целые руководства по оформлению кодов, где рассписаны такие мелочи, вроде количества пробелов или отступы от фигурных скобок. На самом же деле, всё гораздо проще - вполне достаточно чтобы код был визуально читабельным, а пробелы или табуляторы - это дело двадцать шестое.

Однако, я хочу это особо отметить, если предполагается размещать код для других людей, то придется придерживаться некоторого «базового стандарта».

Отступы блоков

Каждый вложенный блок должен иметь больший отступ слева, чем родитель.

То есть мы строим визуальную иерархию тэгов, в которой легко ориентироваться. Сравните с «плоским стилем»:

Современные текстовые редакторы, например Notepad++ автоматически делают такой отступ по Enter"у, что полностью снимает проблему с их ручной расстановкой. Обычно кодеры вначале создают открывающий и закрывающий тэг, а уже после его разбивают по строкам Enter"ом. Это гарантирует, что у открывающего тэга всегда будет закрывающий.

«Смыкающиеся» блоки

В коде может встречаться ситуация, когда блоки всегда непосредственно следуют один за другим. В этом случае можно не разбивать их между собой и не делать дополнительный отступ.

В данном примере div.layout-center-wrap всегда содержит непосредственного потомка div.layout-wrap без разрыва. Такие блоки можно визуально рассматривать как один. Вот еще один пример, где блоки можно разместить на одном уровне.

Титул

Главное здесь - не переусердствовать: больше 2-3 блоков на одной строке/уровне размещать не стоит. Если же между блоками размещается текст или код, то их точно следует размещать на разных строках.

Текст

Такое форматирование не годится. Правильно будет так:

Текст

Пробел или табулятор

Без разницы. Используйте то, что больше нравится. Насколько я знаю, то почти все кодеры используют табулятор, просто по тому, что это всего один раз нажать клавишу Tab.

Если же делать пробелами, то для каждого отступа нужно нажать 4 пробела. Частая проблема в том, что по ошибке можно нажать не 4, а 3, 5 или еще сколько-нибудь, и при этом нужно либо считать нажатия клавиш, либо визуально контролировать результат.

В этом плане, табулятор гораздо «надежнее». С технической же точки зрения, что табулятор, что пробелы без разницы (html-код всё равно будет сжат).

Использование нескольких пробелов - это иммитация табулятора. Так что этот вопрос лежит в плоскости удобства использования. Но, если вы решили использовать пробелы, то на каждый отступ должно быть 4 символа, иначе текст теряет читабельность. Встречаются руководства, где рекомендуется ставить 2 пробела, но по мне такой код визуально «неряшливо куцый».

Верхний и нижний регистр

Если речь идёт о HTML, то все тэги должны быть в нижнем регистре. Технически, опять же, это не имеет значения, но заглавные буквы плохо читаются. Поэтому все тэги и их атрибуты пишутся строго в нижнем регистре.

Если же речь идёт о языках программирования, то как правило они регистрозависимы, поэтому верхний регистр используется только там, где это необходимо.

Одинарные и двойные кавычки

Почти всегда используются двойные кавычки. Когда происходит внедрение JS-кода в HTML-страницу, может возникнуть ситуация, когда кавычек требуется два вида:

В данном примере html-атрибут обрамлён двойными кавычками, а внутри js-кода уже используются одинарные. Использовать только один вид - невозможно.

Поэтому правило по кавычкам в HTML и CSS простое: основные кавычки - двойные, а если их не хватает, то используем одинарные.

Необязательные закрывающие теги

Тут просто - всегда ставим. Это касается тэгов P, LI и других.

Слэш в конце одиночных тэгов

Никогда не ставим. Это пережиток старого стандарта XHTML. Так неверно:

Так верно:

Порядок атрибутов в тэгах

Класс (class) всегда указывается первым. Собственно при разборе верстки всегда смотрится тэг и его классы, а уже после остальные атрибуты.

Те атрибуты, которые могут быть одиночными (вроде required) лучше указывать последними:

Пустые классы/атрибуты нужно удалять.

Форматирование CSS-кода

Класс размещается в отдельной строке и открывает блок свойств ({). После двоеточия свойства делается пробел. Каждое свойство размещается на одной строке и всегда завешается точкой с запятой (;).

T-label { color: white; background: blue; font-size: .75rem; padding: 1px 10px; border-radius: 3px; }

Если указываются сразу несколько классов, то их размещают на отдельных строках:

Article, aside, footer, header, nav, section { display: block; }

Если класс короткий и состоит из одного свойства, то его можно разместить на одной строке:

W100-max { max-width: 100%; } .w-hide { display: none; } .w-auto { width: auto; }

У нулей единицы измерения не пишутся (там где это не имеет значения), вместо 0px следует указывать просто 0 .

У дробных чисел с нулем, вместо 0.8em лучше указать.8em . Однако это условие не обязательное и можно использовать любой вариант, главное, чтобы было единообразие хотя бы на уровне одного css-файла.

Если свойство поддерживает сокращённую запись, то ей можно воспользоваться, например вместо margin: 0 20px 0 20px; можно указать margin: 0 20px;

Если значение цвета можно сократить, то это можно сделать, например вместо #FFAA88 указать #FA8 . Здесь важный момент в том, что часто такой цвет не набирается вручную, а копируется из программ «пипеток». Обычно у них используется полная запись из 6 цифр. Кроме того, некоторые программы отдают строчные буквы, а другие прописные: #FFAA88 или #ffaa88 . Поэтому для задания цвета подходит любой вариант. Каждый раз вручную менять регистр букв - глупость.

Буквенные имена цветов следует использовать с осторожностью и лучше только на этапе прототипирования. В результирующем коде их лучше заменить на шестнадцатеричные значения, например вместо color: red; нужно указать color: #F00; . Такой подход позволит изменить цвет прямо в редакторе кода, вроде Notepad++ (он реагирует на символ #).

Порядок следования css-свойств может быть любым. Можно в порядке добавления, можно сгруппировать по функциональному назначению. Технически же порядок может быть любым, поэтому никаких правил здесь нет.

Следует понимать, что форматирование CSS-кода - это чистой воды условность. В реальности такой код будет сжат и минифицирован Sass-компилятором. Если потребуется его отформатировать для просмотра, то никто в здравом уме вручную это делать не будет: есть десятки онлайн-сервисов по красивому форматированию кода с любыми настройками. Поэтому CSS-форматирование требуется только на этапе разработки.

С помощью тэгов форматирования вы можете выделять семантически важный текст на страницах, создавать тексты "рукописного начертания", вставлять в HTML документы символы с верхним и нижним индексом, а также увеличивать и уменьшать размер шрифта.

Что такое семантика?

Семантика в HTML является практикой предоставления смысла и структуры содержимого документа с помощью соответствующего тега. Семантический код описывает значение содержимого документа, независимо от его стиля или внешнего вида. Есть несколько преимуществ от применения семантических элементов:

  1. семантический код напрямую влияет на объем HTML кода. Чем меньше кода тем "легче" документ, а значит веб-страницы быстрей грузятся и меньше требуется оперативной памяти на стороне пользователя. Сайт становиться быстрей и менее затратным .
  2. компьютеры, экранные ридеры для которых важны теги и их атрибуты, адекватно читают и понимают содержимое веб-страницы.
  3. семантический код при прочих равных условиях, будет выдаваться выше в результатах выдачи поисковых систем, чем страница с несемантическим кодом.

Жирный текст

Чтобы сделать текст жирным и привлечь к нему внимание мы будем использовать строчный элемент . Есть два тега, с помощью которых можно выделить текст жирным шрифтом: теги и . Важно понимать семантическую разницу между ними.

Тег семантически используется, чтобы придать более важное значение тексту и таким образом является наиболее популярным вариантом для жирного текста. Тег , с другой стороны, семантически означает стилистическое выделение текста, который не всегда является лучшим выбором для текста заслуживающего внимания. Вы должны оценить значимость текста для которого хотите установить жирность и выбрать соответствующий тег. Несмотря на то, что браузеры отображают их совершенно одинаково, поисковые системы могут придавать им различное значение при анализе страницы.

HTML-код с тегами и :

Внимание: крутой спуск.

Это рецепты оливье и винегрета.

Пример: важный и жирный текст

  • Попробуй сам »

Внимание: крутой спуск. Это рецепты оливье и винегрета .

Внимание: крутой спуск.

Это рецепты оливье и винегрета.

Курсивный текст

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

Тег применяется чтобы сделать акцент на фрагменте текста — это наиболее популярный вариант для курсива. Другой вариант — это использование тега , который применяется просто для создания курсивного текста.

HTML-код с тегами и :

Я люблю Родину!

Имя Виктория означает победа.

Теги и

Тег уменьшает размер шрифта на единицу по сравнению с обычным текстом. В HTML размер шрифта измеряется в условных единицах от 1 до 7, средний размер текста, используемый по умолчанию, принят 3. Таким образом, добавление тега уменьшает текст на одну условную единицу. Тег наоборот увеличивает размер шрифта на единицу по сравнению с обычным текстом.

HTML-код с тегами и :

Это обычный текст.

Это текст с меньшими буквами.

Это текст с большими буквами.

Пример: уменьшенный и увеличенный шрифт

  • Попробуй сам »

Это обычный текст.

Это текст с меньшими буквами.

Это текст с большими буквами.

HTML тег

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

HTML тег

Тег используется для выделения текста, который был удален в новой версии документа. Подобное форматирование позволяет отследить, какие изменения в исправленном тексте документа были сделаны. Браузеры обычно помечают текст в контейнере как перечеркнутый .

HTML тег

Тег предназначен для выделения текста, который был добавлен в новую версию документа. Подобное форматирование позволяет отследить, какой фрагмент содержимого был добавлен во время последнего обновления документа. Браузеры обычно помечают текст в контейнере .

HTML тег

Тег отображает текст в нижнем индексе. Текст при этом располагается ниже базовой линии остальных символов строки и уменьшенного размера.Такой текст на практике может быть использован, например для написания различных формул в нижнем индексе .

HTML тег

Тег отображает текст в верхнем индексе. Текст отображается уменьшенным размером и располагается выше, чем базовая линия остальных символов строки. Такой текст на практике может быть использован, например для написания различных формул или сносок в верхнем индексе .

Перевод строк и горизонтальные линии

Тег
(перевод строк)

Как вы уже видели раньше, тег

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

Является отсутствие отступов после и перед тегом
. Это позволяет располагать смежные строки текста ближе друг к другу. Возможность самостоятельно определить место переноса может пригодиться при записи стихов либо для отделения различных элементов в документе. Добавьте элемент
в любую строку, где хотите оборвать поток текста и вставить разрыв строки.

Тег
(горизонтальная линия)

Горизонтальные линии позволяют разделить длинный формально неограниченный текст на отдельные подразделы. Горизонтальные линии в веб-документе играют такую же роль, как орнаментальные полосы в печатных изданиях. Для вставки горизонтальной линии используется одинарный тег


. Данный блочный одинарный тег позволяет вставить горизонтальную черту, ширина которой равна либо всей ширине контейнера, в который вложен тег, либо ширине окна браузера.

Пример: перевод строк и горизонтальные линии

  • Попробуй сам »

Эти строки отделены друг от друга с помощью абзаца (p):

Это первый абзац.

Это второй абзац.

Это линия:


Эти строки отделены друг от друга с помощью тега br:
Наша Таня громко плачет
Уронила в речку мячик

HTML-код с тегами , , , , :

В тексте есть слово: удача.

Слово беда было удалено из текста.

Слово победа было добавлено в текст.

Формула воды: Н2O.

Скорость ветра: 20м3/сек.

Пример: форматирование текста

  • Попробуй сам »

В тексте есть слово: удача. Слово беда было удалено из текста. Слово было добавлено в текст. Формула воды: Н 2 O. Скорость ветра: 20м 3 /сек.

В тексте есть слово: удача.

Слово беда было удалено из текста.

Слово победа было добавлено в текст.

Формула воды: Н2O.

Скорость ветра: 20м3/сек.

Задачи

Итоговое задание

На этом уроке вы познакомились с элементами, предназначенными для разметки небольших фраз и отдельных слов. Особое внимание было посвящено логической разметке текста с помощью тегов позволяющими указать на важность слова или фразы, а не только визуальному форматированию.

Пришло время повторить изученное и выполнить пять несложных заданий:

Семантически сильное слово

  • Реши сам »

Выделите слово "профессионалом" жирным шрифтом, обозначив тем самым тем самым особую семантическую важность этого слова.

Семантически сильное слово

Ты должен стать профессионалом своего дела

Семантически сильное слово

Ты должен стать профессионалом своего дела

Акцент на слове

  • Реши сам »

Сделайте акцент на слове "полный". При этом визуально это слово должно отображаться курсивом.

Порой наш код не всегда бывает идеален. А так хочется, чтобы он был не только рабочий, но и красиво оформлен и отформатирован. Время - это наш главный враг, оно редко позволяет следить нам за правилами оформления кода. Мы стараемся побыстрее закончить верстку, или описать десяток css-стилей, и делаем это в ущерб читабельности. В этой статье я приведу список сервисов, которые помогут вам отформатировать ваш код так, чтобы на него было приятно смотреть.

Довериться программе или делать все ручками?

Наверняка у вас возникал вопрос: как сделать код читабельным? Может ли программа грамотно расставить все отступы и переносы строк так, чтобы человеческий глаз получал он вида кода лишь эстетическое удовольствие? Конечно, может! Не стоит заблуждаться, что, раз работу за вас делает, по сути, робот, то сделана она будет "грязно". Сервисы, которые будут представлены в статье ниже, не раз спасали меня. Например, в ситуациях, когда необходимо было скопировать тот же html код с другого сайта, а теги при вставке оказывались просто в каком-то хаотическом порядке расставлены по строкам: куча табуляций, не логические переносы строк, абсолютно не видно никакой вложенности! Наверное, многим такое знакомо. И очень хочется, чтобы на своем сайте у вас было по-другому: аккуратно и хорошо читаемо. Ведь, в первую очередь, мы делаем это для себя, для удобства дальнейшей поддержки того или иного кода.

Давайте же отформатируем ваш код

Меньше слов, больше дела. Как показала практика, форматирование кода онлайн происходит достаточно просто. Вам нужно лишь скопировать ваш "грязный" код и вставить его в специальные текстовые поля на одном из указанных сайтов. Затем нажать кнопку, немного подождать и - вуаля! Вы получаете прекрасный, отформатированный и легко читабельный код.

Вот список всех известных мне "пурификаторов" кода для различных языков.



© 2024 beasthackerz.ru - Браузеры. Аудио. Жесткий диск. Программы. Локальная сеть. Windows