【发布时间】:2014-03-03 17:26:19
【问题描述】:
我正在使用包含的 CSS,带有一个精灵图像来为我的每个单行表单元素添加内置图标和插入框阴影(我删除了图像的 url,因为它是在头部动态定义的(CDN 问题))。
该表单在 PC 上的 Chrome、FF 和 IE11 中看起来很棒,但在 Android 上,1px 边框消失了!
这是有问题的 CSS:
.textbox {
-moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box;
font-size:14px;
color:#8e8d8d;
font-family:"Droid Sans";
padding:11px 15px 10px 50px;
background-color:#fdfdfd;
width: 100%;
display:block;
border:1px solid #d8d8d8;
margin:13px 0 -3px 0;
-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;
box-shadow:inset 2px 2px 4px #f1f1f1;
}
input[type="text"], input[type="password"], select, .remember input[type="checkbox"]+label, .remember input[type="checkbox"]:checked+label {
background:url() no-repeat;
background-size: 39px 297px;
}
input.user { background-position:0 -31px; }
input.password { background-position:0 -69px; }
input.code { background-position:0 -107px; }
input.confirm { background-position:0 -145px; }
input.email { background-position:0 -183px; }
input.company { background-position:0 -221px; }
input.phone { background-position:0 -259px; }
有什么想法吗?
编辑:
为清楚起见,这里是用于设置背景 url 的响应式代码:
input.textbox, select.textbox, .checkbox input[type="checkbox"]+label, .checkbox input[type="checkbox"]:checked+label {
background-image:url('images/page-modal-sprites-1x.png');
}
@media (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi){
/* Retina images */
input.textbox, select.textbox, .checkbox input[type="checkbox"]+label, .checkbox input[type="checkbox"]:checked+label {
background-image:url('images/page-modal-sprites-2x.png');
}
}
EDIT2:
用户 httpgio 已将问题缩小到插入框阴影,删除它会导致边框正确显示。它也只发生在移动 chrome 上。 Dolphin 10 没有这样的问题。
我现在正在寻找一种方法来保持我的盒子阴影,而不会失去我在 Android Chrome 移动设备上的边框。
【问题讨论】:
-
消失了?还是在小屏幕上太难看?当您在Android上放大时它在那里吗?其他操作系统呢?
-
@Paulie_D 这是一个突出问题的画廊:imgur.com/a/asILJ 如果将边框设置为 1px,则边框完全消失了。我手头没有任何其他移动操作系统。我能想象到的唯一另一件事是我用来在 1x 像素密度背景和 2x 像素密度背景之间进行选择的条件代码,但是那里的边框没有改变,只是对 background-url 的响应式更改。 ..我会把它添加到帖子中,以防万一。
标签: css