我们经常会遇到一行显示不完内容,这时候就需要对显示文字进行截取,根据不同的需求,可以归纳为以下几种显示方式:
1)、直接硬截取,不显示多余的文字(可以用 ...代替截余)
jQuery substring方法截取字符串
<div id="aa"> <p>豆腐,干豆腐干的</p> <p>根据.规划局规划</p> <p>输入'法斯蒂芬斯蒂芬森</p> </div> <script type="text/javascript"> $(document).ready(function(){ $('#aa p').each(function(){ var maxw=5; if($(this).text().length > maxw){ $(this).text($(this).text().substring(0,maxw)); $(this).html($(this).html()+'...'); } }); }); </script>
2)、单行字符显示过长处理方法
光标移动到下面 div 上,就能够看到全部文本,(使用的text-overflow:ellipsis | clip 两个属性值)
<style> div.test { white-space:nowrap; width:12em; overflow:hidden;} div.test:hover { text-overflow:inherit; overflow:visible;} </style> <p>如果您把光标移动到下面两个 div 上,就能够看到全部文本。</p> <p>这个 div 使用 "text-overflow:ellipsis" :</p> <div class="test" style="text-overflow:ellipsis;"> This is some long text that will not fit in the box </div> <p>这个 div 使用 "text-overflow:clip":</p> <div class="test" style="text-overflow:clip;"> This is some long text that will not fit in the box </div>
3)、鼠标放到文字上方,友好的提示全部文本
/** title提示类 **/ var Title = { /** 显示提示 **/ showTitle:function(event,val){ if(val){ var titleHtml = '<div style="width:auto;height:auto;overflow:hidden;border:1px solid #878787; border-radius:3px;font-size:12px;background:#fafafa;background: -moz-linear-gradient(top,#ffffff,#e5e7f2); background: -webkit-gradient(linear, left top, left bottom, color-stop(#ffffff), color-stop(#e5e7f2)); background: -webkit-linear-gradient(top,#ffffff,#e5e7f2);background: -o-linear-gradient(top,#ffffff,#e5e7f2); background: -ms-linear-gradient(top,#ffffff,#e5e7f2);background: linear-gradient(to bottom,,#ffffff,#e5e7f2); padding-right:7px;position:absolute;display:none;z-index:2000"><p id="divTitle" style="height:auto; margin-left:8px;margin-top:4px;margin-bottom:4px; "></p></div>'; $("body").append(titleHtml); x = event.clientX+document.body.scrollLeft + document.documentElement.scrollLeft + 5; y = event.clientY+document.body.scrollTop + document.documentElement.scrollTop; $('#divTitle').html(val); $('#divTitle').parent().css('left',x); $('#divTitle').parent().css('top',y); $('#divTitle').parent().show(); } }, /** 隐藏提示 **/ hideTitle:function(){ $('#divTitle').hide(); $('#divTitle').parent().remove(); }, } 使用方式:后端使用(前端相应更改) $msg = '<sapn onmouseout="Title.hideTitle()" onmouseover="Title.showTitle(event,\''.$msg2.'\')" style="color:red; font-size:12px;font-weight: 500;">'.mb_substr($msg2,0,18,'utf-8').'......</sapn>';
本文为崔凯原创文章,转载无需和我联系,但请注明来自冷暖自知一抹茶ckhttp://www.cksite.cn