高度等于动态宽度(CSS流体布局)

这个问题在这里已经有了答案:

  • 用CSS 18个答案保持div的纵横比

  • 使用jQuery,你可以通过做到这一点

    var cw = $('.child').width();
    $('.child').css({'height':cw+'px'});
    

    查看http://jsfiddle.net/n6DAu/1/上的工作示例


    [更新:尽管我独立发现了这个窍门,但我知道蒂埃里科布伦茨打败了我。 你可以在A List Apart上找到他2009年的文章。 信贷到期的信用。]

    我知道这是一个老问题,但我遇到了类似的问题,我只用CSS解决了这个问题。 这是我的博客文章,讨论解决方案。 这篇文章中包含一个实例。 代码在下面转贴。

    HTML:

    <div id="container">
        <div id="dummy"></div>
        <div id="element">
            some text
        </div>
    </div>
    

    CSS:

    #container {
        display: inline-block;
        position: relative;
        width: 50%;
    }
    #dummy {
        margin-top: 75%; /* 4:3 aspect ratio */
    }
    #element {
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        right: 0;
        background-color: silver /* show me! */
    }
    

    #container {
      display: inline-block;
      position: relative;
      width: 50%;
    }
    
    #dummy {
      margin-top: 75%;
      /* 4:3 aspect ratio */
    }
    
    #element {
      position: absolute;
      top: 0;
      bottom: 0;
      left: 0;
      right: 0;
      background-color: silver/* show me! */
    }
    <div id="container">
      <div id="dummy"></div>
      <div id="element">
        some text
      </div>
    </div>

    有一种使用CSS的方法!

    如果根据父容器设置宽度,则可以将高度设置为0,并将填充底部设置为根据当前宽度计算的百分比:

    .some_element {
        position: relative;
        width: 20%;
        height: 0;
        padding-bottom: 20%;
    }
    

    这适用于所有主流浏览器。

    JSFiddle:https://jsfiddle.net/ayb9nzj3/

    链接地址: http://www.djcxy.com/p/15813.html

    上一篇: Height equal to dynamic width (CSS fluid layout)

    下一篇: How can I create a "tooltip tail" using pure CSS?