【发布时间】:2013-08-16 00:37:28
【问题描述】:
我想创建一个固定宽度的跨度,当我在该跨度中键入任何内容时,例如<span>lgasdfjksdajgdsglkgsadfasdfadfasdfadsfasdfasddkgjk</span>,一长串无间隔的文本,单词会中断或换行到下一行。
有什么想法吗?
【问题讨论】:
我想创建一个固定宽度的跨度,当我在该跨度中键入任何内容时,例如<span>lgasdfjksdajgdsglkgsadfasdfadfasdfadsfasdfasddkgjk</span>,一长串无间隔的文本,单词会中断或换行到下一行。
有什么想法吗?
【问题讨论】:
您可以使用 CSS 属性 word-wrap:break-word;,如果单词对于您的跨度宽度来说太长,它将破坏单词。
span {
display:block;
width:150px;
word-wrap:break-word;
}
<span>VeryLongLongLongLongLongLongLongLongLongLongLongLongExample</span>
【讨论】:
white-space: normal 有助于覆盖可能妨碍的外部样式:) .. inline-block 和 block 一样有效
尝试在 css 中添加white-space:
span {
display: block;
word-wrap:break-word;
width: 50px;
white-space: normal;
}
【讨论】:
white-space: normal
【讨论】:
默认情况下,span 是 inline 元素...所以这不是默认行为。
您可以通过将 display: block; 添加到您的 CSS 来使 span 以这种方式运行。
span {
display: block;
width: 100px;
}
【讨论】:
试试这个
span {
display: block;
width: 150px;
}
【讨论】:
只是为了扩展问题的实际范围并作为给定答案的附录: 有时可能会发现有必要多指定一些选择器。
通过将整个跨度定义为 display:inline-block,您可能很难显示图像。
因此我更喜欢这样定义一个跨度:
span {
display:block;
width:150px;
word-wrap:break-word;
}
p span, a span,
h1 span, h2 span, h3 span, h4 span, h5 span {
display:inline-block;
}
img{
display:block;
}
【讨论】:
在我的例子中, display: block 破坏了预期的设计。
max-width 属性刚刚救了我。
对于样式,您也可以使用text-overflow: ellipsis。
我的代码是
max-width: 255px
overflow:hidden
【讨论】: