html - 占位符在 Chrome 和 Safari 中不起作用,但在 Firefox 中起作用
问题描述
我今天遇到了这个问题。我正在为我的搜索框使用占位符。我必须保持透明,直到它集中。它在 Firefox 上运行良好。但是 Chrome 和 Safari 在聚焦时不会显示这个占位符。
#sv2 input:-moz-placeholder {
color: transparent
}
#sv2 input::-webkit-input-placeholder {
color: transparent
}
input[type=search]:focus {
width: 130px;
background-color: #fff;
border-color: #66cc75;
-webkit-box-shadow: 0 0 5px rgba(109, 207, 246, .5);
-moz-box-shadow: 0 0 5px rgba(109, 207, 246, .5);
box-shadow: 0 0 5px rgba(109, 207, 246, .5)
}
<form method="get" action="https://www.example.com/" id="sv2">
<input name="s" id="s" size="30" type="search" placeholder="Search example.com">
</form>
感谢您的帮助和时间!
解决方案
您可以只使用::placeholder
样式输入文本的占位符。所有现代浏览器都应该支持这一点。
由于这一点,并且box-shadow
道具是标准化的,最新版本的浏览器不应该需要这些规则的供应商前缀。
#sv2 input::placeholder {
color: transparent
}
#sv2 input:focus::placeholder {
color: gray
}
input[type=search]:focus {
background-color: #fff;
border-color: #66cc75;
box-shadow: 0 0 5px rgba(109, 207, 246, .5);
}
<form method="get" action="https://www.example.com/" id="sv2">
<input name="s" id="s" size="30" type="search" placeholder="Search example.com">
</form>
推荐阅读
- directory - 如何编写 ansible 脚本来查找目录是否已挂载?
- java - 如何确保抛出 HttpClientErrorException 会导致 HTTP 400 响应?
- python - 有没有办法在python中制作显示窗口?
- javascript - 无法在 Angular 8 中使用 write-good npm 模块
- python - Django PostgreSQL - 对单个单词进行模糊搜索
- flutter - 如何使 DataTable 或 PaginatedDataTable 占据其父卡的整个宽度?
- react-native - 如何在 React Native 中使用 AppState 的 Blur 事件
- r - 在基本图形R中围绕特定面板绘制一个矩形
- c# - 如何使用字段 ID 从 SQL Server DB 获取字段名
- sharepoint - 自定义人员选取器未显示 SharePoint 组的结果,其中用户是使用 SPD 工作流添加的