如何在JQuery mobile 1.4.0中将占位符和搜索图标定位在搜索输入的中心?

时间:2014-02-25 18:01:40

标签: jquery-mobile search input

在我的jQuery移动应用程序中,我需要将搜索输入字段的搜索图标和Place持有者定位在中心,我已经尝试了下面的代码但它没有用,占位符和图标仍然出现在左边在Android设备上。请帮帮我如何将SearchIcon和Placeholder放在搜索输入字段的中心?

<input type="search" id="SearchFilter"  placeholder="Search.." />

 <ul data-role="listview"   data-filter="true"  data-input="#SearchFilter"
    data-split-icon="delete"> 
   // All Elements 
</ul>

CSS

::-webkit-input-placeholder { // its working on jsfiddle but it didnt work on mobile devices

    color: grey; 
    text-align:center;

}
#SearchFilter{

   text-shadow:none; 
   text-align:center;
}


.ui-icon-SearchIcon:after{

   background-image: url(icons/searchIcon.png);
   background-size: 100% 100%;
   background-position: 0 50%;
   width:32px;
   height:32px;
   text-align:center;
   float:center;    
 }

2 个答案:

答案 0 :(得分:3)

将占位符文字放在中间:

你是否也想在中间插入文字?

如果是:

.ui-input-search input{
    text-align: center;
}
  

<强> DEMO

如果否:

::-webkit-input-placeholder {
   text-align:center;
}
:-moz-placeholder { /* Firefox 18- */
   text-align:center;  
}
::-moz-placeholder {  /* Firefox 19+ */
   text-align:center;  
}
:-ms-input-placeholder {  
   text-align:center; 
}
  

<强> DEMO

如果您愿意,可以将图标放在中间,但是当您键入时它不会消失,所以我认为这没有意义。但如果你愿意:

.ui-input-search:after{
   width:18px;
   height:18px;
   left: 50%;
   margin-left: -50px;
}
  

<强> DEMO

答案 1 :(得分:0)

要展开ezanker's answer,您还可以删除搜索图标,因为一旦输入获得焦点就会应用类,因此您可以重写css看起来像(我还将图标位置更多地设置为我的喜好):

.ui-input-search::after{
   width:18px;
   height:22px;
   left: 50%;
   top: 40%;
   margin-left: -52px;
}
.ui-focus::after{
  left: 10%;
}
.ui-focus ::-webkit-input-placeholder {
   color: white;
   text-shadow: 0px 0px #FFffff;
}
.ui-focus :-moz-placeholder { /* Firefox 18- */
   color: white; 
   text-shadow: 0px 0px #FFffff;
}
.ui-focus ::-moz-placeholder {  /* Firefox 19+ */
  color: white;
  text-shadow: 0px 0px #FFffff;
}
.ui-focus :-ms-input-placeholder {  
   color: white; 
   text-shadow: 0px 0px #FFffff;
}

Demo