我的CSS:
#content_right_head span
{
display:inline-block;
width:180px;
overflow:hidden !important;
}
现在它显示内容内容
但是我想展示 内容内容…
我需要在内容后面显示点。内容动态地来自数据库。
我的CSS:
#content_right_head span
{
display:inline-block;
width:180px;
overflow:hidden !important;
}
现在它显示内容内容
但是我想展示 内容内容…
我需要在内容后面显示点。内容动态地来自数据库。
当前回答
如果你正在使用ES6,它可以用三元操作符和模板字面量来创建
function add3Dots(text, limit)
{
return text.length > limit ? `${text.substring(0, limit)}...` : text;
}
其他回答
试试这个,
.truncate {
display:inline-block;
width:180px;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
将.truncate class添加到元素中。
编辑,
上述解决方案并不是在所有浏览器中工作。你可以尝试使用jQuery插件跨浏览器支持。
(function ($) {
$.fn.ellipsis = function () {
return this.eachAsync({
delay: 100,
bulk: 0,
loop: function (index) {
var el = $(this);
if (el.data("fullText") !== undefined) {
el.html(el.data("fullText"));
} else {
el.data("fullText", el.html());
}
if (el.css("overflow") == "hidden") {
var text = el.html();
var t = $(this.cloneNode(true))
.hide()
.css('position', 'absolute')
.css('overflow', 'visible')
.width('auto')
.height(el.height())
;
el.after(t);
function width() { return t.width() > el.width(); };
var func = width;
while (text.length > 0 && width()) {
text = text.substr(0, text.length - text.length * 25 / 100);
t.html(text + "...");
}
el.html(t.html());
t.remove();
}
}
});
};
})(jQuery);
如何打电话,
$("#content_right_head span").ellipsis();
var tooLong = document.getElementById("longText").value;
if (tooLong.length() > 18){
$('#longText').css('text-overflow', 'ellipsis');
}
如果您使用的是text-overflow:ellipsis,浏览器将尽可能地显示该容器中的内容。但是,如果您想指定圆点之前的字母数或剥离一些内容并添加圆点,则可以使用下面的函数。
function add3Dots(string, limit)
{
var dots = "...";
if(string.length > limit)
{
// you can also use substr instead of substring
string = string.substring(0,limit) + dots;
}
return string;
}
叫喜欢
add3Dots("Hello World",9);
输出
Hello Wor...
在这里看到它的行动
函数add3Dots(字符串,限制) { Var dots = "…"; 如果字符串。长度>限制) { //你也可以用substr代替substring String = String .substring(0,limit) + dots; } 返回字符串; } console.log(add3Dots("你好,你今天过得怎么样?",10));
你可以试试这个:
.classname { 宽度:250 px; 溢出:隐藏; 文本溢出:省略; }
非常感谢@sandeep的回答。
我的问题是,我想显示/隐藏文本的跨度与鼠标点击。因此,默认情况下,短文本与点显示,并通过点击长文本出现。再次单击会隐藏长文本并再次显示短文本。
非常简单的事情:只需添加/删除类text-overflow:ellipsis。
HTML:
<span class="spanShortText cursorPointer" onclick="fInventoryShippingReceiving.ShowHideTextOnSpan(this);">Some really long description here</span>
CSS(和@sandeep加。cursorpointer一样)
.spanShortText {
display: inline-block;
width: 100px;
white-space: nowrap;
overflow: hidden !important;
text-overflow: ellipsis;
}
.cursorPointer {
cursor: pointer;
}
JQuery部分-基本上只是删除/添加类cSpanShortText。
function ShowHideTextOnSpan(element) {
var cSpanShortText = 'spanShortText';
var $el = $(element);
if ($el.hasClass(cSpanShortText)) {
$el.removeClass(cSpanShortText)
} else {
$el.addClass(cSpanShortText);
}
}