Javascript 找出元素的有效宽度并调整其中文本的大小
我想找出定义了Javascript 找出元素的有效宽度并调整其中文本的大小,javascript,html,css,html-table,Javascript,Html,Css,Html Table,我想找出定义了style='width:200px,但文本使其变长(不中断)。我想找出有效宽度,只要它大于200px,每次将文本大小缩小约2px 这有可能吗?您需要JavaScript来实现这一点。但是,如果您想单独使用CSS,可以将CSS表达式与表达式一起使用 td {width: expression(this.style.width);} 希望有帮助!:) 这可以在javascript中完成,但有点复杂 以下是完整的工作示例: HTML: <table><tr>&
style='width:200px代码>,但文本使其变长(不中断)。我想找出有效宽度,只要它大于200px,每次将文本大小缩小约2px
这有可能吗?您需要JavaScript来实现这一点。但是,如果您想单独使用CSS,可以将CSS表达式与表达式一起使用
td {width: expression(this.style.width);}
希望有帮助!:) 这可以在javascript中完成,但有点复杂
以下是完整的工作示例:
HTML:
<table><tr><td id=txtcell nowrap><span id=txt>My long text is long. My long text.</span></td></tr></table>
<br>Font Size : <span id=mes></span>
javascript:
var fontSize = 20;
var reduce = function() {
while ($('#txt').width() > 200) {
fontSize -= 1;
$('#txt').css('font-size', fontSize);
}
$('#mes').html(fontSize); // this line is only for demonstration, remove it in "production"
};
reduce();
请注意,我必须在单元格中添加一个span,因为jquery的TD-width计算效果不太好。您想使用JavaScript查找它吗?@Praveen我删除了您在“expression”标记中添加的内容:OP没有明确指出他想要的是什么。CSS表达式只与Internet Explorer兼容,甚至微软早就放弃了。我对你的JS做了一些编辑,因为间隔时间太长,所以用户可以看到交互。这样,它工作得非常好:var fontSize=20;var reduce=function(){while($('#txt').width()>200){fontSize-=1;$('#txt').css('font-size',fontSize);}$('#mes').html(fontSize);};减少();好啊如果您认为我的答案对其他人有用,您可以直接编辑我的答案。这个答案是通过二进制搜索进行改进的完美候选答案。
var fontSize = 20;
var reduce = function() {
while ($('#txt').width() > 200) {
fontSize -= 1;
$('#txt').css('font-size', fontSize);
}
$('#mes').html(fontSize); // this line is only for demonstration, remove it in "production"
};
reduce();