Nano Hash - криптовалюты, майнинг, программирование

Липкий нижний колонтитул CSS не работает на устройстве BlackBerry 8250

Я хотел, чтобы нижний колонтитул на мобильном сайте, над которым я работал, располагался внизу страницы. Я нашел пример CSS Sticky Footer от Райана Фейта и реализовал Это. В каждом браузере, который я мог протестировать, я обнаружил, что нижний колонтитул хорошо прилегает к нижней части.

А потом это случилось. Клиенты жаловались на то, что нижний колонтитул разбрасывался повсюду. Настойчиво выясняя подробности, я узнал, что проблема возникает только на одной модели мобильных устройств BlackBerry: модели 8250. Я вытащил виртуальную машину Windows, скачал и установил симулятор BlackBerry 8250 и, конечно же, увидел проблему.

Для страницы высотой в два экрана BlackBerry нижний колонтитул прикрепляется к середине первого экрана поверх всего остального. Нижний колонтитул не перемещается при прокрутке, и если вы прокрутите вниз до нижней половины страницы, нижний колонтитул не будет виден. Он остается фиксированным в середине верхнего экрана.

Я опубликую HTML и CSS в конце этого вопроса. Если бы я мог получить какие-либо указания или подсказки относительно того, почему это происходит на модели BlackBerry 8250, и, что не менее важно, как это можно исправить, я был бы очень и очень благодарен.

Спасибо!

<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <meta http-equiv="content-type" content="text/html; charset=UTF-8" /> 
        <meta name="viewport" content="width=320; initial-scale=1.0; maximum-scale=1.0; user-scalable=yes;"/>
        <style type="text/css">
            * { margin: 0; padding: 0; }
            html { height: 100%; }
            body { height: 100%; }
            .page { 
                width: 100%; 
                min-height: 100%;
                height: auto !important;
                height: 100%;
                margin: 0 auto -4em;
            }
            .push {
                height: 4em;
            }
            #footer {
                clear: both;
                position: relative;
                z-index: 10;
                height: 4em;
                margin-top: -4em;
                text-align: center;
            }
        </style>
    </head>
    <body>
        <div class="page">
            <!-- lots of other DIVs here for actual content -->
            <div class="push"></div>
        </div>
        <div id="footer">
            <!-- footer content over here -->
        </div>
    </body>
</html>

Я нашел этот хак jQuery Sticky Footer. Я не слишком уверен в том, что люди посоветуют мне пойти с этим. Однако я еще не тестировал его.

Обновление: это небольшое обновление, чтобы сказать, что я играл с хаком jQuery Sticky Footer, ссылка на который приведена выше. Это не сработало и для упомянутого устройства BlackBerry.


  • Нет необходимости clear: both;, так как у вас нет ничего float. Я не понимаю, почему вы используете position: relative; и здесь. 14.12.2010

Ответы:


1

Попробовав несколько разных вещей, я наткнулся на решение CSSStickyFooter. Я реализовал его и обнаружил, что он хорошо работает на рассматриваемом устройстве Black Berry, как и все остальное, на чем я его тестировал. Я собираюсь вставить код HTML и CSS ниже:

<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <meta http-equiv="content-type" content="text/html; charset=UTF-8" /> 
        <meta name="viewport" content="width=320; initial-scale=1.0; maximum-scale=1.0; user-scalable=yes;"/>
        <title>Another CSS Sticky Footer that works on Black Berry</title>
        <style type="text/css">
            * {
                margin: 0;
                padding: 0;
            }

            html { 
                height: 100%;
            }

            body {
                height: 100%;
            }

            .page {
                width: 100%;
                min-height: 100%;
            }

            .push {
                padding-bottom: 4em;
                overflow: auto;
            }

            #footer {
                position: relative;
                margin-top: -4em;
                height: 4em;
                clear: both;

                background-color: red;
            }
        </style>
    </head>

    <body>
        <div class="page">
            <div id="content">
                <p>Some body content will come here</p>
                <p>And over here as well.</p>
            </div>
            <div class="push"></div>
        </div>
        <div id="footer">
            <p>This is the footer block.</p>
        </div>
    </body>
</html>
14.12.2010
Новые материалы

Кластеризация: более глубокий взгляд
Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

Как написать эффективное резюме
Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

Частный метод Python: улучшение инкапсуляции и безопасности
Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

Как я автоматизирую тестирование с помощью Jest
Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..