代码之家  ›  专栏  ›  技术社区  ›  David Laberge

同时使用溢出和转换

  •  1
  • David Laberge  · 技术社区  · 12 年前

    我正在尝试在Div上添加翻转卡片效果。想法是能够看到图像并翻转它以填充表格。但表格比图像大,所以我希望能够仅滚动“卡片”的背面

    jsfiddle的来源: http://24ways.org/2010/intro-to-css-3d-transforms/

    我需要更改CSS以在显示表单时滚动。

    正在进行的工作jsFiddle: http://jsfiddle.net/DavidLaberge2014/breb3f0e/

    HTML格式:

    <div class="row">
        <div class="container">
          <div id="card">
            <div class="front">
                <img src="http://lorempixel.com/250/300/sports/" />
            </div>
            <div class="back">
                <form>
                    ...
                </form>
            </div>
          </div>
        </div>
    </div>
    

    CSS:

    .container { 
        width:100%;
        height:100%;
    }
    
    #card {
      -webkit-transform-style: preserve-3d;
      -webkit-transition: -webkit-transform 1s;
      -webkit-transform-origin: right center;
    }
    
    #card div {
      display: block;
      position: absolute;
      width: 100%;
      height: 100%;
      -webkit-backface-visibility: hidden;
    }
    
    #card .front {
    
    }
    
    #card .back {
        -webkit-transform: rotateY(180deg);
        /*overflow:auto Add this and form gets hidden*/
    }
    
    #card.flipped {
      -webkit-transform: translateX(-100%) rotateY(-180deg);
    }
    
    1 回复  |  直到 12 年前
        1
  •  2
  •   Alessandro Incarnati    12 年前

    为了将滚动添加到包含表单的已翻译div,您应该:

    给卡片一个固定的高度

    #card div {
      display: block;
      position: absolute;
      width: 100%;
      height: 300px;
      -webkit-backface-visibility: hidden;
    }
    

    将溢出添加到#card.back容器。

       #card .back {
           overflow-y:scroll;          
           width: 100%;
           height: 300px;           
           position:absolute;  
        }
    

    然后,在卡片区域外,以您喜欢的任何方式在页面上定位按钮,无论是绝对位置、固定位置还是相对位置。

    演示 http://jsfiddle.net/a_incarnati/ysxeu9w8/1/