Как скрыть модуль от мобильных устройств?

  • 55 Ответов
  • 12077 Просмотров

0 Пользователей и 1 Гость просматривают эту тему.

Здравствуйте.
Подскажите как можно скрыть модуль в определенной позиции от мобильных устройств? Пример: на сайте http://sanbyulleten.ru/ в позиции абсолют модуль с рекламой от Google 190х600 при просмотре на планшетах и телефоне закрывает частично текст и графику. Как результат большее число отказов, меньше просмотров. Хотелось бы, чтобы он вообще не показывался для мобильных платформ или был полностью на заднем плане.
Вывод блока в шаблоне
Код
<div id="page-bg">

<?php if ($this['modules']->count('absolute')) : ?>
<div id="absolute">
<?php echo $this['modules']->render('absolute'); ?>
</div>
<?php endif; ?>
Стили
Код
/* Copyright (C) YOOtheme GmbH, http://www.gnu.org/licenses/gpl.html GNU/GPL */

/*
 * Layout Style Sheet - Provides a fluid grid and helper classes to create any layout and some layout defaults
 */


/* Grid and Clearing Tools
----------------------------------------------------------------------------------------------------*/

.clearfix:before,
.clearfix:after,
.grid-block:before,
.grid-block:after,
.deepest:before,
.deepest:after {
content: "";
    display: table;
}
.clearfix:after,
.grid-block:after,
.deepest:after { clear: both; }

.grid-box { float: left; }

/* Grid Units */
.width16 { width: 16.666%; }
.width20 { width: 20%; }
.width25 { width: 25%; }
.width33 { width: 33.333%; }
.width40 { width: 40%; }
.width50 { width: 50%; }
.width60 { width: 60%; }
.width66 { width: 66.666%; }
.width75 { width: 75%; }
.width80 { width: 80%; }
.width100 { width: 100%; }

[class*='width'] {
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
box-sizing: border-box;
}

/* Create new Block Formatting Contexts */
.bfc-o { overflow: hidden; }
.bfc-f {
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
box-sizing: border-box;
width: 100%;
float: left;
}

/* Align Boxes */
.float-left { float: left; }
.float-right { float: right; }

/* Grid Gutter */
.grid-gutter.grid-block { margin: 0 -15px; }
.grid-gutter > .grid-box > * { margin: 0 15px; }

.grid-gutter > .grid-box > * > :first-child { margin-top: 0; }
.grid-gutter > .grid-box > * > :last-child { margin-bottom: 0; }


/* Layout Defaults
----------------------------------------------------------------------------------------------------*/

/* Center Page */
.wrapper {
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
box-sizing: border-box;
margin: auto;
}

/* Header */
#header { position: relative; top: 10px;}

#toolbar .float-left .module,
#toolbar .float-left > time {
margin: 0 15px 0 0;
float: left;
}

#toolbar .float-right .module {
margin: 0 0 0 15px;
float: right;
}

#headerbar .module {
max-width: 300px;
margin-right: 0;
float: right;
}

#logo, #logo > img,
#menu { float: left; }
#search { float: right; }

#banner {
position: absolute;
top: 0;
right: -200px;
}

/* Footer */
#footer {
position: relative;
text-align: center;
}

/* Absolute */
#absolute {
position:fixed;
top: 30px;
left: 20px;
width: 120px;
}
Спасибо.

*

capricorn

  • *******
  • 1634
  • 106
в суффикс класса модуля попробуйте ввести hidden-phone, hidden-tablet, hidden-desktop

Не помогло

*

verstalshik

  • *******
  • 1787
  • 93
медиаквери юзайте
❶ НЕ СПРАВЛЯЕШЬСЯ САМ???  Поможем тут...  ❷ Калькулятор доставки - ЗАКАЖИ!!!...  ❸ Каталог компаний - ЖМИ!!!...  ❹ НОВИЧКИ! ВСЕ сюда! Первая консультация БЕСПЛАТНО!!

Что это?

*

