css 用连字符分隔单词
css break word with hyphen
我想用第一行末尾的连字符来打断这个长单词。
预计:
BERUFSBILDUNGSZENT-
RUM
知道了:
BERUFSBILDUNGSZENT
RUM
这是我的 html 和 css:
<div class="content">BERUFSBILDUNGSZENTRUM</div>
.content {
max-height: 80px;
width: 200px;
overflow-x: hidden;
word-wrap: break-word;
padding: 10px;
-webkit-hyphens: auto;
-moz-hyphens: auto;
-ms-hyphens: auto;
hyphens: auto;
font-weight: bold;
font-size: 16px;
border: solid 1px #000;
}
你可以查看我的JSFiddle
Chrome 显然没有断字(至少在 Windows 上是这样)。使用其他浏览器或平台可能会更好。如果您事先知道要中断的位置,则可以使用 ­
(软连字符)。否则,至少在 Windows 上的 Chrome 中,当 CSS 打断一个长单词时,无法获得连字符,除非它在输入中以开头。
.content {
max-height: 80px;
width: 200px;
overflow-x: hidden;
word-wrap: break-word;
padding: 10px;
font-weight: bold;
font-size: 16px;
border: solid 1px #000;
}
Using soft hyphen:
<div class="content">BERUFSBILDUNGSZEN­TRUM</div>
Using automatic hyphenation (doesn't work in Chrome)
<div class="content" lang="de" style="hyphens: auto; ">BERUFSBILDUNGSZENTRUM</div>
Soft hyphen not displayed if it doesn't break there
<div class="content" style="width: 400px; ">BERUFSBILDUNGSZEN­TRUM</div>
另见 this answer。
将 lang="de"
属性添加到您的 HTML-标签,因为浏览器正在使用由该语言标签决定的算法来决定这一点。
2022年解决方案:
如果您将 lang
属性添加到您的 div 并正常输入“Berufsbildungszentrum”,使用 hyphens: auto;
确实可以正常工作。然后,您可以使用 text-transform: uppercase;
.
再次将单词大写
.content {
max-height: 80px;
width: 200px;
overflow-x: hidden;
padding: 10px;
-webkit-hyphens: auto;
-moz-hyphens: auto;
-ms-hyphens: auto;
hyphens: auto;
font-weight: bold;
font-size: 16px;
text-transform: uppercase;
border: solid 1px #000;
}
<div lang="de" class="content">Berufsbildungszentrum</div>
同时检查更新后的 JSFiddle
我想用第一行末尾的连字符来打断这个长单词。
预计:
BERUFSBILDUNGSZENT-
RUM
知道了:
BERUFSBILDUNGSZENT
RUM
这是我的 html 和 css:
<div class="content">BERUFSBILDUNGSZENTRUM</div>
.content {
max-height: 80px;
width: 200px;
overflow-x: hidden;
word-wrap: break-word;
padding: 10px;
-webkit-hyphens: auto;
-moz-hyphens: auto;
-ms-hyphens: auto;
hyphens: auto;
font-weight: bold;
font-size: 16px;
border: solid 1px #000;
}
你可以查看我的JSFiddle
Chrome 显然没有断字(至少在 Windows 上是这样)。使用其他浏览器或平台可能会更好。如果您事先知道要中断的位置,则可以使用 ­
(软连字符)。否则,至少在 Windows 上的 Chrome 中,当 CSS 打断一个长单词时,无法获得连字符,除非它在输入中以开头。
.content {
max-height: 80px;
width: 200px;
overflow-x: hidden;
word-wrap: break-word;
padding: 10px;
font-weight: bold;
font-size: 16px;
border: solid 1px #000;
}
Using soft hyphen:
<div class="content">BERUFSBILDUNGSZEN­TRUM</div>
Using automatic hyphenation (doesn't work in Chrome)
<div class="content" lang="de" style="hyphens: auto; ">BERUFSBILDUNGSZENTRUM</div>
Soft hyphen not displayed if it doesn't break there
<div class="content" style="width: 400px; ">BERUFSBILDUNGSZEN­TRUM</div>
另见 this answer。
将 lang="de"
属性添加到您的 HTML-标签,因为浏览器正在使用由该语言标签决定的算法来决定这一点。
2022年解决方案:
如果您将 lang
属性添加到您的 div 并正常输入“Berufsbildungszentrum”,使用 hyphens: auto;
确实可以正常工作。然后,您可以使用 text-transform: uppercase;
.
.content {
max-height: 80px;
width: 200px;
overflow-x: hidden;
padding: 10px;
-webkit-hyphens: auto;
-moz-hyphens: auto;
-ms-hyphens: auto;
hyphens: auto;
font-weight: bold;
font-size: 16px;
text-transform: uppercase;
border: solid 1px #000;
}
<div lang="de" class="content">Berufsbildungszentrum</div>
同时检查更新后的 JSFiddle