首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >inline (非inline-block)行为元素的最小宽度

inline (非inline-block)行为元素的最小宽度
EN

Stack Overflow用户
提问于 2012-07-20 12:27:00
回答 2查看 3.2K关注 0票数 1

我想在一个可内容编辑的div上设置最小宽度,旁边还有一些必须与div保持内联的元素。

我见过的每个解决方案都使用内联块,但我不能使用内联块行为。当inline-block开始包装时,它的行为仍然像一个block元素,我需要div作为一个inline元素。我想解决方案需要的不仅仅是CSS,但是当div的文本发生变化时,似乎很难设置任何事件。涉及javascript和/或jQuery的解决方案将是受欢迎的。

编辑:这是我正在尝试做的事情的一个简化版本。如果用户输入的文本超过了页面的宽度,那么内联块和块的行为就会有所不同,这就是我所关心的。

代码语言:javascript
复制
<style type="text/css">
label {
    width: 40px;
    height: 40px;
}
#container {
    font-size: 32px;
}
#content {
    display: inline;
    min-height: 37px; /* doesn't work on inline elements */
    min-width: 80px; /* also doesn't work on inline elements */
}
</style>

<div id="container">
    <input type="radio" />
    <label>
        <span></span>
    </label>
    <span>(A)</span>
    <div id="content" contenteditable="true" unselectable="off">test</div>
</div>
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-07-21 01:09:29

好的,这是我想出来的答案(用jQuery写的)。有没有人能给我一些建议,让我省略掉一些可能不会改变div内容或在div周围放置边框的事件?(我也关心剪切/粘贴)。

代码语言:javascript
复制
$('#content').bind('blur focus load resize scroll click dblclick ' +
        'mousedown mouseup mousemove change ' +
        'select keydown keypress keyup', function () {
    if($(this).width() <= 80) {
        $(this).css("display", "inline-block");
    }
    else {
        $(this).css("display", "inline");
    }
})
票数 2
EN

Stack Overflow用户

发布于 2012-07-20 12:28:59

现在已经习惯了floating

就像这样

代码语言:javascript
复制
a{
background:green;
  min-height:200px;
  float:left;
}

实时演示http://tinkerbin.com/3Ho3Af9c

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11572905

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档