gpt4 book ai didi

html - 如何阻止占位符转换回来? (CSS)

转载 作者:行者123 更新时间:2023-12-05 06:49:02 25 4
gpt4 key购买 nike

我试图创建一个具有占位符过渡效果的输入字段,为此我使用了 <span>标记来保存占位符并使用 :focus 转换它CSS 选择器它工作得很好,但问题是在我们输入文本并单击输入区域/文本字段区域之外的任何地方后,占位符转换回来并与输入的文本重叠。如果文本区域当前有文本,我希望占位符不过渡回来。此外,还有一个问题是,如果单击占位符,文本字段不会被选中。我怎样才能清除这些错误?我提供了以下代码:

<!DOCTYPE html>
<html lang="en">

<head>
<title>Input</title>

<style>
body {
margin: 0px;
}

#top-heading {
padding: 1rem;
text-align: center;
margin: auto;
margin-bottom: 1rem;
}

textarea {
width: 85%;
display: block;
height: 10vh;
margin: 1.5rem;
margin-top: 0rem;
padding: 0.5rem;
font-size: large;
}

span {
position: absolute;
top: 6rem;
padding-left: 2.7rem;
color: rgb(121, 120, 120);
font-size: larger;
}

textarea:focus~span {
color: black;
font-size: 1.091rem;
transition: .6s ease;
transform: translate3d(-1.15rem, -1.9rem, 2rem);
}
</style>
</head>

<body>
<h1 id="top-heading">Input</h1>

<textarea id="txt-input"></textarea>
<span>Enter the input</span>
</body>

</html>

最佳答案

你能检查下面的代码吗?希望它对你有用。您需要将 transition: .6s ease; 属性赋予 span 标记而不是 textarea:focus~span

请引用此链接:https://jsfiddle.net/yudizsolutions/kjfc0z37/

<!DOCTYPE html>
<html lang="en">

<head>
<title>Input</title>

<style>
body {
margin: 0px;
}

#top-heading {
padding: 1rem;
text-align: center;
margin: auto;
margin-bottom: 1rem;
}

textarea {
width: 85%;
display: block;
height: 10vh;
margin: 1.5rem;
margin-top: 0rem;
padding: 0.5rem;
font-size: large;

}

span {
position: absolute;
top: 6rem;
padding-left: 2.7rem;
color: rgb(121, 120, 120);
font-size: larger;
transition: .6s ease;
}

textarea:focus~span {
color: black;
font-size: 1.091rem;

transform: translate3d(-1.15rem, -1.9rem, 2rem);
}

</style>
</head>

<body>
<h1 id="top-heading">Input</h1>

<textarea id="txt-input"></textarea>
<span>Enter the input</span>
</body>

</html>

关于html - 如何阻止占位符转换回来? (CSS),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66667438/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com