<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>CSS文本换行属性比较</title>
<style>
.container {
max-width: 800px;
margin: 0 auto;
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
line-height: 1.6;
}
.example {
border: 1px solid #ccc;
padding: 15px;
margin: 20px 0;
border-radius: 5px;
background-color: #f9f9f9;
}
.code {
background-color: #eee;
padding: 10px;
border-radius: 3px;
font-family: monospace;
margin: 10px 0;
}
.nowrap-example {
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.pre-example {
white-space: pre;
}
.break-all-example {
word-break: break-all;
width: 200px;
}
.balance-example {
text-wrap: balance;
width: 250px;
font-weight: bold;
font-size: 1.2em;
}
@supports not (text-wrap: balance) {
.balance-example::after {
content: " (您的浏览器不支持text-wrap: balance)";
font-size: 0.7em;
color: #ff0000;
}
}
</style>
</head>
<body>
<div class="container">
<h1>CSS文本换行属性比较</h1>
<div class="example">
<h2>white-space: nowrap</h2>
<div class="code">white-space: nowrap;</div>
<div class="nowrap-example">
这是一段非常长的文本内容,当设置了white-space: nowrap时,文本不会换行,而是会一直延伸直到遇到br标签或者容器边界,超出部分会被隐藏。
</div>
</div>
<div class="example">
<h2>white-space: pre</h2>
<div class="code">white-space: pre;</div>
<div class="pre-example">
这是一段使用 pre 属性的文本,
它会保留 空格和
换行符,
就像pre标签一样。
</div>
</div>
<div class="example">
<h2>word-break: break-all</h2>
<div class="code">word-break: break-all;</div>
<div class="break-all-example">
这是一个非常长的英文单词:Pneumonoultramicroscopicsilicovolcanoconiosis,以及一个URL:https://www.example.com/very-long-path-name/index.html
</div>
</div>
<div class="example">
<h2>text-wrap: balance</h2>
<div class="code">text-wrap: balance;</div>
<div class="balance-example">
这是一个使用text-wrap: balance的长标题,它会尝试平衡多行文本的长度
</div>
</div>
</div>
</body>
</html>