占位符文本仅在 Internet Explorer 中可见
Posted
技术标签:
【中文标题】占位符文本仅在 Internet Explorer 中可见【英文标题】:Placeholder text only visible in Internet Explorer 【发布时间】:2015-11-19 14:36:02 【问题描述】:我为地址表单设置了一个占位符,为访问者提供了如何格式化地址的示例。占位符文本在 IE 中可见,但在其他浏览器(chrome、firefox、safari)中是透明的。
如何修复它以使其在所有浏览器中显示?
.form-control
display: block;
width: 100%;
height: 34px;
padding: 6px 12px;
font-size: 14px;
line-height: 1.42857143;
color: #555;
background-color: #fff;
background-image: none;
border: 1px solid #ccc;
border-radius: 4px;
-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
-webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
.form-control:focus
border-color: #66afe9;
outline: 0;
-webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, .6);
box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, .6);
.form-control::-moz-placeholder
color: #999;
opacity: 1;
.form-control:-ms-input-placeholder
color: #999;
.form-control::-webkit-input-placeholder
color: #999;
.form-control:-moz-placeholder
color: #c0392b;
.form-control::-moz-placeholder
color: #c0392b;
<div class="form-group">
<label>Recipients Address</label>
<textarea class="form-control" id="message" name="message" placeholder="Enter the address in the same format as you would write it on a envelope.
EXAMPLE:
Thomas Nolan Kaszas II
5322 Otter Lane
Middleberge FL 32068" rows="8"></textarea>
</div>
【问题讨论】:
按预期工作。铬 44.0.2403.157 @Cheslab 截图添加 请提供minimal reproducible example 它对我来说仍然可以正常工作,虽然它看起来不像你的截图中的样子 【参考方案1】:显然你有半透明的文本区域,它与默认的灰色占位符颜色相结合,使文本完全不可读。您可以使用以下规则更改占位符的文本颜色
::-webkit-input-placeholder color:#c0392b;
::-moz-placeholder color:#c0392b;/* Firefox 19+ */
:-moz-placeholder color:#c0392b;/* Firefox 18- */
:-ms-input-placeholder color:#c0392b;
【讨论】:
【参考方案2】:我想这可能是以下两种情况之一:
1)您的 RGBA 您将最后一个值设置为 0,这将使文本完全不可见。试试:rgba(0,0,0,0.5);
2) 尝试在占位符文本中使用\n
换行,而不是实际换行。
Can you have multiline html5 placeholder text in a <textarea>?
【讨论】:
我将最后一个值更改为 5 但没有更改。我更新了原始帖子中的 CSS。 它出现在我的浏览器中,只是超级微弱。 @pwz2000 最后一个值应该在 0 和 1 之间,其中 0 表示不可见,1 表示完全可见。 50% 透明可以写成0.5
也可以写成.5
以上是关于占位符文本仅在 Internet Explorer 中可见的主要内容,如果未能解决你的问题,请参考以下文章
占位符属性在 Internet Explorer 中不起作用
为 Internet Explorer 设置占位符? [复制]