Веб-приложение для iPad 3 в браузере Safari
Я работаю над отладкой нашего веб-приложения уже несколько дней, и я не уверен, что вызывает его сбой в мобильном сафари. Приложение прекрасно работает на iPad2, но по какой-то причине вылетает на iPad3. Я закомментировал каждый фрагмент кода, и проблема, по-видимому, заключается в абсолютном позиционировании элемента. Вот мой код для раздела.
.page .main-content .study-bo {
background: #F4F4F4;
border-top: 1px solid #D1D1D1;
border-bottom: 1px solid #D1D1D1;
width: 644px;
position: absolute;
top: 501px;
left: 0px;
padding: 30px 40px;
z-index:500;
-webkit-transition: top .5s ease-in-out;
}
.page .main-content .study-bo .text {
width: 100%;
height: 100%;
position: relative;
left:auto;
}
.page .main-content .study-bo p {
font-family: "FrutigerRoman";
font-size: 12px;
color: #000000;
margin-bottom: 15px;
}
.page .main-content .study-bo .study-design {
width: 92px;
height: 20px;
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(199, 199, 199, 1)), color-stop(100%,rgba(167, 167, 167, 1)));
-webkit-border-radius: 5px 5px 0px 0px;
border: 1px solid #999;
font-family: "FrutigerItalic";
font-size: 13px;
color: white;
text-shadow: 1px 1px 0px #8E8E8E;
filter: dropshadow(color=#8e8e8e, offx=1, offy=1);
text-align: center;
padding-top: 4px;
-webkit-box-shadow: inset 0px 1px 0px 0px #e5e4e4;
position: absolute;
top: -26px;
font-style: italic;
z-index: 50;
left: 44px;
}
.page .main-content .study-bo .study-design .btn.active {
background: #6c6a6a;
text-shadow: 1px 1px 0px #434343;
filter: dropshadow(color=#434343, offx=1, offy=1);
-webkit-box-shadow: inset 0px 1px 0px 0px #9e9d9d;
}
Часть кода, которая вызывает сбой приложения:
position: absolute;
top: 501px;
left: 0px;
Я не уверен, что это ошибка яблока? У меня есть несколько элементов абсолютно без проблем. Если я закомментирую эти три строки (и только эти три строки), приложение будет работать. Я попытался закомментировать другие разделы моего кода и сохранить эти три строки, и это не работает. У кого-нибудь есть предложения? Спасибо!
1 ответ
Это может быть ошибкой, но трудно сказать, не увидев и не изучив веб-приложение из первых рук. Я бы попытался возиться с макетом, чтобы попытаться:
- получить относительное позиционирование на работу, а не абсолютное,
- используя проценты вместо пикселей в верхнем и левом атрибутах,
- работа с float:left или float:right, с полями или отступами вместо абсолютного позиционирования,
- примените CSS reset/normalizer перед вашим другим CSS, таким как normalize.css, чтобы увидеть, если это волшебным образом решит проблему,
- или, в крайнем случае, посмотрите на альтернативный макет, который не заставляет вас использовать абсолютное позиционирование здесь.
Это все выстрелы в темноте, но, возможно, они помогут.