在固定位置将元素设置为屏幕大小的动画
Animate an element to the size of screen in fixed position
如何设置 <div>
动画以在单击时展开以适合屏幕。一直保持在固定位置,然后显示 <div>
的内容
图片:
- 为您的元素设置 CSS3
transition
。
- 创建一个 class 使您的元素
100vw
和 100vh
(视口宽度高度单位)
- 在点击时添加 class
$("#box").on("click", function() {
$(this).toggleClass("fullScreen");
});
html, body{height:100%;margin:0;}
/* YOUR BOX */
#box{
position: fixed;
overflow: hidden; /* in order to contain content */
/* The initial styles: */
border-radius: 25px;
background: red;
left:50px; bottom:50px;
width: 50px;
height: 50px;
/* TRANSITION TO THE RESCUE */
transition: 0.7s;
-webkit-transition: 0.7s;
}
/* ADD THIS CLASS WITH JS */
#box.fullScreen{
/* Your override styles: */
border-radius: 0;
background: gold;
left:0; bottom:0;
width: 100vw;
height:100vh;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="box">CLICK</div>
您可以使用transform: scale( )
按比例上下缩放全屏框。缩放也会影响框的内容。小版本的盒子与全屏盒子具有相同的纵横比。
例子
$("#box").on("click", function() {
$(this).toggleClass("fullScreen");
});
html, body{height:100%;margin:0;}
/* YOUR BOX */
#box{
position: fixed;
cursor: pointer;
background-color: red;
/* make the box full screen */
width: 100vw; /* IE9+ */
height:100vh; /* IE9+ */
top: 0;
left: 0;
/* scale it down to 0.1 (10%) initially,
make an offset from bottom left */
-ms-transform: translate(50px, -50px) scale(0.1); /* IE9 */
-ms-transform-origin: left bottom; /* IE9 */
transform: translate(50px, -50px) scale(0.1);
transform-origin: left bottom;
/* smooth transition (IE10+) */
-webkit-transition: all 0.7s ease;
transition: all 0.7s ease;
}
/* ADD THIS CLASS WITH JS */
#box.fullScreen {
/* Your override style:
remove offset, scale it to 1 (100%) */
-ms-transform: translate(0px, 0px) scale(1); /* IE9 */
transform: translate(0px, 0px) scale(1);
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div>click the box</div>
<div id="box">your content</div>
如何设置 <div>
动画以在单击时展开以适合屏幕。一直保持在固定位置,然后显示 <div>
图片:
- 为您的元素设置 CSS3
transition
。 - 创建一个 class 使您的元素
100vw
和100vh
(视口宽度高度单位) - 在点击时添加 class
$("#box").on("click", function() {
$(this).toggleClass("fullScreen");
});
html, body{height:100%;margin:0;}
/* YOUR BOX */
#box{
position: fixed;
overflow: hidden; /* in order to contain content */
/* The initial styles: */
border-radius: 25px;
background: red;
left:50px; bottom:50px;
width: 50px;
height: 50px;
/* TRANSITION TO THE RESCUE */
transition: 0.7s;
-webkit-transition: 0.7s;
}
/* ADD THIS CLASS WITH JS */
#box.fullScreen{
/* Your override styles: */
border-radius: 0;
background: gold;
left:0; bottom:0;
width: 100vw;
height:100vh;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="box">CLICK</div>
您可以使用transform: scale( )
按比例上下缩放全屏框。缩放也会影响框的内容。小版本的盒子与全屏盒子具有相同的纵横比。
例子
$("#box").on("click", function() {
$(this).toggleClass("fullScreen");
});
html, body{height:100%;margin:0;}
/* YOUR BOX */
#box{
position: fixed;
cursor: pointer;
background-color: red;
/* make the box full screen */
width: 100vw; /* IE9+ */
height:100vh; /* IE9+ */
top: 0;
left: 0;
/* scale it down to 0.1 (10%) initially,
make an offset from bottom left */
-ms-transform: translate(50px, -50px) scale(0.1); /* IE9 */
-ms-transform-origin: left bottom; /* IE9 */
transform: translate(50px, -50px) scale(0.1);
transform-origin: left bottom;
/* smooth transition (IE10+) */
-webkit-transition: all 0.7s ease;
transition: all 0.7s ease;
}
/* ADD THIS CLASS WITH JS */
#box.fullScreen {
/* Your override style:
remove offset, scale it to 1 (100%) */
-ms-transform: translate(0px, 0px) scale(1); /* IE9 */
transform: translate(0px, 0px) scale(1);
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div>click the box</div>
<div id="box">your content</div>