一行或两行后的CSS单词省略号('..')
CSS word ellipsis ('...') after one or two lines
我正试图使用CSS在JavaScript中创建一个换行,条件是:
如果DIV包含一个非常长的单词,例如"asdasfljashglajksgkjasgklajsghl",我想显示:
|asdasfljashglajk...|
如果DIV包含一个长句,例如"如果每次告诉我不能"时我都有一角硬币,我想显示:
|if i had a dime for|
|everytime i was... |
我使用HTML、CSS、JavaScript。我不能使用jQuery。
如果可能的话,请告诉我。
发现这个:
http://codepen.io/martinwolf/pen/qlFdp
-webkit-line-clamp
似乎适用于某些浏览器。
为此,您可以使用text-overflow: ellipsis;
属性。像这样写
white-space: nowrap;
text-overflow: ellipsis;
我知道我的anwser有点晚了,但我刚刚写了一段代码,这段代码与有关
if ($('your selector').height() > 50) {
var words = $('your selector').html().split(/'s+/);
words.push('...');
do {
words.splice(-2, 1);
$('your selector').html( words.join(' ') );
} while($('your selector').height() > 50);
}
当然,您应该将jQuery选择器保存在一个变量中,这样就不会每次都查询DOM。
遗憾的是,单凭CSS我认为你做不到。
http://jsfiddle.net/TVVHs/
仅限text-overflow: ellipsis;
与防止多条线路的white-space: nowrap;
一起工作。
可能有一个疯狂的javascript解决方案,它会不断地截断单词,直到元素高度可以接受,但这会很慢,而且非常糟糕。
当你被允许使用jQuery时,你可以在这个链接上看到dotdot插件。。使用起来非常简单,效果非常好!
现在我可以建议你看看这把小提琴!谁能工作text-overflow: ellipsis
在摆弄了CSS之后,我想出了一个"下一个最好的"CSS解决方案:
p.excerpt { position: relative; height: 63px; line-height: 21px; overflow-y: hidden; }
p.excerpt:after { content: '...'; position: absolute; right: 0; bottom: 0; }
这总是假设你至少有3行文本,并且有几个问题。如果最后一个要换行到第4行的单词很长,那么最后一个单词和省略号之间会有一个异常大的空格。同样,如果它是非常小的东西,比如"a",它可以与最后一个单词重叠。
您可以添加另一个容器,并在p
之外使用省略号,通过一些注释调整,我相信有人会做得更好。
如果您能保证内容会被溢出,下面是我提出的解决方案。它适用于我的网站,我想保持它的简单。
html:
<p class="snippet">
[content]
</p>
css:
.snippet {
position: relative;
height: 40px; // for 2 lines
font-size: 14px; // standard site text-size
line-height: 1.42857; // standard site line-height
overflow: hidden;
margin-bottom: 0;
}
.news-insights .snippet:after {
content: "'02026";
position: absolute;
top: 19px;
right: 0;
padding-left: 5px;
background: linear-gradient(to right, rgba(255, 255, 255, 0), white 20%, white); // use vendor prefixes for production code
}
然后,您可以使用填充和背景渐变来获得更时尚的演示。
希望这能回答您的问题
@mixin multilineEllipsis(
$lines-to-show: 2,
$width: 100%,
$font-size: $fontSize-base,
$line-height: 1.6) {
display: block; /* Fallback for non-webkit */
display: -webkit-box;
max-width: $width;
height: $font-size * $line-height * $lines-to-show; /* Fallback for non-webkit */
font-size: $font-size;
-webkit-line-clamp: $lines-to-show;
-webkit-box-orient: vertical;
overflow: hidden;
text-overflow: ellipsis;
}
http://codepen.io/martinwolf/pen/qlFdphttp://caniuse.com/#search=-webkit线夹
当容器的宽度和百分比固定时,显示省略号需要以不同的方式处理。
- 容器宽度固定时
.nooverflow{
display: inline-block;
overflow: hidden;
overflow-wrap: normal;
text-overflow: ellipsis;
white-space: nowrap;
}
- 当容器的宽度为百分比或自动时,在这种情况下,在该容器中定义另一个标记来呈现文本,并将宽度指定为0,最小宽度指定为100%,这样它将采用容器的宽度并显示省略号。下面是要使用的LESS类:
.nooverflow{
display: inline-block;
overflow: hidden!important;
overflow-wrap: normal;
text-overflow: ellipsis;
white-space: nowrap!important;
width: 0;
min-width: 100%;
}
- 当鼠标悬停在文本中的单词上时显示警报
- 匹配一个单词,其中候选人可以跨越顺序组(跨度)
- 如何使用jquery强制一个单词更改大小写等以保留品牌
- 拆分单词jquery
- 如何让程序检查所选单词中是否有按键
- 如何在悬停时流畅地更改单词
- EmberJS中支持单字母单词模型
- 字母计数:返回重复字母数最多的第一个单词
- 如何在Javascript中从字符串中提取某些单词
- 如何创建一个“;表单弹出框“;在chrome中右键单击时位于突出显示的单词上方
- 在javascript中查找单词
- 使用jQuery检查提交时添加到句子中的单词
- dataTables-如何自定义分页类型以显示最后一个页码后面的省略号,
- 如何在PHP中获取特定的字符串单词
- 停止较大单词的重叠
- 如何在没有单词的情况下从命令行运行Node.js程序'节点'
- 一行或两行后的CSS单词省略号('..')
- 省略号后的单词如何计数
- 匹配字符串中不以省略号结尾的单词
- 省略号单词加载屏幕