Абзацы в html и атрибут выравнивания. Для сохранения сообщения на диске необходимо Значение атрибута align задает выравнивание вправо

Описание

Выравнивание содержимого контейнера

по краю.

Синтаксис

...

Значения

center Выравнивание текста по центру. Текст помещается по центру горизонтали окна браузера или контейнера, где расположен текстовый блок. Строки текста словно нанизываются на невидимую ось, которая проходит по центру веб-страницы. Подобный способ выравнивания активно используется в заголовках и различных подписях, вроде подрисуночных, он придает официальный и солидный вид оформлению текста. Во всех других случаях выравнивание по центру применяется редко по той причине, что читать большой объем такого текста неудобно. left Выравнивание текста по левому краю. В этом случае строки текста выравнивается по левому краю, а правый край располагается «лесенкой». Такой способ выравнивания является наиболее популярным на сайтах, поскольку позволяет пользователю легко отыскивать взглядом новую строку и комфортно читать большой текст. right Выравнивание текста по правому краю. Этот способ выравнивания выступает в роли антагониста предыдущему типу. А именно, строки текста равняются по правому краю, а левый остается «рваным». Из-за того, что левый край не выровнен, а именно с него начинается чтение новых строк, такой текст читать труднее, чем, если бы он был выровнен по левому краю. Поэтому выравнивание по правому краю применяется обычно для коротких заголовков объемом не более трех строк. Мы не рассматриваем специфичные сайты, где текст приходится читать справа налево, там возможно подобный способ выравнивания и пригодится. Но где вы у нас в стране видели такие сайты. justify Выравнивание по ширине, что означает одновременное выравнивание по левому и правому краю. Чтобы произвести это действие браузер в этом случае добавляет пробелы между словами.

Значение по умолчанию

HTML 4.01 IE Cr Op Sa Fx

Тег DIV, атрибут align

Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat.

Результат данного примера показан на рис. 1.

Рис. 1. Выравнивание элементов с помощью атрибута align

Извиняюсь, за долгое отсутствие статеек, то праздники, то работа...

В общем сегодня я быстренько распишу подробнее свой . А именно как заменить атрибуты align и valign у html, средствами css.

Введение

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

Для блочных элементов атрибут align - аналогичен стилю text-align, для строчных - атрибуту float. Атрибут valign (который можно писать как align, при отсутствии оного), заменяет свойство vertical-align, только с немного другими значениями, смотрите ниже таблицу соответствий.

Горизонтальное выравнивание

Раньше, например для того чтобы центрировать какой-то элемент, использовани элемент

, потом такой простой и понятный элемент запретили, в пользу
, потом запретили и атрибут align, в пользу css свойств text-align, float и margin.

Важно помнить :
text-align - в правильных браузерах не влияет на дочерние блоковые элементы!
Т.е

и
не одно и тоже. Свойство text-align не окажет влияния на дочернюю таблицу или div, тогда как align="right" - расположит все дочерние элементы справа, даже блочные.

Таблица перевода атрибутов в CSS:

Вертикальное выравнивание

Когда vertical-align задан ячейке таблицы - это задаёт расположение базовой линии текста относительно ячейки.

И - одно и то же.

Аналогично с inline элементами. Поиск в гугле показал что:

означает

Правильно кстати писать не valign, а align, однако любимый эксплорер в каких-то версиях понимает для align только центровку по горизонтали. Возможно это сделано для того чтобы была возможность задавать отдельно align (css text-align) и отдельно valign (css vertical-align)

Интересно знать такую таблицу соответствий, например применительно к (указываю атрибут align, но подразумеваю valign):

P.S. Не забывайте, что элемент

Является блочным, т.е. для форматирования текста в нём достаточно применять style text-align .

Атрибут align

Атрибут align , тега

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

Значения

  • center - Содержимое выравнивается по центру блока
    .
  • justify - Выравнивание сразу по левой и правой сторонам. В этом случае каждая строка блока равномерно распределяется по ширине, в случае необходимости между элементами или словами добавляются пробелы.
  • left - Содержимое прижимается к левой стороне блока.
  • right - Прижимается к правой стороне.

Значение по умолчанию: left.

Синтаксис

...

Обязательный атрибут: нет.

Пример HTML: применение атрибута align

seodon.ru - Применение тега DIV

По центруПо центру
СправаСправа

Текст абзаца.

Результат. в браузере Google Chrome.

В браузере Internet Explorer.

Поддержка версиями HTML

Браузеры по разному понимают атрибут align . Google Chrome и Mozilla Firefox выравнивают только сами элементы, содержащиеся в контейнере

. А вот Internet Explorer и Opera выравнивают еще и содержимое этих элементов.

Как известно, Хабр использует «олдскульные» атрибуты тегов, допускающие форматирование текста и рисунков в статьях и комментариях авторами. Среди таких тегов оказался один, отсутствующий в стандартах W3C. Это - . Обнаружилось, что часть авторов «наивно» пользуется этим атрибутом, потому что другого редактор Хабра просто не предоставляет. Как ни странно, в части браузеров этот атрибут на Хабре поддерживается, хотя эксперименты с чистыми тестовыми страницами показывают, что чудес нет, в img он не работает.

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

На самом деле, атрибут align=«center» в HTML предназначен для блочных элементов (div, p, ...) и относится не к ним самим, а к внутреннему содержанию элемента. Поэтому, если напишем

то центрирование работать будет (это показано ниже на тестовой странице рисунками с alt="рис.-под-тест ").

Но этого нельзя написать на Хабре, таковы правила парсера тегов.