fbr

  • ******
  • 1274
  • 140
Код: css
@media (max-width: 979px) {
  .class-module {
    display: none;
  }
}

*

verstalshik

  • *******
  • 1787
  • 93
Код: css
@media (max-width: 979px) {
  .class-module {
    display: none;
  }
}
а в head разве не надо  <meta name="viewport" content="width=device-width, initial-scale=1.0" /> ??))
❶ НЕ СПРАВЛЯЕШЬСЯ САМ???  Поможем тут...  ❷ Калькулятор доставки - ЗАКАЖИ!!!...  ❸ Каталог компаний - ЖМИ!!!...  ❹ НОВИЧКИ! ВСЕ сюда! Первая консультация БЕСПЛАТНО!!

Код: css
@media (max-width: 979px) {
  .class-module {
    display: none;
  }
}
Не помогло

Кто поможет за денежку?


Медиа-запросы
ДА я уже читал эту страницу. Пробовал ставить не получилось. В каком CSS делать этот код? Стилей в шаблоне масса.


Firebug
он показывает стиль из первого поста


Код
@media handheld and (max-width: 979px) {
  .class-module {
    display: none;
  }
}

#absolute {
    position:fixed;
top: 30px;
left: 20px;
width: 120px;
}
Так?

*

wfedin

  • ******
  • 1290
  • 102
Мне откуда знать какие у вас классы в шаблоне используются? Если это:
Код: php
<?php if ($this['modules']->count('absolute')) : ?>
<div id="absolute">
<?php echo $this['modules']->render('absolute'); ?>
</div>
<?php endif; ?>
то:
Код: css
@media handheld and (max-width: 979px) {
  #absolute {
    display: none;
  }
}

Так я тоже делал. И кэш почистил.

*

fbr

  • ******
  • 1274
  • 140
Код: css
@media (max-width: 979px) {
  #page-bg>#absolute {
      display:none !important;
  }
}
а в head ...  <meta name="viewport" content="width=device-width, initial-scale=1.0" />))

вот так наверняка убьете ..


*

fbr

  • ******
  • 1274
  • 140
 да тут все с ног сбились парню помогать :)
блин, в FireBug - за 2 мин. все можно решить, если бы умел пользоваться ..

Спасибо. Но мой планшет упрямо показывает этот блок несмотря на все ухищрения  >:(

Код: css
@media (max-width: 979px) {
  #absolute {
    display: none;
  }
}
Опередидили...
Этот вариант заработал после очередной чистки кэша в вертикальной раскладке. Надо пологать - уменьшить пиксели надо?

Всем спасибо большое за помощь!

Окончательный вариант, работающий в верт. и гориз. раскладках:
Код
@media (max-width: 1367px) {
  #absolute {
    display: none;
  }
}

В head:
Код
<meta name="viewport" content="width=device-width, initial-scale=1.0" />))

*

fbr

  • ******
  • 1274
  • 140
ничего себе "окончательный вариант"
1367 - это правило и для большей части ноутбуков отработает ...

Ориентироваться нужно на определенное разрешение экрана, а не на конкретный планшет

Тогда условием надо ставить не ширину дисплея а тип устройств

*

fbr

  • ******
  • 1274
  • 140
Для планшетов : @media only screen and (min-width: 767px) and (max-width: 979px)
Для планшета и мобильных устройств : @media only screen and (max-width: 979px)

*

fbr

  • ******
  • 1274
  • 140
Тогда условием надо ставить не ширину дисплея а тип устройств
Смысл? Если у кого-то мобила больше чем у меня рабочий стол монитор? Почему бы ему не показать заветный модуль?

У меня планшет1200 шириной и по идее сайт должен был вместиться. Но он растягивается по экрану а модуль оказывается частично преред элементами, а частично сзади. Ладно был бы он весь на заднем плане да и хрен с ним.

Пойду спать. Завтра вечером буду дальше шаманить.

Пс. Может модуль надо позиционировать не от края экрана,?