1. 程式人生 > >translate3d(x,y,z)在頁面佈局中的使用

translate3d(x,y,z)在頁面佈局中的使用

很快,又到了月底,最近遇到了一個問題,弄了蠻久,做下總結,溫故知新!!!

這裡寫圖片描述
這是餓了麼的商家頁面,底層的購物車頁面(父層)是使用fixed佈局的,固定在下方。購物車詳情頁(子層)預設顯示,當點選父層的時候,子層就會展開。

-----------HTml程式碼
<body>
  <div class="shopCart">
    <div class="content">我是購物車層</div>
    <div class="detail" style="display:none">我是購物車詳情頁(彈出層)
      1111111111111111111111111
1111111111111111111111111 1111111111111111111111111 我是購物車詳情頁(彈出層)</div> </div> </body>
---------------樣式程式碼
.shopCart{
position: fixed;
      bottom:0;
      left: 0;
      width:100%;
      height:50px;
      background: #000;
    }
    .content {
      color: #fff;
    }
    .detail
{ position: absolute; top:0; left:0; width:120px; color: #ff0b20; /*transform: translate3d(0,-100%,0);*/ //後續新增 } </style>
--------------js程式碼
<script>
    window.onload = function(){
      var shopcart = document.querySelector('.shopCart');
      var detail = document.querySelector('.detail'
); shopcart.onclick = function(){ detail.style.display='block'; } }
  • 1.在沒有新增 transform: translate3d(0,-100%,0);的時候,效果如下,子層是以父層來定位的,也只能在父層內部顯示。
    這裡寫圖片描述
  • 2.添加了transform: translate3d(0,-100%,0);的時候,效果如下:子層就會超出父層區域
  • 3.注意:(1)transform: translate3d(0,-100%,0);中的-100%,是為了讓子元素以自身內容,往上撐開自己的文字內容。
    這裡寫圖片描述

好了,就這麼多了,希望對小夥伴們有用!!2017.10.31