是否可以为输入占位符的各个部分设置样式?一个例子:
请在这里输入 还请注意,您只能输入一次 。
您不能使用标准placeholder
属性来做到这一点。我将详细介绍另一种方法,使自定义占位符带有一些围绕输入元素的包装。
HTML
<div class="placeholder-wrap">
<input type="text" name="userName" />
<span class="placeholder">
This is a <b class="important">placeholder</b>
</span>
</div>
CSS:
.placeholder-wrap {
margin: 20px;
display: inline-block;
position: relative;
background: #FFF;
}
.placeholder-wrap .placeholder {
position: absolute;
top: 50%;
left: 5px;
color: #888;
margin-top: -.5em;
line-height: 1em;
z-index: 9;
overflow: hidden;
white-space: nowrap;
width: 100%;
}
.placeholder-wrap input {
background-color: transparent;
border: 1px #999 solid;
padding: 4px 6px;
position: relative;
z-index: 10;
}
.placeholder-wrap input:focus + .placeholder {
display: none;
}
是的,有很多代码,但是给您一些样式上的灵活性。
演示:http://jsfiddle.net/dfsq/xD5Lq/
UPD但是存在一个问题(感谢@AlexG进行报告)。输入值后,输入失去焦点,占位符将再次出现在该值的顶部。有两种方法可以解决此问题。第一个是再次使用:invalid
伪类的纯CSS,它也需要required
输入的属性:
.placeholder-wrap {
display: inline-block;
position: relative;
background: #FFF;
overflow: hidden;
}
.placeholder-wrap .placeholder {
position: absolute;
top: 50%;
left: 5px;
color: #888;
margin-top: -.5em;
line-height: 1em;
z-index: 9;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
width: 100%;
}
.placeholder-wrap input {
background-color: transparent;
border: 1px #999 solid;
padding: 4px 6px;
position: relative;
z-index: 10;
}
.placeholder-wrap input:focus + .placeholder,
.placeholder-wrap input[required]:valid + .placeholder,
.placeholder-wrap input.not-empty + .placeholder {
display: none;
}
input {width: 300px;}
.important {color: brown;}
<p>CSS fix</p>
<div class="placeholder-wrap">
<input type="text" name="userName" required />
<span class="placeholder">
This is a <b class="important">placeholder</b> long text goes here
</span>
</div>
<p>Javascript fix</p>
<div class="placeholder-wrap">
<input type="text" name="userName"
onchange="this.className = this.value
? this.className + ' not-empty'
: this.className.replace(/\bnot-empty\b/, '')"
/>
<span class="placeholder">
This is a <b class="important">placeholder</b> long text goes here
</span>
</div>
如何在JavaFX中为< code>TextField设置占位符?我怎样才能不使用JavaScript来做这件事呢?
问题内容: HTML5 在元素上引入了属性,该属性允许显示灰色的默认文本。 遗憾的是,包括IE 9在内的Internet Explorer不支持它。 已经有一些占位符模拟器脚本了。它们通常通过将默认文本放入输入字段中,使其为灰色,然后在您聚焦输入字段时再次将其删除来工作。 这种方法的缺点是占位符文本在输入字段中。从而: 脚本无法轻松检查输入字段是否为空 服务器端处理必须对照默认值进行检查,以便不将
我的网站语言是阿拉伯语。在我的登录页面中,我有一个输入类型=Email,它的占位符自然是阿拉伯语字符串。但用户在此输入中键入的所有电子邮件地址都是英语。当我将文本对齐添加到此输入的左侧,以便键入英语时,其占位符也会移到左侧。有没有办法分别设置占位符和输入数据的对齐方式?
我正在尝试设置的边框样式。我将它与
本文向大家介绍python占位符输入方式实例,包括了python占位符输入方式实例的使用技巧和注意事项,需要的朋友参考一下 占位符,顾名思义就是插在输出里站位的符号。占位符是绝大部分编程语言都存在的语法, 而且大部分都是相通的, 它是一种非常常用的字符串格式化的方式。 1、常用占位符的含义 s : 获取传入对象的__str__方法的返回值,并将其格式化到指定位置 r : 获取传入对象的__repr
如何更改文本框的字体颜色而不影响Internet Explorer11中的字体颜色? 如果我改变了输入中字体的颜色(Fiddle): HTML: CSS: 占位符文本不再是Internet Explorer 11中默认的灰色: 意味着占位符文本现在执行它应该执行的操作: 但现在文本颜色并没有做它应该做的事情: 我需要的是弄清楚如何用CSS改变输入的HTML5占位符颜色。 使用CSS更改HTML5输