В этой главе вы узнаете о следующих свойствах:
text-overflow
word-wrap
word-break
writing-mode
Свойство CSS text-overflow
определяет, насколько переполнен контент, который не является отображаемое значение должно быть сообщено пользователю.
Его можно обрезать:
This is some long text that will not fit in the box
или его можно представить в виде многоточия (...):
This is some long text that will not fit in the box
CSS-код выглядит следующим образом:
p.test1 {
white-space: nowrap;
width: 200px;
border: 1px solid #000000;
overflow: hidden;
text-overflow: clip;
}
p.test2 {
white-space: nowrap;
width: 200px;
border: 1px solid #000000;
overflow: hidden;
text-overflow: ellipsis;
}
Попробуйте сами →
<!DOCTYPE html>
<html>
<head>
<style>
p.test1 {
white-space: nowrap;
width: 200px;
border: 1px solid #000000;
overflow: hidden;
text-overflow: clip;
}
p.test2 {
white-space: nowrap;
width: 200px;
border: 1px solid #000000;
overflow: hidden;
text-overflow: ellipsis;
}
</style>
</head>
<body>
<h1>The text-overflow Property</h1>
<p>The following two paragraphs contains a long text that will not fit in the box.</p>
<h2>text-overflow: clip:</h2>
<p class="test1">This is some long text that will not fit in the box</p>
<h2>text-overflow: ellipsis:</h2>
<p class="test2">This is some long text that will not fit in the box</p>
</body>
</html>
В следующем примере показано, как можно отобразить переполненное содержимое при наведении курсора на элемент:
div.test:hover {
overflow: visible;
}
Попробуйте сами →
<!DOCTYPE html>
<html>
<head>
<style>
div.test {
white-space: nowrap;
width: 200px;
overflow: hidden;
border: 1px solid #000000;
}
div.test:hover {
overflow: visible;
}
</style>
</head>
<body>
<p>Hover over the two divs below, to see the entire text.</p>
<div class="test" style="text-overflow:ellipsis;">This is some long text that will not fit in the box</div>
<br>
<div class="test" style="text-overflow:clip;">This is some long text that will not fit in the box</div>
</body>
</html>
Свойство CSS word-wrap
позволяет разбивать длинные слова и переносить их на следующую строку.
Если слово слишком длинное и не помещается в определенной области, оно расширяется за пределы:
This paragraph contains a very long word: thisisaveryveryveryveryveryverylongword. The long word will break and wrap to the next line.
Свойство word-wrap позволяет принудительно переносить текст, даже если это означает разделение его по середине слова:
This paragraph contains a very long word: thisisaveryveryveryveryveryverylongword. The long word will break and wrap to the next line.
CSS-код выглядит следующим образом:
Разрешите разбивать длинные слова и переносить их на следующую строку:
p {
word-wrap: break-word;
}
Попробуйте сами →
<!DOCTYPE html>
<html>
<head>
<style>
p.test {
width: 11em;
border: 1px solid #000000;
word-wrap: break-word;
}
</style>
</head>
<body>
<h1>The word-wrap Property</h1>
<p class="test">This paragraph contains a very long word: thisisaveryveryveryveryveryverylongword. The long word will break and wrap to the next line.</p>
</body>
</html>
Свойство CSS word-break
определяет правила разрыва строк.
This paragraph contains some text. This line will-break-at-hyphens.
This paragraph contains some text. The lines will break at any character.
CSS-код выглядит следующим образом:
p.test1 {
word-break:
keep-all;
}
p.test2 {
word-break:
break-all;
}
Попробуйте сами →
<!DOCTYPE html>
<html>
<head>
<style>
p.test1 {
width: 140px;
border: 1px solid #000000;
word-break: keep-all;
}
p.test2 {
width: 140px;
border: 1px solid #000000;
word-break: break-all;
}
</style>
</head>
<body>
<h1>The word-break Property</h1>
<p class="test1">This paragraph contains some text. This line will-break-at-hyphens.</p>
<p class="test2">This paragraph contains some text. The lines will break at any character.</p>
</body>
</html>
Свойство CSS writing-mode
определяет расположены ли строки текста горизонтально или вертикально.
Некоторый текст с элементом span с режимом записи по вертикали.
Some text with a span element with a vertical-rl writing-mode.
В следующем примере показаны некоторые различные режимы записи:
p.test1 {
writing-mode: horizontal-tb;
}
span.test2 {
writing-mode: vertical-rl;
}
p.test2 {
writing-mode:
vertical-rl;
}
Попробуйте сами →
<!DOCTYPE html>
<html>
<head>
<style>
p.test1 {
writing-mode: horizontal-tb;
}
span.test2 {
writing-mode: vertical-rl;
}
p.test2 {
writing-mode: vertical-rl;
}
</style>
</head>
<body>
<h1>The writing-mode Property</h1>
<p class="test1">Some text with default writing-mode.</p>
<p>Some text with a span element with a <span class="test2">vertical-rl</span> writing-mode.</p>
<p class="test2">Some text with writing-mode: vertical-rl.</p>
</body>
</html>
В следующей таблице перечислены свойства текстовых эффектов CSS:
Указывает, как выровненный текст должен быть выровнен и расположен.
Указывает, как пользователю следует сообщать о переполненном содержимом, которое не отображается.
Определяет правила разрыва строк для сценариев, отличных от CJK.
Позволяет разбивать длинные слова и переносить их на следующую строку.
Указывает, располагаются ли строки текста горизонтально или вертикально.