<li>标记内的文本换行
Text wrap inside <li> tag
我在div上有以下结构:
<div class="box1" id="infobox">
<h2> Point characteristics: </h2>
<div style="padding-left:30px" align="left">
<ul>
<li class="infobox_list"><b>X value: </b><span class="clsshorted infobox_text" id="infobox_xvalue"> </span></li>
<li class="infobox_list"><b>Y value: </b><span class="clsshorted infobox_text" id="infobox_yvalue"> </span></li>
<li class="infobox_list"><b>Description: </b><span class="clsshorted infobox_text" id="infobox_description"> </span></li>
</ul>
其中类"infobox_list"包含以下CSS:
.infobox_list {
padding: 0px 0px 10px 0px;
width: 500px;
}
类 "clsshorted" 包含以下 CSS:
span.clsshorted {
vertical-align: bottom;
overflow: hidden;
white-space: nowrap;
display: inline-block;
text-overflow: ellipsis;
width: 300px;
}
类 "infobox_text" 包含以下 CSS:
.infobox_text {
overflow: auto;
white-space: nowrap;
word-wrap:break-word;
}
示例可在以下位置看到: https://jsfiddle.net/nowv94yz/
我一直遇到两个我不知道如何处理的问题:
- 我
遇到的第一个问题是,我通过使用 JQuery 的"toggleClass()"函数切换了类"clsshorted"。当 clsshorted 类处于活动状态时,我希望来自"text-overflow"属性的"省略号"文本在
<li>
标签的末尾省略号(在 CSS 中可以看到宽度为 500px),而不是在我输入的 300px 上。问题是,由于字符串太长(并且没有空格),如果我不输入 300px,它不会省略文本或超出框大小......(检查JSFIDDLE AVOBE以查看问题)我遇到的第二个问题是,当"clsshort"类不处于活动状态时,因此只有"infobox_text"类处于活动状态,我希望这个没有空格的大字符串完全显示,但尊重
<li>
标签的边界。这意味着,如果<li>
标签的宽度为 500px,并且字符串需要 1501px 才能显示,则会出现 4 个两端对齐的行,其中包含在单词到达框内容末尾的部分剪切的字符串 (500px)
关于如何做到这一点的任何想法?
提前谢谢你!
对于第二个问题,您只需要从.infobox_text
中删除white-space: nowrap;
。
相关文章:
- 在文本区域中使用jQuery.text()保持换行符
- Internet Explorer中的文本换行错误
- 编辑数据库输入时在文本框上换行
- 在导航图标css下换行文本
- 如何在锚标记中自动换行文本 URL
- 角度-换行文本
- 在绝对定位元素周围换行文本
- 如何用jQuery在span标签中换行文本,除了第一个单词
- 你能在@符号上换行文本吗?
- 在span标签中换行文本
- 在span标签中换行文本,知道文本的开始和结束位置
- RegExp:匹配可选的换行文本
- Jquery datatable -设置列宽度和换行文本
- 在文本区域中插入一个 而不是换行文本
- SVG:使用getComputedTextLength来换行文本
- CSS - 沿角度换行文本
- Javascript 正则表达式查找字符并使用 span 动态换行文本
- 在 JavaScript 中换行文本
- 在固定分隔符周围换行文本
- 如何根据列的宽度换行文本