Jquery Mobile Android - Исправлено полноэкранное фоновое изображение? - PullRequest
8 голосов
/ 27 марта 2012

Я пытаюсь добавить полноэкранное фиксированное фоновое изображение только на первую страницу мобильного приложения jquery для Android (я также использую пробел в телефоне).

В двух словах, я бы хотел, чтобы фоновое изображение было полноэкранным и фиксированным, а содержимое страницы прокручивалось над ним. Фоновое изображение также необходимо масштабировать до размеров различных устройств.

Вот что у меня есть ...

<div data-role="page" id="unit-list" data-theme="a"> 

<div id="background">

<div data-role="header" data-theme="b">
    <h1>Header</h1>
</div><!-- /header -->

<div data-role="content" data-theme="a">    

    <ul data-role="listview" data-theme="none">
        <li>List Item</li>
        <li>List Item</li>
        <li>List Item</li>
    </ul>

</div><!-- /content -->

</div><!-- /background -->

 </div> <!-- /page -->

С этим CSS:

#background {
    background: url(../images/background.png);
    width: 100% !important;
    height: auto !important;
    background-repeat: no-repeat;
    position: absolute;
    z-index: -1;
}

Это, очевидно, не работает, поэтому любое движение в правильном направлении будет оценено, заранее спасибо.

Ответы [ 4 ]

9 голосов
/ 27 марта 2012
.ui-page {
    background : transparent url(http://www.nasa.gov/images/content/312934main_image_1283-946.jpg) 0 0 no-repeat fixed !important;
    background-size : cover;
}​

Это изменяет фоновое изображение с градиента по умолчанию на изображение по вашему выбору. Фоновое изображение применяется к элементам .ui-page (псевдостраничным страницам), покрывает всю страницу и фиксируется так, чтобы не прокручиваться вместе со страницей.

Вот демоверсия: http://jsfiddle.net/kKv4s/

Документация:

Вот поддержка браузера для background-size: http://caniuse.com/#feat=background-img-opts

Обновление

Возможно, вы захотите создать свое правило CSS для элемента (ов) .ui-content, а не для элемента (ов) .ui-page, поскольку градиентный фон для элемента .ui-content может перекрывать фон, к которому мы добавляем .ui-page элемент:

.ui-content {
    background : transparent url(http://www.nasa.gov/images/content/312934main_image_1283-946.jpg) 0 0 no-repeat fixed !important;
    background-size : cover;
}​

Вот демоверсия: http://jsfiddle.net/kKv4s/1/

2 голосов
/ 01 апреля 2013

Это должно работать.

     #background {
        background-image: url('grey.png');
        background-position:center; 
        background-repeat: no-repeat;
        width: 100%; 
        height: 100%; 
        position: fixed; 
        z-index: 0; 
         }

       Html:---
       <body>
       <img id="background" />

Если у вас возникнут дополнительные проблемы, пожалуйста, поделитесь

2 голосов
/ 03 мая 2012

Существует плагин jQuery, который создает полноэкранные фоны для вашего сайта.

http://www.buildinternet.com/project/supersized/

Эта опция может работать лучше для вас, чем CSS, потому что она использует javascript для определения размера окна и масштабирует изображение, чтобы подогнать его, не растягивая и не искажая изображение.

Похоже, что у него довольно хорошая документация о том, как правильно его использовать.

0 голосов
/ 14 августа 2013

Эта проблема появляется только тогда, когда вы пытаетесь использовать повторяющееся фоновое изображение, а также устанавливаете его как исправленное.очевидно, ошибка в Android Chrome заключается в совместной обработке этих двух инструкций.Так что исправление заключается в использовании неповторяющегося фонового изображения, и оно будет исправлено правильно

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