jquery - 使用CSS根据父级的宽度显示内容

标签 jquery css media-queries

是否可以根据父div的宽度用css显示某些内容?我在考虑媒体查询方面的问题,但我不希望整个设备宽度只是父 div 的宽度。

我可以用 jQuery 做到这一点 see fiddle (将 < 更改为 > 以查看不同的内容),但想知道是否有一种方法可以用 css3 做类似的事情?

        <div id="parent">
            <div id="content">
            <table>
                <tbody>
                    <tr><td><span class="full">BAHRAIN</span><span class="abbrev">BHR</span></td></tr>
                    <tr><td><span class="full">BELGIUM</span><span class="abbrev">BEL</span></td></tr>
                    <tr><td><span class="full">EGYPT</span><span class="abbrev">EGY</span></td></tr>
                    <tr><td><span class="full">LITHUANIA</span><span class="abbrev">LTU</span></td></tr>
                    <tr><td><span class="full">SWEDEN</span><span class="abbrev">SWE</span></td></tr>
                </tbody>
                </table>
            </div>
        </div>

        <script>
        var w = $('#parent').width();
        console.log('width: ', w);
        if (w<200) 
        {
        $("#content").addClass("showsmall");
        }
        </script>

        <style>
        #parent {width: 300px;}
        .abbrev {display:none;}
        .showsmall .abbrev {display:block;}
        .showsmall .full {display:none;}
        </style>

最佳答案

你的.width永远不会接受IF,因为你在css中设置了width200px

如果你想看到它动态你应该:

  • 将CSS中的width替换为max-width
  • 添加.resize事件

代码:

$(window).resize(function () {
    var w = $('#parent').width();
    console.log('width: ', w);
    if (w < 200) {
        $("#content").addClass("showsmall");
    } else {
        $("#content").removeClass("showsmall");
    }
});

jsFiddle example

关于jquery - 使用CSS根据父级的宽度显示内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17265644/

相关文章:

jquery - 在鼠标悬停时替换响应式 div 背景并单击

css - @media CSS 未在移动网站上显示

php - 根据 PHP 或 Javascript IF 和 ELSE 测试的结果显示 Google Adsense 代码

jquery - 如何使用 jQuery 在 <li> 上添加当前 div?

javascript - 根据父选项条件显示选项字段(子) - 需要 JS 解决方案吗?

javascript - 使用 Underscore 重构对象数组

css - 仅淡入淡出 css

html - 如何防止文本在增长时包裹 float 图像?

css - Bootstrap 3,媒体查询清除 :Left

javascript - 如何用Jquery隐藏导航栏?