javascript - 拉伸(stretch) div 作为最后的手段

标签 javascript jquery html css layout

我正在尝试创建 css 来解决在页面标题旁边显示“like”按钮的问题。我有3个案例。

  • 标题位于“点赞”按钮的左侧
  • 标题很长,并在按钮左侧排成多行
  • 标题包含长单词,溢出了 div 并覆盖了点赞按钮

Cases

我的问题:有没有办法设置 div,以便当情况 3 发生时,div 会增大并按下标题下方的“like”按钮,但对于情况 1 和 2 保持相同的功能?

最佳答案

当单词导致溢出时动态移除宽度。通过删除 width,您可以使按钮向下移动,从而表现得与选项 1 和 2 类似。

使用一些 jQuery/JavaScript 动态检查这些 div,看看某个单词是否会导致溢出。

//Javascript function to remove width class when overflow occurs.
//40em is an arbitrary width
    $.each($('.ConstrainedDiv'),function() {
        var wordregex = /\w+/g;
        var content = $(this).html();
        var wordArray = content.match(wordregex );
        for(var i = 0; i < wordArray.length; i++) {
            if(wordArray[i].length > 40) {
                $(this).removeClass('someWidth');//behavior changes if you remove this
                break;
            }
        }
    });

Fiddle 。通过注释掉标记行来注意行为的差异。 Note2 分辨率和 fiddle 盒宽度很重要。[在 FF7 中测试的演示]

关于javascript - 拉伸(stretch) div 作为最后的手段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8125252/

相关文章:

javascript - 在 dojo 树标签中添加 HTML

php - 成功调用后访问jquery函数?

javascript - 滚动菜单的固定 div

javascript - 使用带填充/高度的过渡时的抖动动画

javascript - 使用默认程序打开文件

javascript - 当 jquery 显示另一个 div 时,我如何隐藏一个 div?

javascript - 突出显示 div 中的文本

javascript - CRM 2011 - 根据另一个字段的值将字段的 'requiredlevel' 设置为必需

javascript - 为什么{}.toString可以检查数据类型?

javascript - 如何通过ajax发送2个选择框动态生成的值以获取第3个选择框值