【问题标题】:How to dynamically set div size?如何动态设置div大小?
【发布时间】:2011-06-25 00:28:39
【问题描述】:

我有一个 div 容器,其中包含用户先前输入的文本。我想将 div 的大小调整为这个文本。我不能有固定大小,因为我不知道文本的长度。如果没有指定大小,则 div 取整个窗口的宽度。这给我带来了一些问题,因为我使用的是 JQuery 可拖动插件,并且在拖动 div 时滚动条会立即出现。对此有何建议?

【问题讨论】:

    标签: javascript jquery css draggable jquery-ui-draggable


    【解决方案1】:

    使用 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>
    

    或者你可以使用&lt;span&gt;&lt;/span&gt; 代替 div

    【讨论】:

    • 做好准备不会有什么坏处> 我愿意:P
    • 听说过window.opera吗?并不是说 userAgent 嗅探是什么好笑的,但是 Opera 让它变得非常容易。
    【解决方案2】:
    <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;
    }
    

    【讨论】:

    猜你喜欢
    • 2011-11-11
    • 1970-01-01
    • 2017-12-29
    • 2015-12-20
    • 1970-01-01
    • 2021-12-10
    • 2011-12-25
    • 2012-05-18
    • 2019-11-25
    相关资源
    最近更新 更多