Программирование на Python и Objective-C в Mac OS

Программирование на Python и Objective-C под Mac OS и для iPhone / iPod Touch

Работа с текстом с css: Работа с текстом в CSS.


Основы стилизирования текста и шрифта — Изучение веб-разработки

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

Необходимые знания:Базовые компьютерные знания, Основы HTML (раздел Введение в HTML), основы  CSS (раздел Введение в CSS).
Задача:Изучить основные свойства и техники, необходимые для стилизации текста на веб-страницах.

Как вы уже проверили в своей работе с HTML и CSS, текст внутри элемента выкладывается в поле содержимого элемента. Он начинается в левом верхнем углу области содержимого (или в правом верхнем углу, в случае содержимого языка RTL) и течёт к концу строки. Как только он достигает конца, он переходит к следующей строке и продолжает, затем к следующей строке, пока все содержимое не будет помещено в коробку. Текстовое содержимое эффективно ведёт себя как ряд встроенных элементов, размещённых на соседних строках и не создающих разрывы строк до тех пор, пока не будет достигнут конец строки, или если вы не принудите разрыв строки вручную с помощью элемента <br>.

Примечание: если приведённый выше абзац оставляет вас в замешательстве, то не имеет значения — вернитесь и просмотрите нашу статью о модели коробки, чтобы освежить теорию модели коробки, прежде чем продолжить.

Свойства CSS, используемые для стилизации текста, обычно делятся на две категории, которые мы рассмотрим отдельно в этой статье:

  • Font styles: Свойства, влияющие на шрифт, применяемый к тексту, влияющие на то, какой шрифт применяется, насколько он велик, является ли он полужирным, курсивным и т. д.
  • Text layout styles: Свойства, влияющие на интервал и другие особенности компоновки текста, позволяющие манипулировать, например, пространством между строками и буквами, а также тем, как текст выравнивается в поле содержимого.

Примечание: имейте в виду, что текст внутри элемента все затронуты как одна единая сущность. Вы не можете выбирать и стилизовать подразделы текста, если вы не обернёте их в соответствующий элемент (например, <span> или <strong>), или использовать текстовый псевдоэлемент, такой как ::first-letter (выделяет первую букву текста элемента),:: first-line (выделяет первую строку текста элемента) или ::selection (выделяет текст, выделенный в данный момент курсором.)

Давайте сразу перейдём к рассмотрению свойств для стилизации шрифтов. В этом примере мы применим некоторые различные свойства CSS к одному и тому же образцу HTML, который выглядит следующим образом:

<h2>Tommy the cat</h2>

<p>Well I remember it as though it were a meal ago...</p>

<p>Said Tommy the Cat as he reeled back to clear whatever foreign matter
 may have nestled its way into his mighty throat. Many a fat alley rat
had met its demise while staring point blank down the cavernous barrel of
 this awesome prowling machine. Truly a wonder of nature this urban
predator — Tommy the cat had many a story to tell. But it was a rare
occasion such as this that he did.</p>

You can find the finished example on GitHub (see also the source code.)


The color (en-US) property sets the color of the foreground content of the selected elements (which is usually the text, but can also include a couple of other things, such as an underline or overline placed on text using the text-decoration (en-US) property).

color can accept any CSS color unit, for example:

This will cause the paragraphs to become red, rather than the standard browser default black, like so:

Font families

To set a different font on your text, you use the font-family property — this allows you to specify a font (or list of fonts) for the browser to apply to the selected elements. The browser will only apply a font if it is available on the machine the website is being accessed on; if not, it will just use a browser default font. A simple example looks like so:

