Home
Главная
Forums
Форум
Your Account
Ваш аккаунт
Web-технологии
HTML, XML, DHTML
JavaScript
SQL
PHP
Perl
SSI
ASP
CSS

Графика
Adobe PhotoShop
Adobe PhotoShop - 2
Macromedia Flash

Компьютеры
Hardware
Мобильные технологии
КПК и ноутбуки

Операционные системы
Unix/Linux
Windows 9x
Windows XP

Стоит посмотреть
  • лицензирование москва


  • английский щелково курсы бизнес


  • алкоголь магазин, хороший магазин алкоголя


  • воздуходувка efco sa 2062


  • CSS 'от А до Я' (часть 3)

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

    Эти правила (также как и свойства шрифта, рассмотренные ранее) применимы как к строковым, так и блочным элементам html-разметки. Например, с их помощью можно описать элементы 'H1' - 'H6', 'I' (строковые), а также 'P', 'DIV' (блочные) и т.д. Если определенное форматирование необходимо применить к выборочному фрагменту текста, то следует воспользоваться тегом :

    Начало заголовкаКонец заголовка

    Итак, приступим.

    Свойства текста.

    # п/п Свойство Значение Описание
    1 word-spacing px, pt, em, % Устанавливает интервалы между словами
    2 letter-spacing px, pt, em, % Устанавливает интервалы между буквами
    3 text-decoration underline
    overline
    line-through
    blink
    none
    Подчеркнутость, надчеркнутость, перечеркнутость
    4 text-transform capitalize
    uppercase
    lowercase
    blink
    none
    Преобразует регистр текста
    5 vertical-align baseline
    middle
    sub
    super
    text-top
    text-bottom
    top
    bottom
    Устанавливает вертикальное положение элемента
    6 text-align left
    right
    center
    justify
    Устанавливает горизонтальное выравнивание
    7 text-indent px, pt, em, % Управляет величиной отступа первой строки абзаца
    8 line-height px, pt, em, %
    число
    Устанавливает расстояние между строками
    9 color мнемоника, RGB Задает цвет текста
    • Свойства 'word-spacing' и 'letter-spacing' не должны вызвать никаких затруднений. Они задают соответственно расстояние между словами и буквами. А точнее, задают расстояния, которые нужно добавить к установленным по умолчанию интервалам. Чаще всего эти свойства применяются для того, чтобы уплотнить или, наоборот, разрядить строку.

      Вот пример:

      Увеличенное межбуквенное расстояние

      Увеличенное межбуквенное расстояние

      Кстати, 'letter-spacing' в NN 4 не поддерживается.

    • Ну, тут вроде все ясно. А вот правило 'text-decoration' требует более детального пояснения. Как видно из таблицы, это свойство может иметь несколько значений: "underline", "overline", "line-through", "blink" и "none". С "none" все понятно. Оно принято по умолчанию. Значение "underline" аналогично элементу 'U' и служит для отображения подчеркнутого текста. Значение "overline" делает текст надчеркнутым, а "line-through" - зачеркнутым. Существует также значение "blink". Оно служит для того, чтобы сделать текст мерцающим. Непонятно, правда, кому это надо. Точно также посчитали и парни из Microsoft и норвежские разработчики Opera, а потому "blink" работает только в Нетскейпе:

      Подчеркнуто, надчеркнуто, перечеркнуто

      Вот что получилось:

      Подчеркнуто, надчеркнуто, перечеркнуто

    • Теперь рассмотрим свойство 'text-transform'. Значение "capitalize" устанавливает первую букву каждого слова прописной, "uppercase" делает все буквы прописными, "lowercase" - наоборот, строчными. Но не понятно только, зачем все это надо, ведь буквы можно сразу сделать такими, какими нужно - прописными или строчными. Хотя кто знает… По умолчанию, понятное дело, установлено "none".
    • А вот весьма полезное свойство - 'line-height'. Оно задает расстояние между строками. Точнее говоря, между базовыми линиями строк. Это значит, что 'line-height' задает расстояние между одинаковыми точками одинаковых букв, расположенных друг под другом, например, между точками пересечения двух "палочек" в букве "Х".

      Значение этого свойства может задаваться в px, pt, %, em. Например:

      В данном примере мы уменьшили межстрочное расстояние с помощью line-height. Иногда такой метод можно применить, чтобы "уплотнить" текст на странице. А вообще, действуйте по обстоятельствам, ведь вы - веб-дизайнер!

      А вот что получилось:

      В данном примере мы уменьшили межстрочное расстояние с помощью line-height. Иногда такой метод можно применить, чтобы "уплотнить" текст на странице. А вообще, действуйте по обстоятельствам, ведь вы - веб-дизайнер!

      Значением 'line-height' также может быть просто число. Тогда межстрочное расстояние определяется как высота шрифта, умноженная на это число:

      Экспериментируем с line-height. В этом примере расстояние между базовыми линиями строк будет равно 24pt

    • Следующее свойство - 'text-indent'. Оно дает нам возможность установить "красную" строку, то есть отступ первой строки абзаца. Значение может быть задано в px, pt, % или em:

      Этот параграф начинается с "красной" строки в 30 пикселей. Как видите, все очень просто! Вообще, так делать намного удобнее, чем отдельно форматировать каждый абзац, "подгоняя" его к "красной" строке искусственными методами (например, с помощью нескольких   в начале абзаца)

      Вот что получилось:

      Этот параграф начинается с "красной" строки в 30 пикселей. Как видите, все очень просто! Вообще, так делать намного удобнее, чем отдельно форматировать каждый абзац, "подгоняя" его к "красной" строке искусственными методами (например, с помощью нескольких   в начале абзаца)

      Также очень часто практикуется применение отрицательных значений 'text-ident'. Рассмотрим пример:

      В этом параграфе мы применили отрицательный отступ первой строки. Такой прием часто применяется на веб-страницах. Например, для того, чтобы сделать акцент на словах, стоящих в начале абзаца. Была бы фантазия!

      А вот что мы получим:

      В этом параграфе мы применили отрицательный отступ первой строки. Такой прием часто применяется на веб-страницах. Например, для того, чтобы сделать акцент на словах, стоящих в начале абзаца. Была бы фантазия!

      Забегая вперед, скажу, что примерно такую же функцию, что и 'text-indent', может выполнять также т.н. псевдо-класс 'first-line', но его мы рассмотрим немного позже.

    • Теперь поговорим о выравнивании. С горизонтальным выравниванием 'text-align' вроде все понятно. Возможные значения здесь: "left", "right", "central", "justify". Они устанавливают выравнивание соответственно по левому, правому краю, по центру и по обоим.

      У вертикального выравнивания 'vertical-align' может быть целых 8 значений (см. таблицу). Но большинство из них не представляется мне полезными. Кроме двух: "sub" и "super". Первое делает элемент подстрочным, а второе - надстрочным. Такие возможности можно использовать, например, при написании химических и математических формул. Хотя получается довольно громоздко, но это все же, по-моему, лучше, чем отливать формулы в графике:



      ...


      C
      2
      H
      5
      OH


      Пусть не очень удобно, зато формула спирта получилась очень даже ничего :) :

      C 2 H 5 OH

    • Теперь поговорим о цвете текста. За это отвечает свойство 'color'.

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

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

      • мнемоническое имя цвета;
      • код RGB.

      Мнемоническое имя означает, что цвет можно обозначить "по имени". Но это возможно не для всех цветов. Официальные документации говорят, что задание цвета мнемоническим именем допустимо только для следующих цветов: aqua (светло-голубой), black (черный), blue (синий), fuchsia (светло-фиолетовый),gray (серый), green (зеленый), lime (светло-зеленый), maroon (коричневый), navy (темно-синий), olive (оливковый), purple (фиолетовый), red (красный), silver (светло-серый), teal (сине-зеленый), white (белый), yellow (желтый). Для остальных цветов рекомендуется использовать RGB-формат, хотя современные браузеры "понимают" мнемонику намного большего количества цветов.

      Но, несмотря на это, в любом случае для задания цвета желательно использовать его код RGB. Этот код состоит из шести шестнадцатеричных символов. Первая пара символов кодирует "интенсивность" красного, вторая - "интенсивность" зеленого, третья - синего. Этот код обязательно должен начинаться знаком #. Например, #FF0000 кодирует красный цвет (интенсивность красного, как видим, максимальная, а зеленого и синего - нулевая), кодом #FFFFFF обозначается белый цвет, #000000 - черный.

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

    Вот вроде бы и все, что хотелось рассказать по поводу атрибутов CSS, позволяющих управлять свойствами текста.

    Но мой рассказ был бы неполным, если бы я не рассказал о т.н. псевдо-элементах, об одном из которых было вскользь сказано ранее.

    Сразу хочу предупредить всех (и расстроить поклонников дядюшки Билла): как это ни странно, но псевдо-элементы поддерживает только Netscape, и никак не IE. Не знаю, чем это объяснить, но тем не менее, это так... Я прекрасно понимаю, что NN сегодня пользуются единицы, но все-таки хотел бы для полноты изложения рассказать и о псевдо-элементах. Примеры сопровожу скриншотами, снятыми с Нетскейпа.

    Псевдо-элементов в CSS два: 'first-line' и 'first-letter'. Как видно из названия, они позволяют форматировать соответственно первую строку и первую букву какого-либо элемента html. Чаще всего таким элементом выступает элемент 'P'.

    Псевдо-элементы задаются в соответствии со следующим синтаксисом:

    элемент:псевдо-элемент {свойство: значение}

    Какой же предварительный вывод можно сделать, исходя из такого синтаксиса? Псевдо-элементы в CSS - это не свойства какого-либо элемента html, это его составные части, так сказать, подэлементы. И действительно, первая строка и первая буква абзаца - это как бы его составляющие.

    И еще. Псевдо-классы можно определять в отдельном файле, подключаемом к документу, можно задавать внутри тегов , но с помощью атрибута 'style' их задавать нельзя. Но давайте перейдем к конкретике.

    'first-line'
    Псевдо-элемент 'first-line' используется для применения особых стилей к первой строке элемента (чаще всего это элемент 'P'). Вот пример:


    ...

    Первая строка абзаца подчеркнута, так как соответствующий стиль описан для псевдо-элемента 'first-line'. Остальные строки, как видим, не подчеркнуты.

    К 'first-line' могут быть применены только следующие свойства: свойства цвета и фона, свойства шрифтов, 'word-spacing', 'letter-spacing', 'text-decoration', 'vertical-align', 'text-transform', 'line-height', 'clear'. С большинством из них вы уже знакомы.

    'first-letter'
    Псевдо-элемент 'first-letter' используется для создания эффекта буквицы и, кстати сказать, употребляется очень и очень часто. К нему применимы следующие свойства: свойства шрифтов, свойства цвета и фона, 'text-decoration', vertical-align', 'text-transform', 'line-height', свойства границ, отступов и рамок (о них я расскажу в следующей статье), а также 'float' и 'clear'.

    Следующий пример позволит создать эффект буквицы, когда высота первой буквы равна высоте двух строк:


    ...

    Здесь я показал, как с помощью CSS быстро и легко можно добиться эффекта буквицы. Попробуйте-ка сделать то же самое с помощью "чистого" HTML. Дудки! :)

    В этом примере вам, видимо, не все понятно, так как использовалось свойство 'float', о котором я еще ничего не говорил. Оно будет рассмотрено в следующей главе. Сейчас же я могу только прокомментировать его функцию в данном примере. Запись "float: left", примененная к первой букве абзаца, делает эту букву "плавающей". Это значит, что остальной текст будет ее обтекать (в данном случае справа). Это и приводит к эффекту буквицы.

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

    элемент.имя_класса:псевдо-элемент {свойство: значение}

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

    <элемент class="имя_класса">

    Давайте рассмотрим это на примере.


    ...

    У этого абзаца первая буква размером в два раза больше основного текста. Первая буква в соответствии с правилами наследования - красная, а не темно-синяя, как вся первая строка и не зеленая, как весь абзац. У первой строки межбуквенное расстояние равно 2 pt, первая строка надчеркнута

    Этот абзац формируется аналогично. Первая строка, включая и первую букву, напечатана на фоне серого и, к тому же, темно-синим цветом. Первая буква - светло-синяя

    Но должен вас огорчить (хотя вы наверно уже и так догадались по скриншотам последних примеров): "народный" браузер IE 5 псевдо-элементы не поддерживает, а примеры я представил в Нетскейпе.



    Дополнительно на данную тему:

    CSS: единицы измерения
    CSS: меняем scrollbar
    CSS 'от А до Я'
    CSS 'от А до Я' (часть 2)
    Font-size: от xx-small до xx-large
    История про CSS (часть I)
    История про CSS (часть II)
    Контент vs. дизайн
    Необычное применение CSS: реализация эффекта rollover
    Трюк с курсором

    Назад | Начало | Наверх
    Rambler's Top100