【问题标题】:Placeholder text only visible in Internet Explorer占位符文本仅在 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 截图添加
  • 它对我来说仍然可以正常工作,虽然它看起来不像你的截图中的样子

标签: css


【解决方案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
    猜你喜欢
    • 2015-09-26
    • 1970-01-01
    • 2011-07-28
    • 2012-01-27
    • 2014-11-24
    • 2017-07-23
    • 1970-01-01
    • 2017-03-02
    相关资源
    最近更新 更多