Форум города Днепр (Днепропетровска)

Форум города Днепр (Днепропетровска) (https://forum.dneprcity.net/index.php)
-   Сss (https://forum.dneprcity.net/forumdisplay.php?f=161)
-   -   Отображение текста - Шрифты (https://forum.dneprcity.net/showthread.php?t=13878)

Strelok 11.03.2012 11:32

Отображение текста - Шрифты
 
Одни из наиболее часто используемых свойств CSS - атрибуты, свзязанные с начертанием текста. Это собственно гарнитура шрифта (имя), начертание (нормальное или курсивное), жирность (вес), размер и приведение. Особенно ничего нового тут нет, поэтому перейдем к рассмотрению свойств.
Font-family

Гарнитура шрифта. Включает себя наименование шрифта или его стиль (семью), или и то, и другое вместе. Записывается этот атрибут так:
body { font-family: "Arial Narrow", Arial, sans-serif}
p { font-family: "Times New Roman", serif}
pre {font-family: Courier}

Здесь "Arial Narrow" - полное наименование шрифта, Arial - укороченный вариант (альтернативный вариант шрифта), sans-serif - его основной стиль. Количество вариантов записи связано в первую очередь с тем, что конкретно этого (указанного в наименовании) шрифта у пользователя может и не быть, в таком случае используется альтернативный вариант, или шрифт, указанный в настройках браузера для данного стиля шрифта. В общем случае:
serif - шрифт типа Times New Roman, пропорциональный, с засечками.
sans-serif - шрифт типа Arial, попрорциональный, рубленый.
cursive - тип Calligraph, имитирующий рукпописный текст, наклонный.
monospace - моноширинный шрифт, как Courier New, например.
fantasy - шрифт наподобие Comic Sans.

Сейчас даже на системах Linux чаще всего стоят шрифты, аналогичные шрифтам Windows (и чаще всего с такими же именами). Но все равно, всегда предпочтительней указывать дополнительно generic-family шрифта.
Font-Style

Начертание шрифта. Вообще говоря, бывает трех типов - normal, italic, oblique. Но разницу между italic и oblique я так и не увидел. Первый (normal) дает нам прямой текст, а два остальных - наклонный (курсивный). Записывается это дело так:
p { font-family: "Times New Roman", serif; font-style:italic}
pre {font-style: normal}
Font-Variant

На мой взгляд, довольно ненужный атрибут, обозначающий приведение текста по высоте - обычный (прописные и строчные буквы) или smallcaps (строчные буквы как малые прописные). Записывается так:
span {font-variant: smallcaps}
span {font-variant: normal}

... а выглядит так:

... Председатель призвал зал к тишине. "А теперь... Выступит заведующий Транспортным отделом"
... Председатель призвал зал к тишине. "А теперь... Выступит заведующий Транспортным отделом"
Font-Weight

Вес (жирность) шрифта. Вообще говоря, может принимать числовые значения от 100 до 800, или же именованные: normal, bold, bolder, lighter. Однако значения, отличные от bold и normal, как правило, внешним видом друг от друга не отличаются (во всяком случае, на экране монитора в окне браузера). Возможно, при использовании CSS для форматирования печатных документов результат будет виден хотя бы на печати. В любом случае лучше индивидуально все это проверять для данного браузера и конкретной программы вывода на печать. Выглядят же различные градации жирности так:

100
sample text - 200
sample text - 300
sample text - 400
sample text - 500
sample text - 600
sample text - 700
sample text - 800
sample text - bold
sample text - bolder
sample text - lighter
sample text - normal
Font-Size

Размер шрифта. Может указываться аж в четырех вариантах - собственно пунктов высоты, процентов относительно высоты элемента HTML по умолчанию, уменьшения-увеличения размера относительно этого же дефолтного размера и именованного размера. И опять, использование именованного размера является скорее всего наиболее предпочтительным из всех этих вариантов. И по той же причине - проблемам совместимости. На самом деле, у пользователя может стоять разрешение 1600 на 1200, при этом шрифт размера 9, выглядящий у Вас (на экране 17" с разрешением 1024x768) очень даже крупно, будет у этого разнесчастного обладателя мощного монитора выглядеть, мягко говоря, мелко. Таким образом имеем обозначения:
xx-small ,x-small ,small ,medium ,large ,x-large ,xx-large
b { font-size:xx-large }

Нотация сильно смахивает на набор одежды для всех весовых категорий, от сверхлайтов до супертяжей, ну да и пусть. Правда, по точности размеров на разных браузерах ситуация сравнима с замечательными размерами изделий китайских рукотворных швейных мастерских. Может подойти любой - от S до XXL. Ну, я отвлекся. Так вот. Другие варианты
h2 {font-size: 150%} /* заголовок в полтора раза выше стандартного размера */
div {font-size: smaller} /* раздел чуть меньше */
div {font-size: larger} /* раздел чуть больше */
li {font-size:12px} /* элемент списка ровно в 12 пикселей */
p {font-size:5ex} /* параграф размером ровно 5 ёкселей ;) */

Пару слов о "ёкселях". Это такой размер, где каждый юнит - высота буквы 'x'. Подробнее о размерах будет рассказано позднее, будут приведены все возможные примеры разнообразных размеров. А пока - как выглядит параграф высотой в пять этих самых exелей.

Просто параграф...

Как видно, один ёксель - не так уж и мало. По сравнению с пикселем.

Настало время нашим изысканиям подвести итог. Рассмотрим последний атрибут и - спать.
Font

Самый что ни на есть общий шрифтовый атрибут. В него (как и в почти все другие классифицируемые свойства CSS) разработчики ухитрились впихнуть все вышерассмотренное. Выглядят же эти сельди в бочке так:
/* font: [ font-style | font-variant | font-weight | font-size font-family] */

span {font: italic small-caps bold x-small "Arial Narrow" arial sans-serif}
i b {font: normal; font-style:normal}
div {font: oblique normal bold}

Первый пример: font: italic small-caps bold x-small "Arial Narrow" Arial sans-serif
Второй пример

Любое из свойств в данном случае указывать необязательно. Главное - соблюдать порядок. В случае неоднозначности (например normal для наклона и normal для веса) лучше использовать отдельные описание. Надежнее так. Надежнее, чем с двумя китайскими парашютами прыгать.

Николь84 10.08.2024 14:09

Re: Отображение текста - Шрифты
 
Ваш комментарий подробно охватывает основные свойства CSS, связанные с текстом. Позвольте добавить несколько уточнений и дополнений для лучшего понимания:

---

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

1. **Font-family**: Вы правильно описали, как использовать этот атрибут для указания шрифта. Важно помнить, что шрифты должны быть перечислены в порядке предпочтения. Браузер начнет с первого указанного шрифта и, если он недоступен, перейдет к следующему в списке.

2. **Font-style**: Вы упомянули основные значения для `font-style` — normal, italic и oblique. Разница между italic и oblique действительно может быть незначительной, так как оба варианта отображают текст в наклонном стиле. Однако, `italic` часто используется для более стильного наклона, чем `oblique`.

3. **Font-variant**: Это свойство, действительно, не всегда используется и может казаться не таким важным. Оно применяется для изменения начертания текста на малые прописные буквы (smallcaps) и может быть полезно для определенных типографических эффектов.

4. **Font-weight**: Вы правы в том, что отображение различных значений жирности может быть не всегда заметно. На экране разница между, например, 400 и 700 может быть минимальной. Но при печати или в более специализированных шрифтах разница может быть более выраженной.

5. **Font-size**: Как вы указали, размер шрифта можно задавать разными способами. Использование относительных единиц, таких как `em`, `rem` или `%`, часто предпочтительнее, чем абсолютные единицы (например, `px`), поскольку они позволяют более гибко адаптировать размеры шрифтов к разным устройствам и разрешениям экрана.

6. **Font**: Свойство `font` действительно объединяет все перечисленные атрибуты в одном. Важно соблюдать порядок свойств при использовании сокращенной записи, чтобы избежать путаницы.

Ваш комментарий охватывает основные аспекты использования этих свойств. Главное — экспериментировать и проверять визуальные результаты в различных браузерах и устройствах, чтобы обеспечить консистентное отображение текста.


Текущее время: 00:36. Часовой пояс GMT +3.

Powered by vBulletin® Version 3.7.0
Copyright ©2000 - 2026, vBulletin Solutions Inc. Перевод: zCarot