Борясь с этой проблемой и учитывая, что говорится в Интернете, я решил создать что-то, что может вам помочь. Я объясню это шаг за шагом.
Я установил строку состояния в черный полупрозрачный через метатег.
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />
Затем я создал пустой div на самой верхней части тела.
<div id="statusbar"> </div>
Впоследствии я добавил следующий фрагмент PHP в головной блок. Он проверяет пользовательский агент, чтобы узнать, является ли устройство iPhone. Затем он проверяет отсутствие Safari. Если это так, мы нашли веб-приложение, и мы укажем css для созданного div. Иначе мы спрячем div.
<?php
$ua = $_SERVER['HTTP_USER_AGENT'];
$iphone = strpos($ua,"iPhone");
$safari = strpos($ua,"Safari");
if ($iphone == true && $safari == false){
echo '<style type="text/css"> div#statusbar{ background: navy; height: 15pt; width:100%; position:-webkit-sticky; top:0;} </style>';
}
else{
echo '<style type="text/css"> div#statusbar{ display:none;} </style>';
}
?>
CSS дает бару темно-синего цвета, который вы, вероятно, захотите изменить. Он позиционирует панель как липкий элемент в самой верхней части страницы. Это не исправлено, потому что это перекрыло бы содержимое ниже. Однако по какой-то причине sticky перестает работать на полпути страницы, что-то, что я все еще пытаюсь отлаживать.
Это решение не является совершенным, но это, по крайней мере, то, что вы можете полностью контролировать, в отличие от других решений. Усовершенствования всегда приветствуются.
Спасибо за ваши улучшения и исправления. Ваш сайт отлично выглядит! Непрозрачность - отличное дополнение. Не использование исправлено было больше о том, как остальная часть моего сайта была создана. Кажется, он работает плавно на вашем сайте. – Stijn
Я не могу заставить это работать. Строка состояния не является полупрозрачной, даже если я установил метатег для черно-полупрозрачного. Я предполагаю, что я должен дать статуе div div высоту, если я не использую навигационную вещь правильно? –
Ой, я забыл снова добавить свое приложение на главный экран ... по какой-то причине стиль строки состояния является постоянным после добавления дополнительного экрана. :( –