📅  最后修改于: 2023-12-03 14:58:47.139000             🧑  作者: Mango
当在一个元素中使用了transform
属性进行旋转、偏移等动画操作时,可能会出现文本在旋转时溢出该元素,尤其是在每行的结尾处,导致页面显示不美观。
overflow: hidden;
属性将元素设置为 overflow: hidden;
,可以让溢出的文本隐藏。但是这样做会导致文本被截断,部分内容无法显示。
word-wrap: break-word;
属性将元素设置为 word-wrap: break-word;
,可以让文本在单词内自动换行,避免出现单个单词溢出元素的情况。但是这样做也会导致文本被截断,部分内容无法显示。
一些 JavaScript 库可以动态检测元素中的文本溢出,并自动进行换行处理。比如:jQuery文本折行插件、textHeight等。
display: table;
属性将元素设置为 display: table;
,然后在该元素内添加一个子元素,并设置子元素为 display: table-cell; vertical-align: middle;
,可以让文本在旋转时自动居中显示,并且不会溢出。但是这种方式需要额外添加一个子元素,有一定的性能开销。
.container {
overflow: hidden;
word-wrap: break-word;
}
.container .text {
transform: rotate(-45deg);
}
.container .text {
display: table;
}
.container .text span {
display: table-cell;
vertical-align: middle;
}
<div class="container">
<div class="text">颤动中新行中的文本溢出-无论<span></span></div>
</div>