我想在水平和垂直居中的文本上制作“进来”动画。在动画运行之前,文本将比视口宽。在动画期间,文本的字体大小和字母间距将减小,以便动画结束后文本适合视口。
问题是,只要文本比视口宽,文本只会溢出左侧并且不居中。在这里查看我的代码
HTML:
<div id="welcome">
<div id="welcome_text_wrap">
<div id="welcome_text">sometext</div>
</div>
</div>
<div id="page_container">
<h2>Page Content</h2>
</div>
CSS:
#welcome {
width: auto;
min-width: 100%;
max-width: 100%;
height: 100%;
min-height: 100%;
max-height: 100%;
background: black;
z-index: 1000;
display: none;
}
#welcome_text_wrap {
display: table-cell;
vertical-align: middle;
text-align: center;
}
#welcome_text {
font-size: 40vw;
letter-spacing: 1em;
font-family: serif;
color: white;
text-transform: lowercase;
opacity: 0;
border: 1px solid red;
display: inline;
}
.after_animation {
font-size: 12vw !important;
letter-spacing: 0em !important;
opacity: 1 !important;
}
JS:
function show_welcome() {
$("#welcome").css("display", "table");
$("#welcome_text").addClass("after_animation", {
duration: 5000,
children: true,
easing: 'easeInOutQuint',
complete: function() {
setTimeout(4000, $("#welcome").fadeOut(800));
}
});
}
$(document).ready(function(e) {
show_welcome();
});
即使文本不适合视口,如何使文本居中?另外,有没有更好的方法来制作这种动画?也许使用 CSS 3 过渡?
谢谢分配,
缺口