Ale*_*ban 44 html css android android-browser jquery-mobile
我有一个带有一些文本输入的网页.Android浏览器(至少在我现在得到的Android 2.3.4上)似乎覆盖了自己对焦点页面上输入的控制.
问题是叠加的控件是一个白色矩形,看起来很丑.有没有办法禁用它,或以某种方式设置它?
更新:
以下是Android模拟器的示例:

圆角和背景都丢失了.在实际设备上,我甚至看不到控件周围的边框.
我应该提一下,我正在使用jQuery Mobile.我的测试设备是HTC Evo 4G.
相关问题:
czu*_*orf 19
最后,我解决了Android 2.3设备的这个问题.
无法真正删除叠加层,但可以将叠加层移动到视口外部.
叠加层尝试将自身定位到与输入字段相同的位置.它复制您指定的宽度和位置偏移
position:relative
Run Code Online (Sandbox Code Playgroud)
和
top:-10000px
Run Code Online (Sandbox Code Playgroud)
但叠加层不会复制通过分配的位置偏移
-webkit-transform: translate3d()
Run Code Online (Sandbox Code Playgroud)
这会导致iScroll等JS库出现问题.
但这也有助于我们隐藏叠加层:
input[type="password"], input[type="text"]{
position:relative;
top:-10000px;
-webkit-transform: translate3d(0, 10000px, 0);
}
Run Code Online (Sandbox Code Playgroud)
将输入字段放在视口外部.叠加位置旁边.现在您使用translate3d()将其移动到旧位置.
我们已在移动网络框架"qooxdoo Mobile"中使用此解决方案:http: //demo.qooxdoo.org/devel/mobileshowcase/index.html#%2Fform
Pra*_*yan 14
以下代码将删除点击突出显示 - [Android 4.0.3]
input{
-webkit-user-modify: read-write-plaintext-only;
-webkit-tap-highlight-color:#3072af;
}
Run Code Online (Sandbox Code Playgroud)
fre*_*ent 13
不确定这是一个有效的解决方案和答案,但我的输入在评论出这些后开始在Android上播放,这些都对我的Android(HTC2.3)文本输入和选择造成了严重破坏
/* really bad */
-webkit-backface-visibility: hidden;
/* your normal bad */
-webkit-transform: rotateY(0deg);
-moz-transform: rotateY(0deg);
transform: rotateY(0deg);
Run Code Online (Sandbox Code Playgroud)
如果你想设置默认输入的样式,我使用这些:
/* native placeholder styling */
::-webkit-input-placeholder {
color:#555555;
}
:-moz-placeholder {
color:#555555;
}
.inField label {
color:#555555;
cursor: text;
}
Run Code Online (Sandbox Code Playgroud)
在评论出第一个webkits之后,Android对我来说正常.我也压倒了很多其他的东西.
另请查看以下屏幕截图:
我对输入做的是创建一个列表视图,将所有输入放入列表项并删除所有输入-JQM-CSS.这应该给你一个透明的输入坐在listview项目的顶部,我认为这看起来非常好.您还可以为输入添加标签,我的示例设置为使用inField标签插件,因此您已经拥有了所有这些类.
屏幕截图来自我的Android HTC 2.3.5并显示输入类型="搜索".这是一个listview搜索过滤器,我删除了大多数JQM-css.我已将其从listview中删除,将其放入我的表单列表中,添加标签(无法查看是否处于活动状态)并删除所有CSS,包括图标.
这是我如何进行列表表单的示例:
<ul data-role="listview" data-inset="true" class="inputList">
<li data-role="fieldcontain" data-icon="false" class="inField ui-btn ui-corner-top" data-theme="c">
<div class="ui-btn-inner" aria-hidden="true"><div class="ui-btn-text">
<label for="item">item</label>
<input type="text" name="item" id="item" />
</div></div>
</li>
<li data-role="fieldcontain" data-icon="false" class="inField ui-btn ui-corner-bottom" data-theme="c">
<div class="ui-btn-inner" aria-hidden="true"><div class="ui-btn-text">
<label for="item2">item2</label>
<input type="text" name="item2" id="item2" />
</div></div>
</li>
</ul>
Run Code Online (Sandbox Code Playgroud)
CSS:
.inputList li div.ui-btn-inner {
background: none;
border-bottom-width: 0px;
border-left-width: 0px;
border-right-width: 0px;
}
.inputList label {
margin: 3px 0 0 !important;
}
// styling of text inputs!
.inputList input.ui-input-text, .inputList textarea.ui-input-text {
width: 93%;
margin-left: 1%;
padding: 0.6em 0;
text-indent: 80px; /* hard-coded - doesn't work on Android */
border-width: 0px;
background: transparent;
-moz-box-shadow: none;
-webkit-box-shadow: none;
box-shadow: none;
-moz-border-radius:0px;
-webkit-border-radius: 0px;
border-radius: 0px;
}
.inputList .ui-li-divider:not(.input-divider), .inputList .ui-li-static, .inputList .ui-li-has-alt, .inputList .ui-link-inherit, .inputList .ui-btn-icon-notext .ui-btn-inner {
padding: 0px !important;
}
// labels, from inField label plugin, but not active
.inField {
position:relative
}
.inField label {
line-height: 2.25em;
vertical-align: middle;
position:absolute;
left:8pt;
width: inherit !important;
}
Run Code Online (Sandbox Code Playgroud)
我希望这都是CSS.如果你试图设置它并且它看起来很糟糕,请告诉我.
在我的HTC 2.3.4上工作这样看起来非常好我的CSS仍然需要一些抛光.我需要减小输入宽度并对齐:居中,因此下面列表项的边框保持可见.
除此之外,这将是糟糕的Android输入的一个很好的解决方案.只需删除所有JQM-CSS并将listview-li放在后面.
小智 6
这是我的代码:
input {
-webkit-user-modify: read-write-plaintext-only;
-webkit-tap-highlight-color: rgba(255,255,255,0);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
26005 次 |
| 最近记录: |