【发布时间】:2011-06-25 00:28:39
【问题描述】:
我有一个 div 容器,其中包含用户先前输入的文本。我想将 div 的大小调整为这个文本。我不能有固定大小,因为我不知道文本的长度。如果没有指定大小,则 div 取整个窗口的宽度。这给我带来了一些问题,因为我使用的是 JQuery 可拖动插件,并且在拖动 div 时滚动条会立即出现。对此有何建议?
【问题讨论】:
标签: javascript jquery css draggable jquery-ui-draggable
我有一个 div 容器,其中包含用户先前输入的文本。我想将 div 的大小调整为这个文本。我不能有固定大小,因为我不知道文本的长度。如果没有指定大小,则 div 取整个窗口的宽度。这给我带来了一些问题,因为我使用的是 JQuery 可拖动插件,并且在拖动 div 时滚动条会立即出现。对此有何建议?
【问题讨论】:
标签: javascript jquery css draggable jquery-ui-draggable
使用 css 或 style 属性执行此操作。 <div style="display:inline-block"> stuff </div>
display:inline;
display:inline-block;
您可以使用 javascript 进行浏览器检查
类似的东西
var divBlock=(navigator.userAgent.indexOf('Opera')>-1)?"inline":"inline-block";
然后根据该变量设置样式显示选项
请记住,这将导致类似流的行为,因此如果您需要新行,请确保在 div 之后添加 <br />
<div style="display:inline-block;">stuff</div>
<br />
<div style="display:inline-block">stuff 2</div>
或者你可以使用<span></span> 代替 div
【讨论】:
window.opera吗?并不是说 userAgent 嗅探是什么好笑的,但是 Opera 让它变得非常容易。
<div class="myText">My Text</div>
.myText {
display: inline;
}
这会将 div 的长度更改为宽度。如果您希望能够指定最小高度和宽度,请使用 inline-block:
.myText {
display: inline-block;
min-width: 40px;
max-width: 120px; //If you want to start wrapping text at a certain width;
}
【讨论】: