Html CSS:输入文本中的淡入过渡?

Html CSS:输入文本中的淡入过渡?,html,css,css-transitions,Html,Css,Css Transitions,有没有一种方法可以编写一个CSS转换,当用户输入时,它会在输入文本元素中消失 目前,文本可以在普通HTML文本元素中淡入,因为我们可以告诉它从0过渡到1;但在用户输入文本之前,它并不存在 例如,如果我输入用户名,我输入的字母会淡入,每一个字母的不透明度在0.3秒内从0变为1 我尝试过使用过渡和动画,但希望将其保留在CSS中 我不相信有任何方法可以通过HTMLinput元素做到这一点,当然也不能没有Javascript。任何解决方案都需要为每个字母创建单独的元素,然后分别对每个元素应用转换 如果您

有没有一种方法可以编写一个CSS转换,当用户输入时,它会在输入文本元素中消失

目前,文本可以在普通HTML文本元素中淡入,因为我们可以告诉它从0过渡到1;但在用户输入文本之前,它并不存在

例如,如果我输入用户名,我输入的字母会淡入,每一个字母的不透明度在0.3秒内从0变为1


我尝试过使用过渡和动画,但希望将其保留在CSS中

我不相信有任何方法可以通过HTML
input
元素做到这一点,当然也不能没有Javascript。任何解决方案都需要为每个字母创建单独的元素,然后分别对每个元素应用转换

如果您希望看到它的外观,请在此处查看“type”示例和附带的源代码:

我不相信有任何方法可以通过HTML
输入元素来实现这一点,当然也不能没有Javascript。任何解决方案都需要为每个字母创建单独的元素,然后分别对每个元素应用转换

如果您希望看到它的外观,请在此处查看“type”示例和附带的源代码:

实现类似效果的一种可能方法:使用线性渐变创建部分透明覆盖,并通过移动遮罩位置在键入时逐渐显示

 <div id='container'>
    <input type='text'></input>
    <div class='fader'></div>
 </div>

$("input").on("keydown", function(e) {
    var width = $("input").val().length + 1;
    $(".fader").css("left", (width * 8) + 3);
});


#container {
    position: relative;
    height: 25px;
    width: 400px;
}

input {
    width: 100%;
}

input, .fader {
    display: block;
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    font-family: monospace;
}

.fader {
    top: 2px;
    bottom: 4px;
    pointer-events: none;
    background: linear-gradient(90deg, transparent 0px, white, 15px, white 100%);
    transition: left 1s ease;
}

$(“输入”)。在(“键控键控”下,函数(e){
变量宽度=$(“输入”).val()长度+1;
$(“.fader”).css(“左”,“宽*8)+3);
});
#容器{
位置:相对位置;
高度:25px;
宽度:400px;
}
输入{
宽度:100%;
}
输入,.fader{
显示:块;
位置:绝对位置;
顶部:0;左侧:0;右侧:0;底部:0;
字体系列:monospace;
}
.推子{
顶部:2个;
底部:4px;
指针事件:无;
背景:线性梯度(90度,透明0px,白色,15px,白色100%);
过渡:左1秒轻松;
}
以下是小提琴的外观:


实现类似效果的一种可能方法:使用线性渐变创建部分透明覆盖,并通过移动遮罩位置在键入时逐渐显示

 <div id='container'>
    <input type='text'></input>
    <div class='fader'></div>
 </div>

$("input").on("keydown", function(e) {
    var width = $("input").val().length + 1;
    $(".fader").css("left", (width * 8) + 3);
});


#container {
    position: relative;
    height: 25px;
    width: 400px;
}

input {
    width: 100%;
}

input, .fader {
    display: block;
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    font-family: monospace;
}

.fader {
    top: 2px;
    bottom: 4px;
    pointer-events: none;
    background: linear-gradient(90deg, transparent 0px, white, 15px, white 100%);
    transition: left 1s ease;
}

$(“输入”)。在(“键控键控”下,函数(e){
变量宽度=$(“输入”).val()长度+1;
$(“.fader”).css(“左”,“宽*8)+3);
});
#容器{
位置:相对位置;
高度:25px;
宽度:400px;
}
输入{
宽度:100%;
}
输入,.fader{
显示:块;
位置:绝对位置;
顶部:0;左侧:0;右侧:0;底部:0;
字体系列:monospace;
}
.推子{
顶部:2个;
底部:4px;
指针事件:无;
背景:线性梯度(90度,透明0px,白色,15px,白色100%);
过渡:左1秒轻松;
}
以下是小提琴的外观:


听起来不是特别方便用户,您确定要给用户带来不便吗?听起来不是特别方便用户,您确定要给用户带来不便吗?