p {
  font-family: arial;

This would make all paragraphs on a page adopt the arial font, which is found on any computer.

Web safe fonts

Speaking of font availability, there are only a certain number of fonts that are generally available across all systems and can therefore be used without much worry. These are the so-called web safe fonts.

Most of the time, as web developers we want to have more specific control over the fonts used to display our text content. The problem is to find a way to know which font is available on the computer used to see our web pages. There is no way to know this in every case, but the web safe fonts are known to be available on nearly all instances of the most used operating systems (Windows, macOS, the most common Linux distributions, Android, and iOS).

The list of actual web safe fonts will change as operating systems evolve, but it’s reasonable to consider the following fonts web safe, at least for now (many of them have been popularized thanks to the Microsoft Core fonts for the Web initiative in the late 90s and early 2000s):

NameGeneric typeNotes
Arialsans-serifIt’s often considered best practice to also add Helvetica as a preferred alternative to Arial as, although their font faces are almost identical, Helvetica is considered to have a nicer shape, even if Arial is more broadly available.
Courier NewmonospaceSome OSes have an alternative (possibly older) version of the Courier New font called Courier. It’s considered best practice to use both with Courier New as the preferred alternative.
Times New RomanserifSome OSes have an alternative (possibly older) version of the Times New Roman font called Times. It’s considered best practice to use both with Times New Roman as the preferred alternative.
Trebuchet MSsans-serifYou should be careful with using this font — it isn’t widely available on mobile OSes.

Note: Among various resources, the cssfontstack.com website maintains a list of web safe fonts available on Windows and macOS operating systems, which can help you make your decision about what you consider safe for your usage.

Note: There is a way to download a custom font along with a webpage, to allow you to customize your font usage in any way you want: web fonts. This is a little bit more complex, and we will be discussing this in a separate article later on in the module.

Default fonts

CSS defines five generic names for fonts:  serifsans-serifmonospace, cursive and fantasy. Those are very generic and the exact font face used when using those generic names is up to each browser and can vary for each operating system they are running on. It represents a worst case scenario where the browser will try to do its best to provide at least a font that looks appropriate. serif, sans-serif and monospace are quite predictable and should provide something reasonable. On the other hand, cursive and fantasy are less predictable and we recommend using them very carefully, testing as you go.

The five names are defined as follows:

serifFonts that have serifs (the flourishes and other small details you see at the ends of the strokes in some typefaces)My big red elephant
sans-serifFonts that don’t have serifs.My big red elephant
monospaceFonts where every character has the same width, typically used in code listings.My big red elephant
cursiveFonts that are intended to emulate handwriting, with flowing, connected strokes.My big red elephant
fantasyFonts that are intended to be decorative.My big red elephant
Font stacks

Since you can’t guarantee the availability of the fonts you want to use on your webpages (even a web font could fail for some reason), you can supply a font stack so that the browser has multiple fonts it can choose from. This simply involves a font-family value consisting of multiple font names separated by commas, e.g.

p {
  font-family: "Trebuchet MS", Verdana, sans-serif;

In such a case, the browser starts at the beginning of the list and looks to see if that font is available on the machine. If it is, it applies that font to the selected elements. If not, it moves on to the next font, and so on.

It is a good idea to provide a suitable generic font name at the end of the stack so that if none of the listed fonts are available, the browser can at least provide something approximately suitable. To emphasise this point, paragraphs are given the browser’s default serif font if no other option is available — which is usually Times New Roman — this is no good for a sans-serif font!

Note: Font names that have more than one word — like Trebuchet MS — need to be surrounded by quotes, for example "Trebuchet MS".

A font-family example

Let’s add to our previous example, giving the paragraphs a sans-serif font:

p {
  color: red;
  font-family: Helvetica, Arial, sans-serif;

This gives us the following result:

Font size

In our previous module’s CSS values and units article, we reviewed length and size units. Font size (set with the font-size property) can take values measured in most of these units (and others, such as percentages), however the most common units you’ll use to size text are:

  • px (pixels): The number of pixels high you want the text to be. This is an absolute unit — it results in the same final computed value for the font on the page in pretty much any situation.
  • ems: 1 em is equal to the font size set on the parent element of the current element we are styling (more specifically, the width of a capital letter M contained inside the parent element.) This can become tricky to work out if you have a lot of nested elements with different font sizes set, but it is doable, as you’ll see below. Why bother? It is quite natural once you get used to it, and you can use em to size everything, not just text. You can have an entire website sized using em, which makes maintenance easy.
  • rems: These work just like em, except that 1 rem is equal to the font size set on the root element of the document (i.e. <html>), not the parent element. This makes doing the maths to work out your font sizes much easier, although if you want to support really old browsers, you might struggle — rem is not supported in Internet Explorer 8 and below.

The font-size of an element is inherited from that element’s parent element. This all starts with the root element of the entire document — <html> — the font-size of which is set to 16px as standard across browsers. Any paragraph (or another element that doesn’t have a different size set by the browser) inside the root element will have a final size of 16 px. Other elements may have different default sizes, for example an <h2> (en-US) element has a size of 2 em set by default, so it will have a final size of 32 px.

Things become more tricky when you start altering the font size of nested elements. For example, if you had an <article> element in your page, and set its font-size to 1.5 em (which would compute to 24 px final size), and then wanted the paragraphs inside the <article> elements to have a computed font size of 20 px, what em value would you use?

  <p>My paragraph</p> 

You would need to set its em value to 20/24, or 0.83333333 em. The maths can be complicated, so you need to be careful about how you style things. It is best to use rem where you can, to keep things simple, and avoid setting the font-size of container elements where possible.

A simple sizing example

When sizing your text, it is usually a good idea to set the base font-size of the document to 10 px, so that then the maths is a lot easier to work out — required (r)em values are then the pixel font size divided by 10, not 16. After doing that, you can easily size the different types of text in your document to what you want. It is a good idea to list all your font-size rulesets in a designated area in your stylesheet, so they are easy to find.

Our new result is like so:

html {
  font-size: 10px;

h2 {
  font-size: 5rem;

p {
  font-size: 1.5rem;
  color: red;
  font-family: Helvetica, Arial, sans-serif;

Font style, font weight, text transform, and text decoration

CSS provides four common properties to alter the visual weight/emphasis of text:

  • font-style: Used to turn italic text on and off. Possible values are as follows (you’ll rarely use this, unless you want to turn some italic styling off for some reason):
    • normal: Sets the text to the normal font (turns existing italics off.)
    • italic: Sets the text to use the italic version of the font if available; if not available, it will simulate italics with oblique instead.
    • oblique: Sets the text to use a simulated version of an italic font, created by slanting the normal version.
  • font-weight: Sets how bold the text is. This has many values available in case you have many font variants available (such as -light, -normal, -bold, -extrabold, -black, etc.), but realistically you’ll rarely use any of them except for normal and bold:
    • normal, bold: Normal and bold font weight
    • lighter, bolder: Sets the current element’s boldness to be one step lighter or heavier than its parent element’s boldness.
    • 100900: Numeric boldness values that provide finer grained control than the above keywords, if needed. 
  • text-transform (en-US): Allows you to set your font to be transformed. Values include:
    • none: Prevents any transformation.
    • uppercase: Transforms all text to capitals.
    • lowercase: Transforms all text to lower case.
    • capitalize: Transforms all words to have the first letter capitalized.
    • full-width: Transforms all glyphs to be written inside a fixed-width square, similar to a monospace font, allowing aligning of e.g. Latin characters along with Asian language glyphs (like Chinese, Japanese, Korean).
  • text-decoration (en-US): Sets/unsets text decorations on fonts (you’ll mainly use this to unset the default underline on links when styling them.) Available values are:
    • none: Unsets any text decorations already present.
    • underline: Underlines the text.
    • overline: Gives the text an overline.
    • line-through: Puts a strikethrough over the text.

    You should note that text-decoration (en-US) can accept multiple values at once, if you want to add multiple decorations simultaneously, for example text-decoration: underline overline. Also note that text-decoration (en-US) is a shorthand property for text-decoration-line (en-US), text-decoration-style (en-US), and text-decoration-color (en-US). You can use combinations of these property values to create interesting effects, for example text-decoration: line-through red wavy.

Let’s look at adding a couple of these properties to our example:

Our new result is like so:

html {
  font-size: 10px;

h2 {
  font-size: 5rem;
  text-transform: capitalize;

h2 + p {
  font-weight: bold;

p {
  font-size: 1.5rem;
  color: red;
  font-family: Helvetica, Arial, sans-serif;

Text drop shadows

You can apply drop shadows to your text using the text-shadow property. This takes up to four values, as shown in the example below:

text-shadow: 4px 4px 5px red;

The four properties are as follows:

  1. The horizontal offset of the shadow from the original text — this can take most available CSS length and size units, but you’ll most commonly use px; positive values move the shadow right, and negative values left. This value has to be included.
  2. The vertical offset of the shadow from the original text; behaves basically just like the horizontal offset, except that it moves the shadow up/down, not left/right. This value has to be included.
  3. The blur radius — a higher value means the shadow is dispersed more widely. If this value is not included, it defaults to 0, which means no blur. This can take most available CSS length and size units.
  4. The base color of the shadow, which can take any CSS color unit. If not included, it defaults to black.
Multiple shadows

You can apply multiple shadows to the same text by including multiple shadow values separated by commas, for example:

text-shadow: 1px 1px 1px red,
             2px 2px 1px red;

If we applied this to the <h2> (en-US) element in our Tommy the cat example, we’d end up with this:

With basic font properties out the way, let’s now have a look at properties we can use to affect text layout.

Text alignment

The text-align property is used to control how text is aligned within its containing content box. The available values are as follows, and work in pretty much the same way as they do in a regular word processor application:

  • left: Left-justifies the text.
  • right: Right-justifies the text.
  • center: Centers the text.
  • justify: Makes the text spread out, varying the gaps in between the words so that all lines of text are the same width. You need to use this carefully — it can look terrible, especially when applied to a paragraph with lots of long words in it. If you are going to use this, you should also think about using something else along with it, such as hyphens, to break some of the longer words across lines.

If we applied text-align: center; to the <h2> (en-US) in our example, we’d end up with this:

Line height

The line-height property sets the height of each line of text — this can take most length and size units, but can also take a unitless value, which acts as a multiplier and is generally considered the best option — the font-size is multiplied to get the line-height. Body text generally looks nicer and is easier to read when the lines are spaced apart; the recommended line height is around 1.5 – 2 (double spaced.) So to set our lines of text to 1.6 times the height of the font, you’d use this:

Applying this to the <p> elements in our example would give us this result:

Letter and word spacing

The letter-spacing and word-spacing properties allow you to set the spacing between letters and words in your text. You won’t use these very often, but might find a use for them to get a certain look, or to improve the legibility of a particularly dense font. They can take most length and size units.

So as an example, we could apply some word- and letter-spacing to the first line of each  <p> element in our example:

p::first-line {
  letter-spacing: 4px;
  word-spacing: 4px;

Let’s add some to our example, like so:

Other properties worth looking at

The above properties give you an idea of how to start styling text on a webpage, but there are many more properties you could use. We just wanted to cover the most important ones here. Once you’ve become used to using the above, you should also explore the following:

Font styles:

Text layout styles:

  • text-indent: Specify how much horizontal space should be left before the beginning of the first line of the text content.
  • text-overflow (en-US): Define how overflowed content that is not displayed is signaled to users.
  • white-space: Define how whitespace and associated line breaks inside the element are handled.
  • word-break: Specify whether to break lines within words.
  • direction: Define the text direction (This depends on the language and usually it’s better to let HTML handle that part as it is tied to the text content.)
  • hyphens: Switch on and off hyphenation for supported languages.
  • line-break: Relax or strengthen line breaking for Asian languages.
  • text-align-last: Define how the last line of a block or a line, right before a forced line break, is aligned.
  • text-orientation (en-US): Define the orientation of the text in a line.
  • overflow-wrap: Specify whether or not the browser may break lines within words in order to prevent overflow.
  • writing-mode: Define whether lines of text are laid out horizontally or vertically and the direction in which subsequent lines flow.

In this active learning session, we don’t have any specific exercises for you to do: we’d just like you to have a good play with some font/text layout properties, and see what you can produce! You can either do this using offline HTML/CSS files, or enter your code into the live editable example below.

If you make a mistake, you can always reset it using the Reset button.

You’ve reached the end of this article, and already did some skill testing in our Active Learning section, but can you remember the most important information going forward? You can find an assessment to verify that you’ve retained this information at the end of the module — see Typesetting a community school homepage.

This assessment tests all the knowledge discussed in this module, so you might want to read the other articles before moving on to it.

We hoped you enjoyed playing with text in this article! The next article will give you all you need to know about styling HTML lists.

Работа с текстом | Справочник HTML CSS

Назад к списку задач

Уровень: Начинающий

Задача по HTML и CSS: работа с тегами для оформления текста и стилизация текста используя CSS.

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

  1. Создайте папку в удобном для вас месте на вашем компьютере
  2. В этой папке создайте новый HTML документ — index.html
  3. В index.html создайте HTML скелет документа
  4. Создайте новый CSS файл — style.css
  5. Подключите CSS файл к HTML файлу
  6. Создайте заголовок первого уровня в теге body и напишите там текст «Оформление текста»
  7. Добавьте данному заголовку класс title
  8. В CSS файле в самом верху создайте селектор для тега body и напишите следующие стили — шрифт Arial, sans-serif, размер шрифта 16px, цвет текста #333, межстрочный отступ 1.5
  9. В CSS файле создайте селектор для класса title, и напишите следующие стили — размер шрифта 40px, цвет текста #f03333, межстрочный отступ 1.2, все буквы заглавные
  10. После заголовка создайте абзац и напишите там немного текста, можете использовать сайт-генератор случайного текста lipsum.com
  11. После абзаца создайте заголовок второго уровня, напишите текст «Заголовок второго уровня» и придайте ему класс subtitle
  12. В CSS файле создайте селектор для класса subtitle, и напишите следующие стили — размер шрифта 30px, цвет текста #12ac11, межстрочный отступ 1.2, подчеркивание текста снизу
  13. После заголовка создайте абзац и напишите там немного текста, можете использовать сайт-генератор случайного текста lipsum.com
  14. После абзаца создайте ненумерованный список с тремя пунктами
  15. В каждом пункте напишите немного текста, на свой выбор
  16. Задайте списку класс list
  17. В CSS файле создайте селектор для класса list, и напишите следующие стили — размер шрифта 20px, цвет текста #444, все буквы наклонные, стиль маркеров списка — square

Назад к списку задач

Если хотите поделиться своим решением, используйте сайты типа codepen.io и оставляйте ссылку в комментарии

Работа с текстом при помощи CSS и HTML

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

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

И так подходим к селекторам текста и их свойства, где также затронем красивый вывод текста на интернет портале или блоге.


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

Свойство font-family в действии выглядит следующим образом:


body {
  font-family: Tahoma, Geneva, sans-serif;

Что основном задается для всего сайта, где добавляют размер шрифта и также оттенок цвета знаков.

Пример кода:


font-family: fantasy

Переходим к следующим аспектам.


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

text-decoration:overline — прямая линия над текстом;
text-decoration:underline — прямая линия под текстом;
text-decoration:line-through — прямая линия перечёркивающая текст.

Также можно убрать линию под ссылкой с помощью text-decoration:none


Text-transform — идет для полного изменения регистра знаков или буквы, где также может содержать значение capitalize, uppercase, lowercase или none. Ведь это значение изначально выставляет на перевод самые первые знаки или буквы для каждого следующего слова в верхний регистр.

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

1. letter-spacing и word-spacing — расстояние от буквы до буквы и от слова до слова.
2. line-height — определяет высоту строки элемента
3. text-align — здесь идет выравнивание текста слева, справа, по центру.
4. text-indent — создаем отступ, который идет от первой строки параграфа.


p {
letter-spacing: 1em;
word-spacing: 2em;
line-height: 1;
text-align: left;

В этой заметке рассмотрели некоторые из основных принципов, которые способны к изменению веб-страницах с использованием HTML и CSS.

Работа с текстом — DigiPortfoolio OÜ печать на масках в Нарве

Рассмотри варианты форматирования и установки стиля текста, так как это ключевая проблема для любого web-дизайнера. В этом уроке будут рассмотрены следующие свойства:

  • text-indent
  • text-align
  • text-decoration
  • letter-spacing
  • text-transform

Отступы [text-indent]
Свойство text-indent позволяет выделить параграф с помощью установки отступа для его первой строки. В примере 30px применяется ко всем параграфам <p>:
p {text-indent: 30px;}
Выравнивание текста [text-align]
CSS-свойство text-align соответствует атрибуту, используемому в старых версиях HTML. Текст может быть выровнен left, right, centred или justify.
В примере текст заголовочных ячеек таблицы <th> выравнивается вправо, а в ячейках данных <td> — по центру. Кроме того, нормальные параграфы — justify:
th {text-align: center;}
td {text-align: left;}
p {text-align: justify;}
Декоративный вариант [text-decoration]
Свойство text-decoration позволяет добавлять различные «декоративные эффекты». Например, можно подчеркнуть текст, провести линию по или над текстом и т. д. В примере <h2> подчёркнуты, <h3> — имеют черту над текстом, а <h4> — перечёркнуты.
h2 {text-decoration: underline;}
h3 {text-decoration: overline;}
h4 {text-decoration: line-through;}
Интервал между буквами [letter-spacing]
Интервал между буквами текста можно специфицировать свойством letter-spacing. Значение — нужная величина. Например, если вам необходимо 3px между буквами в параграфах <p> и 6px — в заголовках <h2>, то используется такой код:
h2 {letter-spacing: 6px;}
p {letter-spacing: 3px;}

Расстояние между словами.
Свойство word-spacing задаёт расстояние между словами (группами символов не разделенными пробелом) в строке.

  • normal — Нормальное расстояние. (по умолчанию)
  • px — Расстояние задаётся в пикселях или любых других единицах измерения принятых в CSS.

Трансформация текста [text-transform]
Свойство text-transform управляет регистром символов. Можно выбрать capitalize, uppercase или lowercase, в зависимости от того, как выглядит текст в оригинальном HTML-коде.
Например, слово «headline» можно показать «HEADLINE» или «Headline». Имеются четыре возможных значения text-transform:
capitalize — Капитализирует каждое слово. Например: «john doe» станет «John Doe».
uppercase — Конвертирует все символы в верхний регистр. Например: «john doe» станет «JOHN DOE».
lowercase — Конвертирует все символы в нижний регистр. Например: «JOHN DOE» станет «john doe».
none — Трансформации нет — текст отображается так же, как в HTML-коде.

Для примера мы используем список имён. Все имена выделены с помощью <li> (list-item). Давайте капитализируем все имена и отобразим все заголовки верхним регистром.
Видите, HTML-код в этом примере в действительности записан в нижнем регистре.
h2 {text-transform: uppercase;}
li {text-transform: capitalize;}


Интерлиньяж — это расстояние между строками текста.
Расстояние между строками текста можно задать используя свойство line-height, сделать это можно следующими способами:

  • normal — Норма (по умолчанию).
  • % — Проценты. за сто процентов берется высота шрифта
  • 0.5 — Множитель. Может быть использовано любое число больше ноля. Так, например множитель 0.5 будет равняться половинному межстрочному расстоянию, а 2 — двойному.
  • px — Пиксели и любые другие единицы измерения, принятые в CSS.


Создайте пример форматирования текста, как на рисунке ниже, сам текст можно скопировать ниже рисунка.

Сам текст.

Цель создания CSS
CSS используется создателями веб-страниц для задания цветов, шрифтов, расположения отдельных блоков и других аспектов представления внешнего вида этих веб-страниц.
Основной целью разработки CSS являлось разделение описания логической структуры веб-страницы (которое производится с помощью HTML или других языков разметки) от описания внешнего вида этой веб-страницы (которое теперь производится с помощью формального языка CSS). Такое разделение может увеличить доступность документа, предоставить большую гибкость и возможность управления его представлением, а также уменьшить сложность и повторяемость в структурном содержимом. Кроме того, CSS позволяет представлять один и тот же документ в различных стилях или методах вывода, таких как экранное представление, печатное представление, чтение голосом (специальным голосовым браузером или программой чтения с экрана), или при выводе устройствами, использующими шрифт Брайля.
NB! Текст редактируется с помощью CSS, а не с клавиатуры большие и маленькие буквы и отступы.

В предыдущем уроке мы рассматривали шрифты

В следующем уроке рассмотрим работу со ссылками на странице

Работа с текстом в Canvas JavaScript

Автор статьи: admin

В этой статье вы прочитаете как происходит работа с текстом в HTML Canvas в языке программирования JavaScript.

Также если вы плохо разбираетесь в canvas, то прочитаете эти статьи:

Создание текста на Canvas:

Перед тем как покажу работу с Canvas, нужно объявить этот элемент в HTML, делается это так.


Всё просто, теперь получим этот элемент в JavaScript.

// Получаем Canvas элемент по ID

let canvas = document.getElementById(«canvas»);

// Задаём контекст рисования

let ctx = canvas.getContext(‘2d’);

Тут всё просто, думаю всё понятно, если нет, то посмотрите предыдущие статьи, ссылка на которые выше.

Теперь создадим текст, это очень легко, для этого нужно знать только две вещи, параметр font, и функцию fillText().

// Назначаем размер и шрифт текста

ctx.font = «40px Tahoma»;

// Пишем сам текст

ctx.fillText(«Hello World», 10, 50);

Первое что делам, это назначаем значение параметру ctx.font, самом значение, это строка с параметрами шрифта, размер и какой шрифт использовать.

Потом объявляем функцию fillText(), в качестве параметров она принимает, текст, который нужно нарисовать, и позицию по X и Y, в нашем случае, текст «Hello World», и позицию по X десять пикселей и по Y пятьдесят пикселей.

Как видите всё нормально вывелось.


Тут стоить сказать, почему позиция по Y такая большая, если вообще без неё текст не будет виден, так как, отсчёт позиции начинаете с низу текста и что бы весь он был виден, нужен большое расстояние.

Canvas обводка текста:

Теперь перейдём к обводки текста, для этого есть функция strokeText(), которая нам поможет с этим.

// Назначаем рахмер шрифта и сам шрифт

ctx.font = «40px Tahoma»;

// Пишем текста

ctx.fillText(«Hello World», 10, 50);

// Меняем цвет для отображение

ctx.strokeStyle = «green»;

// Пишем точно такой же текст

ctx.strokeText(«Hello World», 10, 50)

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

Это нужно, так как по сути мы не делаем обводку для текста, а просто создаём ещё один текст с обводкой, вот результат.

Как видите у текста появилась  зелёная обводка, но теперь посмотрите что будет, если написание текста вообще убрать, оставить только вывод обводки.

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

Выравнивание текста в Canvas:

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

// Указываем размер шрифта и сам шрифт

ctx.font = «40px Tahoma»;

// Указываем выравнивание по центру

ctx.textAlign = «center»

// Выводим текста

ctx.fillText(«Hello World», 200, 50);

Тут самое интересное, что параметр X, во функции  fillText() равен 200, это было сделано с толь целью, что бы выравнять текст по центру canvas элемента, а он по ширине равен 400, вот результат.

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

Вот все значения по которым можно выравнивать по горизонтали:

  • left — текст начинается с указанной позиции
  • right — текст завершается до указанной позиции
  • center — текст располагается по центру относительно указанной позиции
  • start — значение по умолчанию, текст начинается с указанной позиции
  • end — текст завершается до указанной позиции

Теперь перейдём на выравнивание по оси Y, суть примерно в том же, но уже используется параметр textBaseline.

// Указываем размер шрифта и сам шрифт

ctx.font = «40px Tahoma»;

// Указываем выравнивание по X

ctx.textAlign = «center»

// Указываем выравнивание по Y

ctx.textBaseline = «middle»;

// Пишем текст

ctx.fillText(«Hello World», 200, 50);

Тут не чего не изменилось, только присваиваем параметру textBaseline, значение middle, которое выравнивает текст по середине.

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

Как видите всё работает так, как надо, вот остальные возможные значения для textBaseline:

  • top
  • middle
  • bottom
  • alphabetic
  • hanging
  • ideographic

Тут я не стал объяснять, что к чему, потому что просто объяснить вряд ли получится, лучше самим попробовать и посмотреть, как и на что влияет.


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

Подписываетесь на соц-сети:


(Пока оценок нет)



Пока кнопок поделиться нет

Также рекомендую:

Работа с текстом | Bootstrap: Основы верстки

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

Начинающие разработчики используют разные уровни заголовков только для изменения размера заголовка. Распространённый пример:

      <h2>Страница сайта</h2>

      <!-- Здесь текст -->

      <h4>Преимущества работы с нами</h4>
      <h3>Быстрая доставка</h3>
      <!-- Текст -->
      <h3>Низкие цены</h3>
      <!-- Текст -->

В попытке выделить сами преимущества нарушилась семантика заголовка. Теперь неясно какой заголовок к чему относится. Заголовок <h4> следует за заголовком <h2>, что означает пропуск целой секции между ними с заголовком второго уровня. Сами же преимущества перестали относиться к заголовку «Преимущества работы с нами», так как имеют заголовки с большим весом.

Чтобы избежать такого нарушения семантики в Bootstrap существуют классы .h*, где вместо звёздочки используется число от 1 до 6. Эти классы установят внешний вид тексту таким, как если бы он был обёрнут в один из заголовков. Это поможет решить проблему выше. Правильная вёрстка будет выглядеть так:

      <h2>Страница сайта</h2>

      <!-- Здесь текст -->

      <h3>Преимущества работы с нами</h3>
      <h4>Быстрая доставка</h4>
      <!-- Текст -->
      <h4>Низкие цены</h4>
      <!-- Текст -->

С точки зрения визуального представления ничего не изменилось, а семантический смысл пришёл в норму.

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

В уроке уже описаны классы вида .h*, которые можно использовать для такого выделения. Помимо этого в Bootstrap существуют 4 класса, которые отвечают за создание визуальных заголовков. Это классы .display-1, .display-2, .display-3 и .display-4. По умолчанию они имеют больший размер относительно своих братьев — заголовков <h2> — <h5>, при этом значение насыщенности у них меньше.

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

Например, для создания inline-списка используется класс .list-inline, который сбросит значения свойств list-style и padding. Добавив класс .list-inline-item к дочерним элементам, получится аккуратный inline-список со всеми необходимыми отступами.

    <li><a href="#">Ссылка 1</a></li>
    <li><a href="#">Ссылка 2</a></li>
    <li><a href="#">Ссылка 3</a></li>

See the Pen bootstrap_basic_course_text_content_list by Hexlet
(@hexlet) on CodePen.


Начиная с версии Bootstrap 4.3 появилась функция Responsive Font Sizes (RFS), которая отвечает за адаптивность текста. При использовании RFS шрифты на различных разрешениях экрана будут автоматически адаптироваться, сохраняя при этом пропорции относительно друг друга. В этом режиме невозможна ситуация, при которой текст станет больше заголовков.

Чтобы включить функцию RFS необходимо указать значение true у переменной $enable-responsive-font-sizes. Это можно сделать в отдельном файле с вашими настройками проекта. После этого станет доступно три функции:

  • font-size()
  • responsive-font-size()
  • rfs()

Первые две функции являются «сахаром» функции rfs(). Они вызывают её же. Это сделано для удобного использования внутри проекта. Так сохраняется семантический смысл функций. Все функции принимают 2 параметра:

  • Значение адаптивности. Здесь можно не указывать единицу измерения, либо указывать значение в px или rem.
  • Флаг !important. По умолчанию имеет значение false. При использовании значения true к свойству font-size будет добавлен флаг !important.

Перейдите на сайт CodePen и попробуйте изменять ширину viewport. При изменении ширины размер шрифта так же будет уменьшаться.

See the Pen bootstrap_basic_course_text_RFS by Hexlet
(@hexlet) on CodePen.

Управление шрифтами

Для управления набором шрифтов в Bootstrap существует SASS переменная $font-family-base в которой находятся шрифты, доступные в рамках проекта. По умолчанию эта переменная берёт значение из переменной $font-family-sans-serif, внутри которой находятся следующие шрифты:

  // Safari for macOS and iOS (San Francisco)
  // Chrome < 56 for macOS (San Francisco)
  // Windows
  "Segoe UI",
  // Android
  // Basic web fallback
  "Helvetica Neue", Arial,
  // Linux
  "Noto Sans",
  // Sans serif fallback
  // Emoji fonts
  "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji" !default;

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

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


Работа с текстом — Інформатика

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

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

Необязательно: этот пример можно загрузить для дополнительной практики.

Вставить текст:
  1. Переместите указатель мыши в место, где текст должен появиться в документе.
  2. Щелкните мышью. Появится точка вставки .
  3. Введите текст, который вы хотите отобразить.
Чтобы удалить текст:
  1. Поместите точку вставки рядом с текстом, который вы хотите удалить.
  2. Нажмите клавишу Backspace на клавиатуре, чтобы удалить текст слева от точки вставки.
  3. Нажмите клавишу « Удалить» на клавиатуре, чтобы удалить текст справа от точки вставки.
Чтобы выбрать текст:
  1. Поместите точку вставки рядом с текстом, который вы хотите выбрать.
  2. Щелкните мышью. Удерживая его, перетащите указатель мыши над текстом, чтобы выбрать его.
  3. Отпустите кнопку мыши. Вы выбрали текст. Выделено окно появится над выбранным текстом.

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

Чтобы скопировать и вставить текст:
  1. Выберите текст, который вы хотите скопировать.
  2. Нажмите кнопку « Копировать» на вкладке « Главная ». Вы также можете щелкнуть правой кнопкой мыши свой документ и выбрать Копировать .
  3. Поместите точку ввода, где вы хотите, чтобы текст отображался.
  4. Нажмите кнопку « Вставить» на вкладке «Главная». Появится текст.
Чтобы вырезать и вставить текст:
  1. Выберите текст, который вы хотите скопировать.
  2. Нажмите команду « Вырезать» на вкладке « Главная ». Вы также можете щелкнуть правой кнопкой мыши документ и выбрать « Вырезать» .
  3. Поместите точку ввода, где вы хотите, чтобы текст отображался.
  4. Нажмите кнопку « Вставить» на вкладке « Главная ». Появится текст.

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

Перетаскивание текста:
  1. Выберите текст, который вы хотите скопировать.
  2. Нажмите и перетащите текст в том месте, где вы хотите его отобразить. Курсор будет иметь прямоугольник под ним, чтобы указать, что вы перемещаете текст.
  3. Отпустите кнопку мыши, и появится текст.

Если текст не отображается в нужном месте, вы можете нажать клавишу Enter на клавиатуре, чтобы переместить текст в новую строку.

Поиск и замена текста

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

Чтобы найти текст:
  1. На вкладке « Главная » нажмите команду « Найти» . Панель навигации появится в левой части экрана.
  2. Введите текст, который вы хотите найти, в поле вверху навигационной панели.
  3. Если текст найден в документе, он будет выделен желтым цветом, и в навигационной панели появится предварительный просмотр.
  4. Если текст появляется несколько раз, вы можете щелкнуть стрелки на панели навигации, чтобы просмотреть результаты. Вы также можете щелкнуть предварительный просмотр результатов в навигационной панели, чтобы перейти к местоположению результата в документе.
  5. Когда вы закроете навигационную панель, подсветка исчезнет.
Чтобы заменить текст:
  1. На вкладке « Главная » нажмите кнопку « Заменить» . Появится диалоговое окно « Найти и заменить ».
  2. Введите текст, который вы хотите найти, в поле « Найти» .
  3. Введите текст, который вы хотите заменить, в поле « Заменить» .
  4. Нажмите « Найти далее», а затем « Заменить», чтобы заменить текст. Вы также можете нажать « Заменить все», чтобы заменить все экземпляры документа.


  1. Откройте существующий документ Word . Если вы хотите, вы можете использовать этот пример .
  2. Выберите предложение.
  3. Скопируйте и вставьте предложение из одного места в документе в другое.
  4. Выберите другое предложение.
  5. Вырезать и вставить предложение в другое место в документе.

Как стилизовать текстовые элементы с помощью шрифта, размера и цвета в CSS

Автор выбрал Diversity in Tech Fund, чтобы получить пожертвование в рамках программы Write for DOnations.


Cascading Style Sheets (CSS) — это язык, разработанный для двух дисциплин: программиста и дизайнера. Работа с текстом в сети — один из ярких примеров такой широкой доступности языка. Стилизация текста использует концепции из мира графического дизайна, но изменяет соглашения об именах для более широкой реализации.

Из этого туториала Вы узнаете о типографике web , искусстве стилизации текста. Подобно работе с печатным станком, вы разместите свой контент, примените визуальный стиль, чтобы помочь передать контент, и настройте контент для разборчивости и выделения. Цель стилизации текста в Интернете — создать визуальную иерархию по цвету, размеру, форме и пространству. Таким образом, заголовки выделяются из подзаголовков, которые выделяются из абзацев. Эти концепции помогают сделать текст более читаемым и читаемым.

Вы начнете обучение с написания HTML-структуры, которая будет состоять из содержимого-заполнителя из Cupcake Ipsum. Вы будете работать с разными уровнями заголовков ( h2 h6 ) и типами контента ( p , strong и em ) для применения нескольких свойств CSS, связанных с текстом, включая font-family , . размер шрифта и цвет . Вы также загрузите пользовательские шрифты из Google Fonts, сторонней службы хостинга шрифтов.На каждом шаге этого руководства будет представлена ​​новая концепция или набор свойств, применяемых к контенту. К концу у вас будет веб-страница с индивидуальным стилем.

Предварительные требования

Настройка примера HTML

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

Откройте файл index.html с помощью текстового редактора, например nano, Vim или Visual Studio Code.Добавьте следующий шаблонный HTML-код, чтобы предоставить файлу необходимый базовый код:





Элемент уже загружен в файл styles.css , поэтому обязательно подготовьте этот файл.

Далее вам нужно стилизовать контент. При создании текстовых стилей часто проекту нужны стили до того, как контент будет готов.В мире графического дизайна для этой цели используется заполнитель. Дизайнеры часто используют латинский текст в качестве заполнителя, известный как Lorem Ipsum. Есть много современных версий этого текста-заполнителя, в том числе Cupcake Ipsum. Это будет справочная копия, используемая во всем HTML.

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

, самого верхнего заголовка, до

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

по умолчанию значительно больше, чем у

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

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

Чтобы иметь правильную семантику HTML:

  • На странице будет только один элемент

    . Обычно это будет заголовок.

  • Последующие уровни заголовков будут только на один меньший, равный или любой более высокий уровень. Например, единственный уровень заголовка, который следует после

    , будет либо

    , либо еще

    , либо

    , но никогда не будет

    или .


Используя правила семантики заголовков, добавьте следующий выделенный HTML-код в index.html :



Сахарная слива, чупа, чупс, шоколад, кекс, пончик

Макарун с овсяным пирогом "Тутси"

Датский пончик из желейных бобов тирамису

Зефир из теста с лимонными каплями

Пудинг для яблочного пирога

Пряничный датский
Морковный торт с леденцами на палочке мармеладные мишки
Лакричная конфета, сладкая вата, лакрица

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

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

Добавьте выделенные части следующего блока кода. В этом руководстве для блоков кода будет использоваться следующий формат:



Сахарная слива, чупа, чупс, шоколад, кекс, пончик

Макарун с овсяным пирогом "Тутси"

Конфеты "Джуджуб" брауни.Десертный пирог с рулетами из мармеладных конфет с сахарной ватой. Сахарная слива Обожаю кексы. Jelly-o gummi мишки маффин марципановые марципановые чизкейк пончик имбирный пряник I love. Кекс вафельный торт.

Датский пончик из желейных бобов тирамису

Зефир из теста с лимонными каплями

Обожаю зефирные конфеты. Кунжутные булочки по-датски. Шоколадный торт печенье желе-о тирамису халва брауни халва шоколадный шоколадный торт. Jelly-o caramels jujubes bonbon cupcake danish tootsie roll шоколадная плитка.Макаруны Я люблю кексы, леденцы, сладкие булочки, я люблю. Я люблю мороженое из конфет и маршмеллоу с круассанами. Я люблю мармеладных мишек.

Пудинг для яблочного пирога

Пирог с яблочным пирогом Я обожаю бисквит с мармеладом, я люблю. Шоколадный торт тирамису суфле порошок карамель я люблю мороженое. Драже солодки ириски желейные желейные зерна. Кунжут щелкает суфле из леденцов. Бисквитный пончик, медвежий коготь, мармелад, халва, печенье, миндальное печенье, лимонные капли. Тутси ролл драже печенье конфеты суфле драже кекс лакрица.

Пряничный датский

Пудра драже кунжута щелкает леденцами желе-о. Халва имбирный чизкейк вафельный. Вафельный рулетик Я люблю Я люблю. Торт ириски я люблю. Сахарная вата, мармелад из сахарной ваты. Я люблю ириски. Чупа чупс чупа чупс карамельки мороженое халва конфеты шоколадный торт. Маршмеллоу морковный торт мармелад.

Морковный торт с леденцами на палочке мармеладные мишки

Шоколадный торт, сладкий рулет, пудинг, шоколадный торт, кекс, кекс, коготь медведя.

Лакричная конфета, сладкая вата, лакрица

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


Наконец, добавьте , и комбинацию двух элементов вместе. Это предоставит примеры фраз, которые подчеркнуты в содержании:




Макарун с овсяным пирогом "Тутси"

Конфеты "Джуджуб" брауни. Десертный пирог с рулетами из мармеладных конфет с сахарной ватой. Сахарная слива Я люблю пирожные . Jelly-o gummi мишки маффин марципановые марципановые чизкейк пончик имбирный пряник I love. Кекс вафельный торт.

Датский пончик из желейных бобов тирамису

Зефир из теста с лимонными каплями

Обожаю зефирные конфеты. Кунжутные хлопья по-датски. Шоколадный торт печенье желе-о тирамису халва брауни халва шоколадный шоколадный торт. Jelly-o caramels jujubes bonbon cupcake danish tootsie roll шоколадная плитка. Макаруны Я люблю кексы, леденцы, сладкие булочки, я люблю. Я люблю мороженое из конфет и маршмеллоу с круассанами. Я люблю мармеладных мишек.

Пудинг для яблочного пирога

Пирог с яблочным пирогом Я обожаю бисквит с мармеладом, я люблю. Шоколадный торт тирамису суфле порошок карамель Я люблю мороженое.Драже солодки ириски желейные желейные зерна. Кунжут щелкает суфле из леденцов. Бисквитный пончик, медвежий коготь, мармелад, халва, печенье, миндальное печенье, лимонные капли. Тутси ролл драже печенье конфеты суфле драже кекс лакрица.

Пряничный датский

Пудра драже кунжута щелкает леденцами желе-о. Халва имбирный чизкейк вафельный. Вафельный рулетик Я люблю, я люблю. Торт ириски я люблю. Сахарная вата, мармелад из сахарной ваты. Я люблю ириски.Чупа чупс чупа чупс карамельки мороженое халва конфеты шоколадный торт. Маршмеллоу морковный торт мармелад.

Морковный торт с леденцами на палочке мармеладные мишки

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

Лакричная конфета, сладкая вата, лакрица

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


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

Размеры текста варьируются по всем элементам, при этом стили по умолчанию


меньше, чем текст


На этом этапе вы настраиваете HTML-контент, который будет стилизован на протяжении всей оставшейся части учебника.Затем вы будете работать со свойством font-family , узнаете о стеке шрифтов , списке шрифтов, которые может использовать браузер, и примените шрифты к различным элементам.

Использование семейства шрифтов


Затем вы будете работать со свойством CSS font-family и загрузить внешний файл шрифта из службы Google Fonts. Имя этого свойства происходит от термина типографики, который описывает набор шрифтов и варианты этого шрифта, включая полужирные и курсивные версии.Шрифт может иметь множество из этих вариаций, но все они могут быть частью одного и того же семейства шрифтов , причем эти вариации называются свойствами font-weight и font-style .

Чтобы начать работу с семейством шрифтов , полезно разобраться в деталях его вариантов значений. Значением свойства font-family является список шрифтов, называемый стеком шрифтов. Стек шрифтов работает как резервная система. Рассмотрим следующее значение свойства font-family :

  семейство шрифтов: "Helvetica Neue", Helvetica, Arial, без засечек;

Браузер сначала определит, доступна ли Helvetica Neue для использования, либо в виде шрифта, установленного на компьютере, либо в виде шрифта, предоставленного веб-сайтом.Если браузер не находит шрифт Helvetica Neue, он переходит вниз по списку к Helvetica, а затем к Arial. Если браузер не может найти какой-либо из этих шрифтов, то последний шрифт в списке, sans-serif , будет использовать то, что браузер установил в качестве шрифта по умолчанию для шрифта стиля sans-serif .

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

Создайте файл с именем styles.css в том же каталоге, что и index.html . Откройте его в текстовом редакторе и добавьте для страницы шрифт по умолчанию:



  body {
  семейство шрифтов: "Avenir Next", Calibri, Verdana, без засечек;

В этом коде вы начинаете с селектора типа body со свойством font-family .Затем для стека шрифтов вы начинаете с «Avenir Next» , который будет доступен в браузерах iOS и macOS. Avenir Next заключен в кавычки, потому что название шрифта состоит из двух слов. Следующий шрифт — Calibri для браузеров Windows. Обязательно ставьте запятую между каждым объявлением шрифта. Чтобы обеспечить более общий запасной вариант шрифта, вы затем используете Verdana , который был широко доступен на компьютерах с начала 2000-х годов. Наконец, поскольку все эти шрифты классифицируются как шрифты без засечек, вы добавляете браузер по умолчанию без засечек в качестве последней опции шрифта в стеке шрифтов.

Сохраните styles.css , затем откройте index.html в своем браузере. Вы найдете новый шрифт вместо шрифта браузера по умолчанию для содержимого. Если вы используете операционную систему Apple, Avenir Next будет отображаться в браузере. Если вы работаете в Windows, вместо этого будет выполнять рендеринг Calibri. На следующем изображении показано, как этот стек шрифтов выглядит в MacOS:

В этом разделе вы использовали свойство font-family , чтобы настроить стек шрифтов по умолчанию для веб-страницы.Вы также настраиваете свойство font-family , которое применяется конкретно к текстовому содержимому заголовка. В следующем разделе вы будете использовать службу Google Fonts, чтобы загрузить файл пользовательского шрифта и использовать его на странице.

Загрузка пользовательских шрифтов с помощью Google Fonts

Теперь, когда вы использовали свойство font-family со шрифтами, уже установленными на вашем компьютере, пришло время загрузить шрифты из внешней службы. Это расширит диапазон шрифтов, которые вы можете использовать для стилизации текста.В этом разделе вы будете работать со службой Google Fonts, чтобы загрузить и использовать шрифт на веб-странице.

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

Для начала откройте в браузере fonts.google.com .

В Google Fonts вы можете выбирать из множества различных шрифтов. В этом руководстве будут использоваться два: Public Sans и Quicksand.

В поле поиска Google Fonts найдите Public Sans . Когда карточка шрифта появляется из результатов поиска, отображается предварительный просмотр шрифта. Щелкните карточку, чтобы перейти на страницу шрифта:

На странице шрифтов Public Sans будут перечислены все варианты шрифта.Они известны как весов , которые варьируются от 100 до 900. Для целей этого руководства найдите стили Regular (400) и Bold (700) и нажмите кнопку + Select this style next к каждому варианту стиля, а также их курсиву.

Как только вы выберете первый стиль, появится выбранный семейный инструмент. Этот инструмент предоставит вам HTML и CSS, необходимые для использования этих шрифтов:

Выберите метод , чтобы загрузить шрифты в браузер и скопировать предоставленный HTML.Откройте index.html и добавьте код в элемент после загрузка styles.css . Не закрывайте Google Fonts, так как вы вернетесь к нему еще пару раз:





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

Вернитесь в Google Fonts, чтобы найти правило CSS, которое загружает Public Sans. Google Fonts предоставляет набор шрифтов Public Sans и шрифт браузера по умолчанию без засечек с семейством шрифтов : 'Public Sans', без засечек; . Поскольку у вас уже есть стек шрифтов с резервными шрифтами, все, что вам нужно взять из примера Google Fonts, — это имя для ссылки на Public Sans.

Используя существующий стек шрифтов в styles.css , замените Avenir Next и Calibri на Public Sans :


  body {
  семейство шрифтов: "Public Sans", Verdana, sans-serif;

Теперь, когда объявлен базовый стек шрифтов, все шрифты на странице теперь являются Public Sans.

Одна из распространенных дизайнерских практик, позволяющих привлечь больше внимания к заголовкам, — использовать для заголовков шрифт, отличный от шрифта для основного текста.Чтобы применить это к своему собственному HTML, вернитесь в Google Fonts и выполните поиск «Quicksand». Это будет заголовок или шрифт display для элементов с


на странице.

После того, как вы нашли Quicksand, выберите карту шрифтов и добавьте полужирный шрифт (600) и полужирный, (700) к выбранным шрифтам вместе с Public Sans. Google Fonts предоставит новый URL-адрес для загрузки всех выбранных шрифтов и вариантов.Замените предыдущее значение href на новую ссылку в файле index.html :



    " rel = "таблица стилей">


Теперь, когда Quicksand настроен на загрузку в браузере, вам нужно применить его к тегам заголовков.Вы добьетесь этого, добавив список селекторов CSS, разделенных запятыми, который называется групповым селектором , в файл styles.css . В этом случае используйте стек шрифтов, предоставленный Google Fonts с Quicksand, а затем используйте шрифт браузера по умолчанию sans-serif :


h2, h3, h4, h5, h5, h6 {
  семейство шрифтов: «Зыбучие пески», без засечек;

Сохраните изменения в файле styles.css и вернитесь в браузер, чтобы перезагрузить индекс .html . Не стесняйтесь закрыть Google Fonts на этом этапе. Когда браузер загрузится, вы увидите, что отображаются два шрифта. Теперь Quicksand присутствует во всех заголовках, а Public Sans — во всем остальном содержимом, включая содержимое, выделенное жирным шрифтом и курсивом.

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


font-weight и font-style Properties

В этом разделе вы будете использовать свойства font-weight и font-style , чтобы настроить внешний вид шрифта. Есть много причин использовать эти варианты, например, чтобы подчеркнуть содержание как часть руководства по стилю цитирования и обеспечить визуальные вариации.

Теперь, когда вы загружаете пользовательские шрифты из Google Fonts, вы можете приступить к точной настройке характеристик текста.Начиная со свойства font-weight , вы можете изменить, насколько толстый или тонкий шрифт отображается. Свойство font-weight имеет два общих значения: normal и bold . Нормальное значение — это значение по умолчанию font-weight для большей части текста в браузере. Значение полужирным шрифтом — это значение по умолчанию font-weight для заголовков и элементов. Но для этого урока вам нужно будет использовать числовые значения вместо имени нормальных и жирных значений.

Числовые значения font-weight зависят от шрифта, который вы загружаете. Когда вы добавляли шрифт Public Sans из Google Fonts, вы выбрали толщину Обычный (400) и Полужирный (700). Цифры в скобках совпадают со значениями, необходимыми для ссылки и загрузки этого шрифта. Кроме того, значение font-weight для 400 является числовым эквивалентом нормального , например, 700 является числовым эквивалентом жирным шрифтом .Текст, использующий Public Sans, то есть все, кроме заголовков, будет автоматически использовать эти веса.

В качестве альтернативы, выбор шрифтов Quicksand включал полужирный (600) и полужирный (700) шрифт. Значение 600 не имеет числового эквивалента и должно быть определено с использованием числового значения.

Вы начнете с установки начертания шрифта всех заголовков для полужирного варианта 600 Quicksand. В файле styles.css найдите селектор групп со всеми значениями заголовков и добавьте шрифт font-weight: 600; Объявление в блок селектора:


h2, h3, h4, h5, h5, h6 {
    семейство шрифтов: «Зыбучие пески», без засечек;
    font-weight: 600;

После внесения этого изменения сохраните styles.css и повторно загрузите index.html в своем браузере. Вы увидите небольшое истончение заголовков по мере их изменения от значения 700 для Quicksand до значения 600 .

Теперь, когда вы настроили все элементы заголовка для использования начертания Quicksand 600 , все еще есть места для использования варианта шрифта 700 .Для начала создайте селектор типа h4 в файле styles.css и добавьте font-weight: 700; в блоке селектора:


h4 {
    font-weight: 700;

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

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

Так как HTML, чтобы получить полужирный курсив, это ... , и ... , вам нужно будет создать селектор группы комбинаторов в файле styles.css , а затем применить свойство font-family с «Quicksand», без засечек как значение:


сильный em,
em strong {
    семейство шрифтов: «Зыбучие пески», без засечек;

После внесения этого дополнения в файл styles.css сохраните его, а затем перезагрузите index.html в своем браузере.Текст, который был выделен полужирным курсивом, теперь использует Quicksand и выделен курсивом, хотя Google Fonts не предоставляет курсивную версию шрифта. Это называется faux italic , где браузер понимает, что это содержимое должно быть курсивом по умолчанию, но, поскольку курсивный вариант не определен, вместо этого он искусственно наклоняет текст.

Свойство для обработки того, выделен ли текст курсивом или нет, — font-style . Варианты значений для свойства стиля шрифта : нормальный и курсив .Вместо использования имитационного полужирного шрифта измените стили для этого селектора, чтобы он не выделялся курсивом. Добавьте к селектору группы strong em, em strong в файле styles.css свойство font-style со значением normal :


сильный em,
em strong {
    семейство шрифтов: «Зыбучие пески», без засечек;
    стиль шрифта: нормальный;

Это изменит текст, выделенный полужирным курсивом, на полужирный шрифт Quicksand.

Сохраните изменения в styles.css и перезагрузите index.html в своем браузере, чтобы увидеть изменения:

Вы использовали свойства font-weight и font-style в этом разделе, чтобы применить вариации шрифта Quicksand, загруженного из Google Fonts. Затем вы воспользуетесь свойством font-size , чтобы создать более крупный и разборчивый текст с более четкой иерархией среди заголовков.

Использование размера шрифта


В этом разделе вы будете использовать свойство font-size для применения разных размеров шрифта к содержимому на всей странице.Размер текста - важный фактор при передаче информации. Текст хорошего размера легче читать, а заголовки подходящего размера помогают передать иерархию для облегчения беглого просмотра информации. Вы измените размер шрифта на всех элементов, которые вы создали в index.html , чтобы сделать документ более читабельным.

Начните с установки размера шрифта по умолчанию для элемента body . Браузер по умолчанию font-size имеет размер 16px , но может быть полезно для повышения разборчивости многих шрифтов, если они будут немного больше.Откройте файл styles.css и добавьте размер шрифта : 18 пикселей; к корпусу элемент:


  body {
    семейство шрифтов: "Public Sans", Verdana, sans-serif;
    размер шрифта: 18 пикселей;

Откройте index.html в своем браузере или обновите страницу. Изменение размера шрифта в элементе body изменило все шрифты на странице, увеличив их размер.

Размеры шрифта по умолчанию для элементов имеют относительный размер на основе родительского элемента, в данном случае элемента , с использованием процентного значения для размера шрифта.Использование формулы (цель / база) * 100% даст вам процентное значение, которое относительно базового размера шрифта, установленного в элементе .

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

как 45px . Используя формулу, целевой размер составляет 45 пикселей , а базовый размер - 18 пикселей , поэтому формула для этого будет (45/18) * 100% , что дает 250% .Это означает, что предполагаемый размер для

будет в 2,5 раза больше размера базового font-size .

Верните вам файл styles.css и добавьте селектор элементов для h2 и добавьте размер шрифта : 250%; свойство и значение для установки размера шрифта:


h2 {
    размер шрифта: 250%;

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

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

Откройте файл styles.css и начните с добавления комментария после свойства h2 font-size , объясняющего отображаемый размер. Затем для каждого заголовка примените формулу так, чтобы h3 имел размер шрифта , эквивалентный 36px , h4 равнялся 32px , h5 to 26px , h5 to 22px и, наконец, h6 до базового размера 18px .Размер по умолчанию для элемента

меньше, чем базовый размер, поэтому установка его на 100% гарантирует, что он не опустится ниже базового значения:


h2 {
    размер шрифта: 250%; / * 45 пикселей * /

h3 {
    размер шрифта: 200%; / * 36 пикселей * /

h4 {
    размер шрифта: 177,78%; / * 32 пикселя * /

h5 {
    размер шрифта: 162,5%; / * 26 пикселей * /

h5 {
    размер шрифта: 122%; / * 22px * /

h6 {
    размер шрифта: 100%; / * 18 пикселей * /

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

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

Использование свойства

color для выделения текста

В следующем разделе основное внимание уделяется свойству color CSS, использующему цвет для определения порядка и добавления смысла к содержимому. Цвет является одним из наиболее распространенных дизайнерских соображений, в частности, при определении различного значения текста. В этом разделе вы будете использовать именованных цветов , чтобы установить цвет текста. Именованные цвета - это набор предопределенных цветов, который вырос с годами; они соответствуют другим значениям веб-цветов, например, шестнадцатеричным цветовым кодам.В этом разделе будет использоваться список именованных цветов, который можно найти на странице Википедии о веб-цветах. Вы можете оставить страницу веб-цветов Википедии открытой в своем браузере для справки.

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

Чтобы начать использовать цвет , вернитесь к файлу styles.css в текстовом редакторе. Как и в случае с разделом font-size , найдите селектор body и добавьте свойство color . Цвет текста по умолчанию в большинстве браузеров — черный.Для доступного цветового контраста важно, чтобы основной цвет оставался темным на светлом фоне. Используйте именованный цвет DarkSlateGray , который здесь только верблюжий регистр для удобочитаемости, но при желании может быть полностью в нижнем регистре:


  body {
    семейство шрифтов: "Public Sans", Verdana, sans-serif;
    размер шрифта: 18 пикселей;
    цвет: DarkSlateGray;

Сохраните файл styles.css и обновите index.html в браузере.Цвет содержимого изменится с черного на темно-сине-зеленый:

Теперь, когда основной цвет установлен, вы можете начать использовать другие цвета, чтобы обеспечить более визуальную иерархию. Начните с селектора h2 в файле styles.css и добавьте свойство color со значением Indigo :



h2 {
    размер шрифта: 250%; / * 45 пикселей * /
    цвет: индиго;

Сохраните стили .css , вернитесь в браузер и обновите index.html . Текст

теперь имеет темно-фиолетовый цвет вместо темно-сине-зеленого цвета по умолчанию:


Затем вы примените цвета к другим заголовкам. Quicksand — это забавный закругленный шрифт, и вы используете необычный образец контента Cupcake Ipsum, поэтому создайте яркую и яркую цветовую схему, используя разные цвета для каждого заголовка. Вернитесь к styles.css и для каждого из селекторов заголовков добавьте свойство color и значение цвета.Для элемента h3 используйте MediumVioletRed , для h4 используйте LimeGreen , для h5 добавьте Chocolate , для h5 используйте Crimson , затем, наконец, для h6 используйте DeepSky Blue :



h3 {
    размер шрифта: 200%; / * 36 пикселей * /
    цвет: MediumVioletRed;

h4 {
    размер шрифта: 177,78%; / * 32 пикселя * /
    цвет: салатовый;

h5 {
    размер шрифта: 162.5%; / * 26 пикселей * /
    цвет: шоколадный;

h5 {
    размер шрифта: 122%; / * 22px * /
    цвет: малиновый;

h6 {
    размер шрифта: 100%; / * 18 пикселей * /
    цвет: DeepSkyBlue;

После добавления свойств color к заголовкам сохраните styles.css и вернитесь в браузер, чтобы обновить index.html . Ваш контент теперь полон цвета:

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


Работа с текстом — основная часть написания CSS для Интернета. Текст передает значение не только в том, что он говорит, но и в том, как он выглядит. Используя инструменты, которые вы изучили со свойствами font-family , font-weight , font-style , font-size и color , вы можете управлять текстом, чтобы обеспечить содержательный контекст для вашего веб-сайта. .Эти свойства не ограничиваются заголовками, рассматриваемыми в этой статье: их можно использовать с любым элементом, содержащим текст.

Если вы хотите прочитать больше руководств по CSS, посетите нашу страницу темы CSS.

Обработка короткого и длинного содержимого в CSS

При создании макета в CSS важно учитывать и тестировать краткий и длинный текстовый контент. Четкое представление о том, что делать, если текст различается по длине, может предотвратить множество нежелательных проблем.

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


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

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

  • Следует ли обрезать текст?
  • Должны ли мы разбить на несколько строк? Если да, каково максимальное количество строк для переноса?

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

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

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

Кнопка с текстом «ок» очень маленькая по ширине. Я не говорю, что это фатальная проблема, но кнопка может выглядеть слабой или незаметной.

Что делать в таком случае? Может быть, установить на кнопку min-width ? Это может обеспечить безопасную ширину независимо от длины содержимого.

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

Длинное содержание

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

Обертка перелива

Свойство overflow-wrap помогает браузеру установить разрыв в случае, если слово не помещается в свой контейнер.

  .card {
  переполнение-обертка: слово-прерывание;


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

  .element {
  дефисы: авто;

Тем не менее, важно помнить, что дефис : auto будет переносить любое слово, не помещающееся в строку.Что это обозначает? См. Рисунок ниже.

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

Усечение текста

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

Не существует свойства text-truncation или чего-то в этом роде, но это смесь некоторых свойств CSS, которые делают эту работу за нас.

  .element {
  белое пространство: nowrap;
  переполнение: скрыто;
  переполнение текста: многоточие;

Обрезка многострочного текста

Если вы хотите усечение нескольких строк, вы должны использовать свойство line-clamp .

  .element {
  дисплей: -webkit-box;
  -webkit-line-зажим: 3;
  -webkit-box-orient: вертикальный;
  переполнение: скрыто;

Чтобы этот метод работал, необходимо использовать дисплей : -webkit-box . -webkit-line-clamp задает максимальное количество строк для работы усечения.

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

Горизонтальная прокрутка

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

  .code {
  переполнение-x: авто;


В некоторых случаях вы можете забыть добавить padding , пока не заметите визуальную проблему. Рассмотрим следующее:

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

Краткое содержание

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

Установка минимальной ширины

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

Мы можем решить эту проблему, просто добавив к кнопке минимальную ширину . Таким образом, ширина не будет меньше этой.

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

Варианты использования и примеры

Профильная карточка

Это типичный пример длинного контента.Трудно предсказать длину имени. Как с этим бороться?

  / * Решение 1 * /
.card__title {
  переполнение текста: многоточие;
  белое пространство: nowrap;
  переполнение: скрыто;

/ * Решение 2 * /
.card__title {
  дисплей: -webkit-box;
  -webkit-line-зажим: 2;
  -webkit-box-orient: вертикальный;
  переполнение: скрыто;

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

Элементы навигации

При работе с многоязычным макетом длина содержимого будет изменяться.Рассмотрим следующий пример:

Элемент навигации «О программе» больше в LTR (слева направо) по сравнению с RTL (справа налево). В RTL элемент выглядит слишком маленьким. Небольшая интерактивная область — не лучший вариант для UX. Что мы можем сделать? В таком случае будет хорошей идеей установить минимальную ширину для элемента навигации.

  .nav__item {
  минимальная ширина: 50 пикселей;

Подробнее о разнице между словами я подробно писал в моем руководстве по RTL Styling 101.

Содержание статьи

Длинное слово или ссылка — обычное дело, особенно на мобильных устройствах. Рассмотрим следующее:

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

  .article-content p {
  переполнение-обертка: слово-прерывание;


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

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

  .product__name {
  край-правый: 1бэр;

Flexbox и длинный контент

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


Ахмад Шадид

  .user {
  дисплей: гибкий;
  выровнять элементы: гибкий старт;

.имя пользователя {
  переполнение текста: многоточие;
  белое пространство: nowrap;
  переполнение: скрыто;

Однако, если контент длинный, это не сработает. Текст выльется за пределы своего родителя.

Причина в том, что гибкие элементы не сжимаются ниже минимального размера содержимого.Чтобы решить эту проблему, нам нужно установить min-width: 0 для гибкого элемента .user__meta .

  .user__meta {
  / * другие стили * /
  минимальная ширина: 0;

Для меня подробности, вы можете прочитать об этом в статье «Минимальная и максимальная ширина / высота в CSS» в моем блоге.


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

Другие ресурсы

Я написал книгу

Рад сообщить, что я написал электронную книгу об отладке CSS.

Если вам интересно, перейдите на debuggingcss.com, чтобы получить бесплатную предварительную версию.

Как перенести текст на новую строку в CSS

Большие участки текста нарушают стиль или макет вашего веб-сайта? Вот как обернуть текст CSS.

Длинные тексты могут казаться неконтролируемыми во время веб-дизайна.Но они тоже могут быть неизбежными, и иногда они в конечном итоге пересекают границы. Это может создать неплотную объектную модель документа (DOM) с ненужным переполнением, что неудобно для пользователя.

Но вот и хорошие новости: вы можете справиться с такими длинными текстами, перенеся их на новую строку с помощью CSS. Здесь мы покажем вам, как обернуть длинные непрерывные тексты с помощью CSS.

Как работает обтекание текстом CSS

CSS обрабатывает растянутые длинные слова, используя встроенное свойство word-wrap или overflow-wrap .

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

Связано: что вам нужно знать о DOM

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

  • break-word : это фактический синтаксис CSS, который сообщает браузеру перенести длинный текст на новую строку.
  • нормальный : Он разбивает каждое слово в нормальных точках разделения в DOM. Не действует на длинные струны.
  • начальный : это способ обработки строк браузером по умолчанию. Как и обычный синтаксис , он не разбивает длинные слова.
  • inherit : указывает дочернему элементу наследовать свойство своего родителя.Но он по-прежнему не работает с длинными текстами, за исключением того, что вы применяете контрольное слово к родительскому элементу.

Как обернуть длинные слова с помощью CSS Word Wrap

Перенос слов в новую строку с помощью CSS легко и не требует громоздких настроек CSS для работы.

Например, длинный текст h3 в текстовом контейнере в образце изображения ниже пересекает границу:

Давайте посмотрим, как мы можем перенести его на следующую строку, используя свойство word-wrap CSS:



This-div-contains-the-long-h3-lorem-text-shown-in the image above


 .wrap-it {
word-wrap: break-word; перенос слов;

После обертывания длинного текста h3 в образце изображения вот результат:

Вот и все! Теперь вы знаете, как перенести слова на новую строку в вашей модели DOM с помощью CSS.

Связанный: Как настроить таргетинг на часть веб-страницы с помощью селекторов CSS

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

Чтобы вместо этого использовать overflow-wrap , просто замените word-wrap на него.

На веб-странице важно переносить слова

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

Следовательно, применение переноса текста к такому разделу необходимо для сохранения целостности модели DOM.

Как использовать медиа-запросы в HTML и CSS для создания адаптивных веб-сайтов

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

Читать далее

Об авторе

Идову Омисола
(107 опубликованных статей)

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

От Идову Омисола

Подпишитесь на нашу рассылку новостей

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

Нажмите здесь, чтобы подписаться

Как выделить жирным шрифтом, курсивом и иным образом отформатировать текст в HTML

Работая почти исключительно в Документах Google и CMS Hub, я привык выделять текст жирным шрифтом, курсивом и подчеркивать одним нажатием кнопки.

Но что, если ваша панель инструментов не предлагает тот вариант форматирования, который вам нужен? Или вы не работаете в текстовом редакторе или системе управления контентом?

Нет проблем. Все, что вам нужно, это немного HTML и CSS. Ниже мы обсудим некоторые варианты использования форматирования текста. Затем мы рассмотрим процесс создания полужирного, курсивного, подчеркнутого, зачеркнутого, подстрочного и надстрочного текста.

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

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

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

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

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

Как выделить текст в HTML полужирным шрифтом

Есть несколько способов выделить текст в HTML полужирным шрифтом.Вы можете использовать сильный тег, чтобы указать, что текст имеет большую важность или срочность. Браузеры прочитают этот тег и выделят текст полужирным шрифтом. Если вы хотите выделить текст полужирным шрифтом просто для украшения, вы должны использовать свойство CSS font-weight и установить для этого свойства значение «полужирный».

Есть еще один способ выделить текст в HTML полужирным шрифтом: тег . Но это должно использоваться только в крайнем случае, потому что это может затруднить локализацию контента и будущую проверку в соответствии со спецификацией HTML5.По этой причине мы будем показывать только примеры с использованием тега и свойства CSS font-weight.

Как выделить текст в HTML полужирным шрифтом с помощью сильного элемента

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



Использование сильного элемента HTML

Это нормальный абзац.

Этот абзац очень важен!

Вот результат:

Источник изображения

Как выделить текст в HTML полужирным шрифтом с помощью свойства CSS Font-Weight

Если вы хотите просто выделить текст жирным шрифтом для украшения, вы должны использовать свойство CSS font-weight вместо сильного элемента HTML. Допустим, вы хотите выделить слово в абзаце жирным шрифтом. Затем вы должны заключить слово в теги span и использовать селектор CSS, чтобы применить свойство font-weight только к элементу span.

Вот код CSS:

span {

font-weight: bold;




Использование свойства CSS Font-Weight

Это ключевое слово , поэтому я хочу выделить его жирным шрифтом с помощью CSS.

Вот результат:

Источник изображения

Как выделить текст в HTML курсивом

Есть несколько способов выделить текст в HTML курсивом.Вы можете использовать тег em, чтобы указать, что в тексте выделено ударение. Браузеры прочитают этот тег и выделят текст курсивом. Если вы хотите выделить текст курсивом просто для украшения, вы должны использовать свойство CSS font-style и установить для этого свойства значение «курсив».

Есть еще один способ выделить текст в HTML курсивом: тег . Как и тег , он предназначен для использования в крайнем случае. По этой причине мы будем показывать только примеры с использованием тега и свойства CSS font-weight.

Как выделить текст в HTML курсивом с помощью элемента акцента

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



Использование элемента выделения HTML

Это нормальный абзац.

Этот абзац выделен!

Вот результат:

Источник изображения

Как выделить текст в HTML курсивом с помощью свойства стиля шрифта CSS

Если вы хотите просто выделить текст курсивом для украшения, вы должны использовать свойство CSS font-style вместо элемента выделения HTML.Следуя приведенному выше полужирному примеру, скажем, вы хотите выделить слово в абзаце курсивом. Затем вы должны заключить слово в теги span и использовать селектор CSS, чтобы применить свойство font-style только к элементу span.

Вот код CSS:

span {

шрифт: курсив;




Использование свойства CSS Font-Style

Иди в школу сейчас !

Я хотел, чтобы читатель услышал это слово другим тоном, поэтому я выделил его курсивом с помощью CSS.

Вот результат:

Источник изображения

Как подчеркнуть текст в HTML

Чтобы подчеркнуть текст в HTML, используйте свойство CSS text-decoration и установите для этого свойства значение «подчеркивание».

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

Рассмотрим оба метода ниже.

Как подчеркнуть текст в HTML с помощью неартикулированного элемента аннотации

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



Использование неартикулированного элемента аннотации HTML

В этом абзаце нет орфографической ошибки.

В этом абзаце есть орфографические ошибки .

Вот результат:

Источник изображения

Как подчеркнуть текст в HTML с помощью свойства CSS Text-Decoration

Если вы хотите подчеркнуть текст для украшения, а не для представления нетекстовой аннотации, вы должны использовать свойство CSS text-decoration. Вы также можете использовать это свойство для представления орфографической ошибки, как это делает текстовый процессор.

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

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

Вот код CSS:

.орфография {

text-decoration: # FF0000 волнистое подчеркивание;


.grammar {

оформление текста: # 008000 волнистое подчеркивание;




Использование свойства CSS Text-Decoration

В этом абзаце неправильное написание .

В этом абзаце есть грамматическая ошибка .

Вот результат:

Источник изображения

Как отрисовать зачеркнутый текст в HTML

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

Если вы хотите, чтобы текст был зачеркнут по другой причине, вы должны использовать свойство CSS text-decoration-line и установить для этого свойства значение «line-through».

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

Давайте посмотрим на примеры трех методов, поддерживаемых в текущей версии HTML.

Как зачеркнуть текст в HTML с помощью зачеркнутого элемента

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



Использование зачеркнутого HTML-элемента

Еще есть несколько лепешек.


Вот результат:

Источник изображения

Как зачеркнуть текст в HTML с помощью удаленного текстового элемента

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



Использование удаленного текстового элемента HTML

Событие начинается с 7 p.м. ET 18:00 ET. Приносим извинения за ошибку.

Вот результат:

Источник изображения

Как зачеркнуть текст в HTML с помощью свойства CSS Text-Decoration-Line

Если вы хотите зачеркнуть текст для другой цели, вы должны использовать свойство CSS text-decoration-line.

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

Вот код CSS:

.purchased {

text-decoration-line: line-through;




Использование свойства CSS Text-Decoration-Line

Список продуктов

  • Халапеньо
  • Сумка замороженной кукурузы
  • сыр Cotija
  • Mayo
  • Chili Powder
  • Cilantro
  • Лайм

Вот результат:

Источник изображения

Как сделать текстовый индекс в HTML

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

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



Использование элемента нижнего индекса HTML

Вот как это выглядит с тегом нижнего индекса.

CO 2 + H 2 O ↔ H 2 CO 3

Вот как это выглядит без нижнего тега.

CO2 + h3O ↔ h3CO3

Вот результат:

Источник изображения

Как сделать текстовый надстрочный индекс в HTML

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

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



Использование элемента верхнего индекса HTML

Вот как это выглядит с тегами нижнего и верхнего индекса.

CO 2 + H 2 O ↔ H 2 CO 3 ↔ H + + HCO 3 -

Вот как это выглядит без тегов.

CO2 + h3O ↔ h3CO3 ↔ H + + HCO3

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

Использование CSS для управления выделением текста / блоком кодера

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

Иногда полезно, чтобы весь текст в элементе автоматически выделялся при нажатии на него. Это особенно удобно для текста, который копируется / вставляется полностью (фрагменты кода, одноразовые пароли, промокоды и т. Д.).

Это можно сделать с помощью простого CSS. JavaScript не требуется!

  div {
-webkit-user-select: all;
выбор пользователя: все;

Вот демонстрация.Плохие новости, на iOS не работает. Хорошие новости, он изящно ухудшается, поэтому текст по-прежнему можно выбрать.

См. Pen Select All Уилла Бойда (@lonekorean) на CodePen.

Хотя это работает, как ожидалось, вы можете заметить кое-что неприятное: невозможно выбрать что-либо, кроме всего фрагмента кода. Разве не было бы хорошо, если бы первый щелчок выбрал все, но вы все равно могли бы щелкнуть еще раз и выбрать только часть? CSS может это сделать.

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

   здесь находится фрагмент кода   

Затем идет CSS.

  код {
-webkit-user-select: all;
выбор пользователя: все;

код: фокус {
анимация: выбор шага вперед на 100 мс;

@keyframes выберите {
до {
-webkit-user-select: text;
выбор пользователя: текст;

Идея состоит в том, чтобы сначала задать user-select: все на элементе, а затем переключиться на «нормальный» user-select: text после того, как элемент будет в фокусе, чтобы текст мог быть свободно повторно выбран.Сложная часть — это время. Сделайте переключение сразу после фокуса и по выбору пользователя: все исчезнут, прежде чем у него будет возможность выполнить свою работу. Вот тут-то и пригодится анимация .

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

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

См. Перо «Выбрать все … затем выбрать несколько» Уилла Бойда (@lonekorean) на CodePen.

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

  этикетка {
-webkit-user-select: none;
пользовательский выбор: нет;

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

Убедитесь сами в следующей демонстрации. Обратите внимание, как переключатель слева становится подсвеченным при быстром нажатии, а переключатель справа — нет.

См. Ручку, предотвращающую выделение текста от ярости при нажатии Уилла Бойда (@lonekorean) на CodePen.

Этот метод также работает с виджетами раскрытия информации. Поддельные кнопки — например,

с обработчиком click на нем — еще один кандидат. Имейте в виду, что использование реального