В настоящее время я разрабатываю веб-приложение с оптимизированным сенсорным экраном. Часть дизайна концепции включает в себя простоту навигации, поэтому я разработал отличный симпатичный div, который имеет событие "щелчок" или "касание", которое выглядит довольно красиво, когда вы касаетесь его.
Это отлично работает на веб-браузере и браузере Android, но когда я использую его в Safari на iPad, он не отображает тень. Весь мой синтаксис кажется правильным, поэтому я могу заключить, что это ошибка или не поддерживается.
Мой вопрос: кто-нибудь сталкивался с этой проблемой и обнаружил исправление или работу?
CSS:
div.touch-button:active {
width: 300px;
border: 1px solid #ccc;
padding: 10px;
-moz-box-shadow: none;
-webkit-box-shadow: none;
box-shadow: none;
}
div.touch-button {
width: 300px;
border: 1px solid #ccc;
padding: 10px;
-moz-box-shadow: 0 0 5px rgba(0,0,0,0.5);
-webkit-box-shadow: 0 0 5px rgba(0,0,0,0.5);
box-shadow: 0 0 5px rgba(0,0,0,0.5);
}
Хорошо, после большого стресса и возиться, и сдаться. Я столкнулся с проблемой, пытаясь решить еще одну проблему.
Это было связано с настройками видового экрана.
NOT CORRECT: <meta name="viewport" content="width=device-width"/>
CORRECT: <meta name="viewport" content="width=device-width, minimum-scale=1.0, maximum-scale=1.0"/>
Использовать -webkit-внешний вид: нет; для переопределения по умолчанию, попробуйте это.
div.touch-button {
width: 300px;
border: 1px solid #ccc;
padding: 10px;
-webkit-appearance: none;
-moz-box-shadow: 0 0 5px rgba(0,0,0,0.5);
-webkit-box-shadow: 0 0 5px rgba(0,0,0,0.5);
box-shadow: 0 0 5px rgba(0,0,0,0.5);
}
div.touch-button:active {
width: 300px;
border: 1px solid #ccc;
padding: 10px;
-webkit-appearance: none;
-moz-box-shadow: none;
-webkit-box-shadow: none;
box-shadow: none;
}
Вы должны использовать тень окна перед -moz-box-shadow и -webkit-box-shadow. Для меня это в прошлом решало ту же проблему.
div.touch-button {
width: 300px;
border: 1px solid #ccc;
padding: 10px;
box-shadow: 0 0 5px rgba(0,0,0,0.5);
-moz-box-shadow: 0 0 5px rgba(0,0,0,0.5);
-webkit-box-shadow: 0 0 5px rgba(0,0,0,0.5);
}
<meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=yes">
. Я нашел этот обходной путь, пытаясь решить проблему масштабирования. Что это не так, но это помогло решить проблему с тенью в iOS в альбомном виде в моем коде.