已经提出了类似的问题,但解决方案确实与我想要做的事情相吻合.基本上,我有一篇标题(<h1>)的文章.我不想控制标题的长度,但我也不希望标题出现在多行上.有没有办法用css或jQuery根据<div>标签的宽度调整文本大小?
我知道如果我能检测到文本与边缘的重叠,我会用伪代码做什么<div>:
var fontize = $("#title").css("font-size");
var i = /*remove unit from integer*/
while( /*text overlaps div*/ ){
$("#title").css("font-size", --i+"pt");
}
Run Code Online (Sandbox Code Playgroud)
如果有一个CSS属性我可以设置更好,但我似乎找不到一个(溢出在这种情况下不起作用).
目前,我有这个DIV,注册表单位于页面中心.DIV的内容来自ascx页面.这很好地完成了.现在,如果用户尝试填写不唯一的名称,则会在username字段旁边添加一些错误消息.这打破了DIV的布局,因为现在的内容比以前更宽.所以我已经google了我的方式,但我找不到解决方案.
任何人都可以帮我找到一个很好的方法(伪HTML/js):
<div id="myCenteredDiv" onChangeContents="resizeToNewSize()">
<!-- div contents -->
</div>
<script type="text/javascript">
function resizeToNewSize() {
$("#myCenteredDiv").animateToSize($("#myCenteredDiv").contentWidth,
$("#myCenteredDiv").contentHeight);
}
</script>
Run Code Online (Sandbox Code Playgroud)
我正在寻找"onChangeContents"方法(和/或事件)和"div.contentWidth"属性.
非常感谢帮助我!
更新:试图更清楚地解释问题
假设我有这个DIV:
<div id="myDiv">
<form ...>
Enter your name: <input id="txtYourName" type="text" name="YourName" value="" />
<span id="errorYourName"></span>
<input type="submit" ... />
</form>
</div>
Run Code Online (Sandbox Code Playgroud)
让我们说我有这个jQuery片段:
$(document).ready(function() {
$("#txtYourName").live("blur", function() {
if (validateInput($("#txtYourName").val())) {
$("#errorYourName").html("");
// entry 1
} else {
// entry 2
$("#errorYourName").html("This name is not valid.");
}
});
});
Run Code Online (Sandbox Code Playgroud)
... validateInput(value)返回true有效值.
现在好了.SimpleModal插件获取div并将其置于页面的中心,具有一定的宽度和高度,它以某种方式读取div的内容.因此div不比输入框宽,因为此时跨度是空的.
当输入框失去焦点时,会在范围中输入错误消息.然后这打破了div的布局.
我可以把代码放入entry …
我有一个div带有文字的电阻.我希望文本按照div更改大小进行缩放.
具体来说,我希望文本具有最大可能的字体大小,使其适合div.