Сделать липкий заголовок веб-страницы в Safari на iPad - PullRequest
2 голосов
/ 20 августа 2010

Я хочу сделать липкий заголовок, как этот URL: http://www.cssplay.co.uk/layouts/fixit.html сделано!Но поместите этот URL в Safari iPad, он также не может исправить заголовок.

Кто-нибудь знает, как сделать липкий заголовок в iPad Safari?

Заранее спасибо!

Ответы [ 2 ]

2 голосов
/ 18 августа 2011

На самом деле все, что вам нужно для решения этой проблемы на устройствах iOS (iPad, iPhone и т. Д.), Это добавить в свой CSS следующее:

#container {
  position:fixed; 
  top:120px;
  bottom:0px; 
  overflow:auto; 
}

В этом примере предполагается, что:

  • часть, которую вы хотите прокрутить, начинается на 120px ниже вашего заголовка (т.е. заголовок будет иметь высоту 120px)
  • div, который вы хотите прокрутить, имеет id = 'container'
  • вы будете использовать 2 пальца, чтобы прокрутить его. Если вы используете один палец, то заголовок также переместится.

Это на самом деле довольно круто на iPad, так как дает пользователю выбор (переместить все это или оставить заголовок видимым, используя один или два пальца). Это также работает для нижних колонтитулов (измените нижнее значение).

Наконец, обратите внимание, что это для браузеров "Apple" (я успешно протестировал его на iPad и Mac Safari и Chrome), поэтому, если вы хотите поддерживать что-то еще, вам придется создавать разные коды, используя что-то вроде:

if (navigator.userAgent.match("Apple") == null) {
    /* use a different container id */
}

Редактировать 7 октября 2011 г .: Спасибо chris-barr.com Я нашел это решение. Просто добавьте этот код:

<script>
function touchScroll(id){
    var el=document.getElementById(id);
    var scrollStartPos=0;

    document.getElementById(id).addEventListener("touchstart", function(event) {
        scrollStartPos=this.scrollTop+event.touches[0].pageY;
        event.preventDefault();
    },false);

    document.getElementById(id).addEventListener("touchmove", function(event) {
        this.scrollTop=scrollStartPos-event.touches[0].pageY;
        event.preventDefault();
    },false);
}
</script>

<body onload="touchScroll('container')">

и он будет работать в iOS (iPhone, iPad) и Android только с одним пальцем !!!

0 голосов
/ 20 августа 2010

С веб-страницами приятно то, что вы всегда можете легко проверить их исходный код.

Посмотрите на исходный код страницы, и вы увидите # header в разделе css, определяющем

position:fixed;

, а также размеры и другие инструкции по форматированию.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...