Изменить CSS на основе мобильной ориентации - PullRequest
3 голосов
/ 12 ноября 2011

Как лучше всего изменить файл CSS, когда ориентация страницы мобильного приложения меняется с альбомной на книжную и наоборот.Мне нужно поддерживать только Android и iPhone.Кажется, медиа-запросы не самый чистый способ, какие-нибудь другие идеи?

Ответы [ 4 ]

5 голосов
/ 30 октября 2013

Пример

/* For portrait */
@media screen and (orientation: portrait) {
  #toolbar {
    width: 100%;
  }
}

/* For landscape */

@media screen and (orientation: landscape) {
  #toolbar {
    position: fixed;
    width: 2.65em;
    height: 100%;
  }

  p {
    margin-left: 2em;
  }
}

Подробнее см. здесь

1 голос
/ 12 ноября 2011

Сначала дайте вашей таблице стилей включить строку id = "cssElement" или что-то еще.

Затем, используя jQuery:

$(document).ready(function(){   

   // The event for orientation change
   var onChanged = function() {

      // The orientation
      var orientation = window.orientation;

      if(orientation == 90) { 
          $('#cssElement').attr('href', '/path/to/landscape.css');
      } else {
          $('#cssElement').attr('href', '/path/to/portrait.css');
      }

   };

   // Bind the orientation change event and bind onLoad
   $(window).bind(orientationEvent, onChanged).bind('load', onChanged);

});
1 голос
/ 14 ноября 2011

Мне кажется, что приведенный ниже код JQuery лучше всего работает ... примеры привязки - нет.

$(document).ready(function() {
               $(window).resize(function() {
                  alert(window.orientation);
                  });
               });
0 голосов
/ 12 ноября 2011

Вы можете использовать событие window.onorientationchange.

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