使用 CSS 在输入框内添加文本

Posted

技术标签:

【中文标题】使用 CSS 在输入框内添加文本【英文标题】:Add text inside an inputbox using CSS 【发布时间】:2014-07-18 14:37:45 【问题描述】:

我无法编辑 html 代码,下面的问题是否可以仅使用“CSS”代码? 如何将文本像占位符或其他内容添加到输入框?

输入文本框代码如下:

<input id="isn_email_address" type="text" name="user" size="40" maxlenth="90">

【问题讨论】:

你为什么要cannot edit the html code?只需使用占位符! 如果只是代码是内置的,它不会显示输入框代码。我只检查上面代码中的元素。 您必须将其添加到 input 标记中。无法使用 CSS 添加文本。您只能使用 CSS 设置占位符的样式,但不能更改文本。 即使使用 content="" 也不起作用? @rope @RobSedgwick #isn_email_address是输入字段,输入字段只是一个空元素,伪元素(:before,@987654325 @) 只能用于容器元素,并且只能用于某些输入字段,例如checkboxradio。在这种情况下,输入字段只是一个文本框,通常我们不能在其上使用:before。这就是@RakeshShetty 的意思,看起来基于 webkit 的浏览器以某种方式支持它所有其他浏览器都不支持,因此它不是跨浏览器解决方案。 【参考方案1】:

您不能使用 CSS 为所有浏览器设置占位符。目前唯一支持它的浏览器是 webkit。

使用jQuery,您可以实现:Working DEMO

注意:您需要最新的 jquery 库,可以从这里下载 jQuery Library

试试这个代码:-

<head>

<script src="http://code.jquery.com/jquery-1.11.1.min.js"></script>

<script type = "text/javascript">

        $(document).ready(function()
        

            $('#isn_email_address').attr("placeholder", "Type your text here");    

        );

    </script>



</head>

【讨论】:

即使输入标签中没有占位符属性,它是否仍然适用于 webkit,是否需要更改属性? @Rakesh Shetty 我指的是你的第一段,纯粹用 CSS 改变它,抱歉不清楚。 非常感谢@RakeshShetty,您的代码确实有效。我确实尝试过在网上搜索,也许我还不够努力。我还是个新手。 @zen 很高兴为您提供帮助【参考方案2】:

如果您不想使用占位符,显然还有其他方法。我不知道单独使用 css 是否可行。但是使用 javascript 和 css 绝对可以做到。

【讨论】:

那不是答案,你应该改进你的答案 这很容易。所以至少让那个家伙搜索互联网并自己做。我已经告诉他怎么做。请允许他实现这个。我都是来帮忙的他 你不需要建议 OP 只是谷歌它。如果你有真正的答案,那么想出真正的答案。【参考方案3】:

假设您不支持 IE7 及以下版本,您可以使用一些伪元素。

#isn_email_address 
   position: relative;

#isn_email_address:after  /*could use :before if you wanted too*/
   content: "Type your text here";
   display: block;

#isn_email_address:focus #isn_email_address:before 
   display: none;

您可能需要进行一些 z-index 调整以确保您能够选择文本字段。此外,一些 css *left: /my value here/* 以确保它在正确的位置。

【讨论】:

:before:after 适用于元素的内容。由于输入标签没有内容,因此:before 不适用于输入。 @KheemaPandey 好点。爆破。 JavaScript 解决方案就是这样。也感谢您提供的信息,我不知道该规则。

以上是关于使用 CSS 在输入框内添加文本的主要内容,如果未能解决你的问题,请参考以下文章

文本输入框内实时检测输入的字数

下列关于windows文本框的描述不正确的是a文本框内不能添加文本框b文本框内的

winform模糊查找的功能,比如说在文本框内输入a,就会出现一个下拉菜单显示相应的a开头

NSTextField 是第一响应者,但我仍然必须在输入之前在文本框内单击

javafx问题,在一个文本框内输入文字,在label里面显示出来,输入啥就显示啥,但是这段代码有问题

密码输入框内默认提示