当前位置:  开发笔记 > 编程语言 > 正文

通过webapp确定打印字符串的宽度

如何解决《通过webapp确定打印字符串的宽度》经验,为你挑选了1个好方法。

在我的(PHP)Web应用程序中,我的网站的一部分保留了最近搜索的历史记录.最近的查询显示在旁边框中.如果查询文本太长,我会截断它并显示省略号.例如:"我很长的疑问是......"

目前,我在一定数量的字符后截断.由于字体不是单字型,因此对所有I的查询比对所有W的查询更窄.我希望它们在椭圆之前都具有相同的宽度.有没有办法获得结果字符串的近似宽度,以便任何给定字符串的椭圆将从一开始就出现大约相同的像素数?CSS有办法吗?PHP?这会更好地由JavaScript处理吗?



1> Robert Grove..:

这是另一个需要它,你不必没有省略号!











这有一个缺陷,如果文本足够短以完全显示,椭圆仍然会显示.

[编辑:2009年6月26日]

根据Power-Coder的建议,我对此进行了一些修改.实际上只有两个变化,即添加doctype(见下面的注释)和display: inline-block.qrytxtDIV 上添加属性.这就是现在的样子......




    



    


笔记:

在IE 8.0,Opera 9,FF 3中查看

doctypeIE需要A 才能display: inline-block使其正常工作.

如果.qrytxtDIV的溢出发生在长字上,则省略号和最后一个可见字之间会有很大的差距.您可以通过查看示例并以较小的增量调整浏览器宽度来查看此内容.(这可能也存在于原始示例中,我可能还没注意到它)

再次,一个不完善的CSS解决方案.Javascript可能是唯一能让效果更完美的东西.

[编辑:2009年6月27日]

这是另一种使用浏览器特定扩展的替代方案.





    



    


请注意,为了使上述示例有效,您必须创建-moz-binding规则引用的xml文件ellipsis-xbl.xml.它应该包含以下xml:


  
    
      
        
          
        
      
    
  

推荐阅读
oDavid_仔o_880
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有