正如标题所示,以下代码的输出在 safari浏览器上没有显示:
1)输入类型搜索的边框未显示
2)text-transform:大写不起作用。
其余浏览器显示确切的输出。请参阅下面的图片。
HTML:
<div class="searchLob">
<input type="search" class="searchInput" placeholder="Search the website"></input>
<button onclick="Submit();" class="searchInputBtn">Search</button>
</div>
CSS:
.searchLob{
position: relative;
display: inline-block;
}
.searchInput{
position: relative;
border: 2px solid #d2d4d8;
height: 44px;
padding: 0 10px;
background-color: #fff;
width: 200px;
margin: 2px 0 0 2px;
float: left;
text-transform: uppercase;
}
.searchInputBtn{
position: relative;
float: left;
border: medium none;
color: #fff;
cursor: pointer;
font: 14px 'arial';
height: 44px;
margin-left: -4px;
margin-top: 2px;
text-decoration: none;
text-transform: uppercase;
width: 70px;
background-color: #6692a7;
}
.searchInputBtn:hover{
background-color:#547e92;
}
textarea:focus, input:focus, select:focus{
border-color: #cccfd0;
box-shadow: 0 1px 1px rgba(204, 207, 208, 0.075) inset, 0 0 8px rgba(204, 207, 208, 1);
outline: 0 none;
}
我也尝试过以下方法:
CSS:
@media screen and (-webkit-min-device-pixel-ratio:0) {
/* Safari and Chrome */
.myClass {
color:red;
}
/* Safari only override */
::i-block-chrome,.myClass {
color:blue;
}
}
使它适用于safari,但是没有做任何事情。
我该如何解决:
[我正在使用Safari浏览器版本:5.1.7(内部版本:7534.57.2)]
答案 0 :(得分:9)
如果删除所有CSS,并检查Safari中的元素,您会注意到user agent stylesheet
中添加了很多CSS - 这是浏览器的默认样式表和因浏览器而异。
例如,这是添加到输入中的一些默认样式:
input[type="search"] {
-webkit-appearance: searchfield;
box-sizing: border-box;
}
user agent stylesheet
input, input[type="password"], input[type="search"], isindex {
-webkit-appearance: textfield;
padding: 1px;
background-color: white;
border: 2px inset;
-webkit-rtl-ordering: logical;
-webkit-user-select: text;
cursor: auto;
}
user agent stylesheet
:focus {
outline: 5px auto -webkit-focus-ring-color;
}
正如博文中提到的那样 - Resetting HTML5 Search Input in Webkit
重置Safari默认样式的方法是添加以下CSS:
/* Reset HTML5 Search Input in Webkit */
input[type=search]::-webkit-search-cancel-button,
input[type=search]::-webkit-search-decoration,
input[type=search]::-webkit-search-results-button,
input[type=search]::-webkit-search-results-decoration {
-webkit-appearance:none;
}
input[type=search] {
-webkit-appearance:textfield;
-webkit-box-sizing:content-box;
}
因此,如果您现在查看小提琴 - http://jsfiddle.net/Hg2A6/8/,您会注意到它获得了正确的样式
答案 1 :(得分:0)
您可以使用占位符Attribute Selector
::input-placeholder
input::-webkit-input-placeholder {
color: rgba(0,5,143,.5);
text-transform: uppercase;
}
input::-moz-placeholder {
color: rgba(0,5,143,.5);
text-transform: uppercase;
}
input:-moz-placeholder { /* Older versions of Firefox */
color: rgba(0,5,143,.5);
text-transform: uppercase;
}
input:-ms-input-placeholder {
color: rgba(0,5,143,.5);
text-transform: uppercase;
}
<input type="text" placeholder="I'm placeholder text!">
注意:并非所有CSS属性都受支持 :: input-placeholder规则。事实上,只有极少数是最有用的 是:
IE8及更早版本不支持占位符文本 polyfil javascript解决方案可以支持这些浏览器。
color
font-size
font-style
font-weight
letter-spacing
line-height
padding
text-align
text-decoration
检查我在google搜索时找到的演示链接.. http://codepen.io/Treehouse/pen/fIesK
信用转到Guil Hernandez