【发布时间】:2017-04-24 07:51:25
【问题描述】:
我正在使用 CSS 在单个页面上显示一些具有效果的文本。
不过,我现在也在尝试使用 flexbox 使其垂直对齐,但很难理解当文本效果使用绝对和相对定位时如何做到这一点。
当前水平对齐文本https://codepen.io/medoix/pen/WoyvMe
CSS
@import "compass/css3";
body{
background:black;
font-family: 'Varela', sans-serif;
}
.glitch{
color:white;
font-size:100px;
position:relative;
width:400px;
margin:0 auto;
}
@keyframes noise-anim{
$steps:20;
@for $i from 0 through $steps{
#{percentage($i*(1/$steps))}{
clip:rect(random(100)+px,9999px,random(100)+px,0);
}
}
}
.glitch:after{
content:attr(data-text);
position:absolute;
left:2px;
text-shadow:-1px 0 red;
top:0;
color:white;
background:black;
overflow:hidden;
clip:rect(0,900px,0,0);
animation:noise-anim 2s infinite linear alternate-reverse;
}
@keyframes noise-anim-2{
$steps:20;
@for $i from 0 through $steps{
#{percentage($i*(1/$steps))}{
clip:rect(random(100)+px,9999px,random(100)+px,0);
}
}
}
.glitch:before{
content:attr(data-text);
position:absolute;
left:-2px;
text-shadow:1px 0 blue;
top:0;
color:white;
background:black;
overflow:hidden;
clip:rect(0,900px,0,0);
animation:noise-anim-2 3s infinite linear alternate-reverse;
}
HTML
<link href='http://fonts.googleapis.com/cssfamily=Varela' rel='stylesheet' type='text/css'>
<div class="glitch" data-text="TEST">TEST</div>
是否可以在 flexbox 内垂直对齐同时仍获得相同的效果?
【问题讨论】:
-
您需要为此使用 flexbox,还是可以使用其他解决方案?
标签: css flexbox css-position