Допустим вам нужно выделить какое-нибудь отдельное слово в тексте (предположим другим цветом и фоном), или чтобы картинка и текст, относящийся к ней, были сверху и справа в ячейке таблицы, а основное содержимое страницы, допустим в низу и ближе к левому краю. По поводу первого примера скажу, что можно это сделать тегом
с набором нужных параметров, но он относится к запрещенным тегам (новые браузеры его могут не поддерживать), да и свойства замены фона у него нет.
Для подобных случаев и предусмотрены два специфических тега, которые по сути ничего не делают сами по себе. Но при применении нужных стилей к ним, можно добиться чего угодно. Можно вообще используя только два этих тега и применяя к ним стили, сделать всю страницу сайта.
И так, это теги и .
Какая между ними разница, если используются они для одного и того же?
Элемент div
- это блочный тег, и в нем могут быть любые нам известные теги (списки, картинки, таблицы…).
Элемент span - это строчный тег, и он применим исключительно к тексту (выделить фрагмент текста другим цветом).
Стили, которые применимы к данным тегам – это все нами изученные стили. Ограничений на применение каких-либо стилей нет.
Давайте рассмотрим стили, которые наиболее типичны для данных тегов. Они же применимы ко всем остальным тегам, и используются так же, просто чаще их используют с этими тегами (особенно к ) .
Первое с чего хотелось бы начать это с позиционирования элементов.
Это свойство:
position
— устанавливает или определяет позицию элемента.
absolute
— позиция объекта определяется относительно позиции родительского объекта или относительно объекта body. relative
— Позиция объекта определяется смещением от позиции, в которой он появился по умолчанию.
left/top
— устанавливает или определяет позицию элемента относительно левого/верхнего края.
Значения:
x
– число в процентах или пикселях.
auto
— значение по умолчанию.
Рассмотрим пример:
XHTML
Любое содержимое блока!!!
Данный пример показывает, что наш блок с шириной в 300px сдвинется вниз на 350px и влево на 200px, относительно того места, в котором он появится по умолчанию.
margin
– величина отступа от нашего блока до соседних объектов с четырех сторон.
Значения:
margin-top
— задает величину верхнего отступа объекта
margin-left
— задает величину левого отступа объекта
margin-right
— задает величину правого отступа объекта
margin-bottom
— задает величину нижнего отступа объекта
XHTML
Любое содержимое блока!!!
Мы создали блок с отступами вокруг него по 30px от всех его сторон.
Над чем хотелось бы остановиться еще:
padding
– свойство задает величину пространства, вставляемого между объектом и его границами.
Значения:
padding-bottom
— задает величину пространства, вставляемого между объектом его нижней границей.
padding-left
— задает величину пространства, вставляемого между объектом его левой границей.
padding-right
- задает величину пространства, вставляемого между объектом его правой границей.
padding-top
- задает величину пространства, вставляемого между объектом его верхней границей.
XHTML
Любое содержимое блока!!!
Мы создали блок с отступами по 30px от содержимого до всех его сторон.
И рассмотрим пример с использованием тэга :
Допустим, у нас есть конструкция вида:
Любой текст!
Мы хотим сделать слово текст на желтом фоне синими буквами. Для этого заключим его в тег и применим соответствующие стили.
Элементы из предыдущей главы выводятся последовательно на одной горизонтальной строке. Они ведут себя как обычный текст и просто отображаются рядом друг с другом, даже если они имеют определённые размеры и другие свойства, которые не относятся к тексту. Это не должно удивлять, так как
Для начала давайте разберём, как отображать один элемент под другим по вертикали. Мы в основном должны сказать браузеру: «Эй, мы хотим контейнер, который может стыковаться вертикально». К счастью, это тег контейнера известен как
и это своего рода «перенос» содержания на новую строку (вроде разрыва страницы или разрыва строки в текстовых редакторах).
Чтобы увидеть как работают элементы
используем три из них и установим для них ширину, высоту и фон.
Согласно приведённым выше условиям, HTML будет выглядеть следующим образом.
В CSS мы пишем класс .container
, который связан с тегом
Отлично! Браузер отображает эти «блоки» один под другим, в отличие от нашего предыдущего примера с формой, где элементы выводились в одну строку.
В чём различие? Когда дело доходит до отображения тегов, браузер распознаёт три группы элементов:
inline (строчные);
block (блочные);
inline-block (строчно-блочные).
Строчные элементы не вызывают перевода на новую строку и показывают один элемент рядом с другим по горизонтали. Блочные элементы устанавливаются как блоки, которые укладываются по верхней части друг друга и никогда не отображаются рядом по горизонтали, если мы не используем магические трюки в CSS (о которых узнаем в следующей главе). Строчно-блочные действуют в качестве строчных элементов (отображаются рядом друг с другом), но отличаются от них тем, что им можно задать размер. К примеру, поле
Строчные - ,
,
Блочные -
,
,
Строчно-блочные -
,
По умолчанию, у строчных элементов стилевое свойство display
установлено как inline
. Для блочных элементов его значение block
, а для строчно-блочных элементов inline-block
. Теперь вы можете объяснить, из-за чего тег не переносит текст на новую строку. Потому что это строчный элемент, а значит в CSS у него свойство display
установлено как inline
. С учётом этого код ниже:
Один два три
Браузер отобразит в одну линию:
один два три
Однако можно изменить это поведение, добавив одну строку в CSS:
Span {
display: block;
}
Теперь наши теги отображаются иначе, каждый из них начинается с новой строки, поскольку мы установили свойство display
как block
.
Для этого примера мы используем
. Вы можете поинтересоваться, что этот тег описывает в документе. Краткий ответ: ничего. Мы используем тег
в тех случаях, когда все другие теги не подходят для использования того, что мы вложили в документ. В общем случае тег
(в сочетании с разными классами) применяется для получения различных визуальных эффектов, в результате у него нет функции для описания содержимого. К примеру, если вы желаете сделать три вертикальных колонки на сайте, то, возможно, потребуется элемент, который может разделить некоторые строчные или строчно-блочные элементы.
Вообще, хорошей идеей будет не злоупотреблять тегом
, если это возможно.
С нашими новыми знаниями о блоках давайте переделаем код нашей формы так, чтобы поля формы и их описания красиво отображались друг под другом.
Это выглядит чуть сложнее, но единственное что мы сделали, так это добавили теги
, чтобы окружить каждый элемент формы.
Ещё раз, давайте сравним новый (справа) и старый код (слева).
А теперь посмотрим, как новый код отображается в браузере!
Заголовки
Для оформления заголовков используются теги
...
С этим думаю всем понятно,это не сложно.Далее Гарнитура (вид) и цвет шрифта
Здесь есть два способа. Второй будет описан позднее. Первый - используется тег
С атрибутами face
и color
, соответственно:
шрифт Verdana
шрифт Verdana
красный шрифт
красный шрифт
шрифт цвета MidnightBlue
шрифт цвета MidnightBlue
шрифт цвета MidnightBlue
шрифт цвета MidnightBlue
Цвет имеет название и цифровое значение, как видно в этом примере (MidnightBlue=#191970). О цветах можно написать очень много, но я остановлюсь на одной ссылке:
Подбор цвета . Для использования подходят web-safe и web-smart цвета.
Форматирование текста: использование тега и атрибута style
(1)
Тег относится к выделяемому (форматируемому) фрагменту текста: текст. Сразу замечу, что аттрибуты (свойства), работающие с тегом , могут применяться также с тегами
И
. Однако тег
Применяется к абзацу, что не всегда нам подходит (хотя при форматировании абзаца рационально использовать именно его). Тег
можно применять так же, как и - это скорее дело вкуса. Он имеет более широкую область применения и обладает рядом дополнительных возможностей. Но это уже не относится к форматированию текста. Поэтому для определённости остановимся на .
Запись текст лишена какого-либо смысла сама по себе. Тег предназначен для того, чтобы приписать тексту какое-либо свойство. Вот их-то я сейчас попытаюсь перечислить в более-менее логическом порядке.
Цвет шрифта
Цвет шрифта можно задать с помощью тега , о чём говорилось выше. Теперь воспользуемся тегом и атрибутом style
:
красный шрифт
- красный шрифт
Точно так же можно задавать и цифровые значения цветов (подробнее о них см. выше.
Гарнитура (вид) шрифта
О способе задать гарнитуру (вид) шрифта с помощью тега также шла речь прошлый раз.
Сейчас рассмотрим второй способ - с использованием конструкции
шрифт
На место ***
необходимо подставить гарнитуру (вид) шрифта. Как правило, подставляют название не определённого шрифта, а целого семейства шрифтов, например, Verdana, Times
и др. Получаем:
шрифт Verdana
шрифт Times
Размер шрифта
Для указания размера шрифта используется конструкция
шрифт
Размер шрифта может задаваться различными способами. Пожалуй, самый наглядный и простой - подставить вместо *** одно из следующих семи значений:
очень крупный шрифт
крупный шрифт
средний шрифт
мелкий шрифт
очень мелкий шрифт
очень-очень мелкий шрифт
Можно указывать размер шрифта способом, хорошо знакомым из Word - в пунктах (pt). 1 пункт равен 1⁄72 дюйма. Примеры:
12pt
36pt
Значения 12pt, 36pt в этих примерах подставляются на место *** в общей формулешрифт. Также можно использовать и пиксели:
шрифт 12px
шрифт 36px
Приведённые выше размеры являются абсолютными. Но размер шрифта можно задать и относительным образом - в процентах: шрифт размера 150% от исходного
шрифт размера 150% от исходного
или по отношению к ширине буквы "m" в исходном шрифте (соответствующая единица измерения называется em
): шрифт размера 1,5em от исходного
шрифт размера 1,5em от исходного
Вес (насыщенность) шрифта
Это - то, что можно задать с использованием простого тега жирный текст
жирный текст
С помощью это делается так:жирный шрифт
жирный шрифт
Преимущество такого способа в том, что наряду со значением веса шрифта bold
можно использовать также значения bolder и lighter
, получая шрифт "разной жирности" (в данном случае речь идёт об относительных значениях). А по умолчанию используется значение normal
- обычный шрифт.
Стиль шрифта
Kурсив можно получить как с использованием тега , так и следующим способом: курсив
курсив
Вместо font-style:italic
можно написать font-style:oblique
, и тогда должен получиться не курсив, а наклонный ("угловатый") шрифт. Но это не всегда работает.