Чтобы проверить, как это работает на Хабре, можно воспользоваться предпросмотром при написании комментария или в черновике статьи. Это не совсем точно будет совпадать с окончательным видом, но пользоваться для тестов можно.


Вот что увидим:


В большинстве браузеров, кроме Firefox, вторая картинка центрируется (если стили Хабра ещё не исправили), хотя тесты показывают , что этот атрибут браузерами не поддерживается (кроме редких исключений с доктайпами).
Почему же этот неправильный текст не работает везде, но работает на Хабре, причём не в Firefox?

UPD 25 янв. 2013 (через год):

Посмотрев на стили рисунка, находим причину.
img { display: block; margin: 0 auto !important; }
Да, на Хабре в файле all.css поддерживается этот финт превращения неправильного атрибута в «правильный». Именно эти свойства нужно иметь рисунку, чтобы начать центрироваться - быть блоком и центрироваться стилем margin: 0 auto; .

(А ведь те, кто знает, что такого атрибута нет, не могут сами догадаться, что он работает на Хабре - документации нет, тест в Fx не проходит. Я, например, чисто случайно узнал о его существовании, увидев в заметках aleksandrIt (почти в каждой аннотации), посмотрев через Chrome.)

Осталось разобраться, почему центрирование не работает в Firefox.

Дело за малым - тоже посмотреть стили (с помощью Firebug). Здесь обнаруживаем, что атрибут чудесным образом изменился на align=«middle» и даже ручное переименование не помогает его исправить. Браузер сам меняет неправильный атрибут на, «по его мнению», наиболее подходящий (вертикальное выравнивание в потоке строчных элементов). Поэтому правило стилей img перестаёт работать.

Следовательно, для полной поддержки браузеров на Хабре не хватает правила:
img, img{ display: block; margin: 0 auto !important; }

Тест чистой страницы с атрибутами

Чтобы посмотреть тестовую страницу проверки работы атрибута img align=«center» в разных браузерах, посетите ссылку spmbt.kodingen.com/habrahabr/testImgAlignCenter.htm . В Firefox будет выглядеть примерно так, в других браузерах несколько иначе. Картинки и блоки подкрашены, чтобы лучше различались. Реальных картинок нет, чтобы наблюдать подписи в ALT.


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

Технические замечания. Ососбенный вид функции применения стилей addRules() вызвано желанием включить в исполнение скрипт в браузере IE8. (В IE9 не проверялось, но должно работать, как в остальных.) Без доктайпа в IE8 не будет работать правило margin: 0 auto, но заработают атрибуты align:right и left.

Что делать?

Такое правило специально для правки ошибки было прописано в стилях Habr ZenComment и независимо от них, в скрипте HabrAjax (Хабр-аджакс), после чего центрирование атрибутом align=«center» стало работать правильно во всех браузерах.

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

UPD 25 янв. 2013 (через год): обнаружилось, что стили Хабра перестали поддерживать этот неправильный атрибут. Для его задействования на сайте пришлось дописать юзерстили так же, как раньше это было сделано для Firefox.

Как я и обещал ранее, в этом уроке вы узнаете как можно выровнять по горизонтали содержимое любого HTML-тега на странице не используя устаревший атрибут align . Как вы возможно уже догадались, мы опять будем использовать стили (CSS), а точнее наш любимый атрибут style .

Итак, чтобы выровнять содержимое HTML-элемента, необходимо атрибуту style присвоить одно из следующих значений:

  • text-align:center - Выравнивание каждой строки по центру элемента, например параграфа.
  • text-align:left - Каждая строка вплотную прижимается к левой стороне элемента (это значение по умолчанию).
  • text-align:right - Каждая строка прижимается к правой стороне.
  • text-align:justify - Выравнивание сразу по левой и правой сторонам элемента. Объясню. Обычно у элемента, например параграфа, одна сторона текста всегда ровная, а другая - «рваная», так как длины строк получаются немного разными. А когда мы используем значение text-align:justify , то каждая строка равномерно распределяется по ширине. В случае необходимости между словами браузер добавляет дополнительные пробелы, а первое и последнее слово строки всегда прижаты к соответствующим сторонам, поэтому получается ровный с обеих сторон блок.

Пример выравнивания содержимого тегов

Выравнивание содержимого тегов

Заголовок по центру.

Параграф по центру.

Результат в браузере

Заголовок по центру.

Текст параграфа прижимается вправо.

Параграф по центру.

Вообще, горизонтальное выравнивание применяется только к блочным тегам и ячейкам таблицы (о них поговорим позже). Хотя, с другой стороны, даже если вы попытаетесь, то не сможете применить его к встроенным (inline). Почему? А помните мы недавно выяснили, что ширина встроенного элемента равна его содержимому? Соответственно получается, что этому самому содержимому просто некуда будет выравниваться и браузер элементарно проигнорирует ваши «художества». :)

Домашнее задание.

  1. Создайте заголовок статьи, двух ее разделов и одного подраздела в первом разделе. И пусть заголовок статьи располагается по центру страницы.
  2. Установите для всей страницы шрифт Arial, а для всех заголовков - Times и пусть они будут написаны курсивом.
  3. Цвет текста заголовка статьи поставьте #FF6600, разделов #6600FF, а подраздела оставьте неизменным.
  4. Напишите под каждым заголовком по одному параграфу, причем текст каждого из них должен занимать не меньше трех строк при просмотре в браузере.
  5. Выровняйте второй параграф по центру, третий - по правой стороне, а четвертый по обоим.