translate3d(x,y,z)在頁面佈局中的使用
阿新 • • 發佈:2019-01-27
很快,又到了月底,最近遇到了一個問題,弄了蠻久,做下總結,溫故知新!!!
這是餓了麼的商家頁面,底層的購物車頁面(父層)是使用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