您需要在i
和span
使用css transformation
分開。
我修改了代碼,請看一看,這裏是你的答案。
HTML:
<input type="text" name="name" id="input" required>
<button id="btn">
Check
</button>
<div class="form-error-cont">
<p class="form-err">
<i class="icon-remove">i </i>
<span class="text">Your name is required.</span>
</p>
</div>
CSS
.form-err{
opacity:0;
transition:0.2s all linear;
}
.animate{
opacity:1;
}
.icon-remove,
.text {
display: inline-block;
transition: transform 500ms;
transform: translateY(50px);
}
.text {
transform: translateY(-50px);
}
.animate .icon-remove,
.animate .text {
transform: translateY(0px);
}
.icon-remove {
color: red;
}
jQuery的
$(function(){
$('#btn').click(function(){
var val = $("#input").val();
if(val==''){
$(".form-err").addClass("animate");
} else{
}
});
});
工作小提琴JsFiddle
'.FORM-err.animate .icon去除的不透明度{:0; ''?我不願意將它作爲答案張貼,因爲我不確定這是否是您的意思。 –
確定有可能,不需要「特殊」的CSS選擇器。我建議你做一些關於「轉換」和「轉換」CSS屬性的研究。 –