判断表格单元格内文字如果被自动换行,则缩小字体直到不用换行

cuixiping 2007-07-03 09:07:03
因为打印涉及到这个需要,还没找到途径
...全文
922 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
cuixiping 2007-07-04
  • 打赏
  • 举报
回复
这个思路可以实现,不过跟打印结合起来还是要进行比较烦琐的脚本css控制,因为屏幕看和打印用的css不一样,屏幕上显示要求字能看清(最低12px,可换行),但要在打印时缩小字体使不换行。

都说做WEB麻烦,确实麻烦啊,鸡毛蒜皮的事情太多了。
yixianggao 2007-07-03
  • 打赏
  • 举报
回复
补充一句,对于可换行的情况同样适用,

不过要增加相应的高度判断就行了,这样适用范围更广一些。

而 LZ 所说的单行情况只是一种特例。
rczjp 2007-07-03
  • 打赏
  • 举报
回复
function $(o)什么意思呢?
yixianggao 2007-07-03
  • 打赏
  • 举报
回复
呵呵,毛毛虫动作还挺快,思路和俺的一样,俺就不贴了。

不过俺还想到一种解法,就是在 td 里放个 div ,当然要指定 div 的 width 属性,

之后就是比较 width 和 scrollWidth 属性了,如果 scrollWidth > width 那么就缩小字体!

直到比较返回 false。

其实解法二与解法一没啥大区别,就是表格不会乱动了,哈
deninghe 2007-07-03
  • 打赏
  • 举报
回复
<table border=1>
<tr>
<td style="width:200px;" id="td1">内容内容内容内容内容内容内容内容内容内容</td>
</tr>
</table>
<script>
function $(o){return document.getElementById(o)}
$("td1").style.fontSize = "12px";
var w = $("td1").style.width;//单元格样式宽度
$("td1").style.wordBreak = "keep-all";
var W = $("td1").offsetWidth;//单元格不换行时的实际宽度
alert(w)
while((W-4) > parseInt(w)){//循环缩小字体
$("td1").style.fontSize = parseInt($("td1").style.fontSize) - 1 + "px";
W = $("td1").offsetWidth;
alert(W)
}
//$("td1").style.wordBreak = "break-all";
</script>
可以了哈
浪尖赏花 2007-07-03
  • 打赏
  • 举报
回复
关注
yixianggao 2007-07-03
  • 打赏
  • 举报
回复
Double Star 呀!高手提问更要认真回答!

好像有点儿思路了,俺去试试看,稍后回来!

顶一下先,哈

87,907

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