Скрытие блоков

Есть любые вопросы, связанные со стилями/темами для phpBB 3.1.x? Задайте их здесь!
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Мини [FAQ] по phpBB3.1.x | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать расширения

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
romeo_piter
phpBB 2.0.22
Сообщения: 1375
Стаж: 17 лет 6 месяцев
Благодарил (а): 260 раз
Поблагодарили: 32 раза

Скрытие блоков

Сообщение romeo_piter »

После переезда с 3.0 занялся расстановкой рекламных блоков с учетом того, что на моб. устроиствах теперь всё работает хорошо, не хочется это портить.

По совету из другой темы стандартные баннеры скрыл конструкцией:

Код: Выделить всё

<script type="text/javascript">
 if (screen.width > '800')
{ 
Всё прекрасно работает.

У гугла появились прекрасные адаптивные блоки - с ними нет проблем.
А вот яндекс, это жуть. Указанным выше скриптом его не спрятать, тк получается скипт под скриптом )
Адаптируется он мягко сказать погано.

Как выйти из ситуации, про @media читал, но без конкретного примера скрытия блока в зависимости от разрешения, самому прикрутить ума не хватает. В сети тоже нет примеров.

Помогите с решением проблемы кому не жалко плз. На хтмлбук отсылать не надо, много раз слали - не помогает.
Аватара пользователя
Alecto
phpBB 3.0.12
Сообщения: 2857
Стаж: 16 лет 10 месяцев
Откуда: Украина! Харьков
Благодарил (а): 80 раз
Поблагодарили: 292 раза

Re: Скрытие блоков

Сообщение Alecto »

например

Код: Выделить всё

@media only screen and (max-width: 700px), only screen and (max-device-width: 700px) {
#chat-body {
  border-radius: 0;
  margin: 5px -5px;
}
пробуй, разбирайся
Аватара пользователя
KEMnEP
phpBB 2.0.18
Сообщения: 1176
Стаж: 11 лет 7 месяцев
Благодарил (а): 47 раз
Поблагодарили: 314 раз

Re: Скрытие блоков

Сообщение KEMnEP »

а кто мешает убрать убрать тег скрипт у внутреннего скрипта и писать всё в одном блоке куда штмл вписывать вида к примеру

Код: Выделить всё

document.write ('<div>чего то там</div>'); 
romeo_piter
phpBB 2.0.22
Сообщения: 1375
Стаж: 17 лет 6 месяцев
Благодарил (а): 260 раз
Поблагодарили: 32 раза

Re: Скрытие блоков

Сообщение romeo_piter »

KEMnEP писал(а): а кто мешает убрать убрать тег скрипт у внутреннего скрипта и писать всё в одном блоке куда штмл вписывать вида к примеру
Тогда оно не работает вообще.
Alecto писал(а): пробуй, разбирайся
Воткнул в цсс, присвоил на выводе диву этот класс. Выглядит одинаково, что на компе, что на смарте.
Аватара пользователя
KEMnEP
phpBB 2.0.18
Сообщения: 1176
Стаж: 11 лет 7 месяцев
Благодарил (а): 47 раз
Поблагодарили: 314 раз

Re: Скрытие блоков

Сообщение KEMnEP »

romeo_piter, скинул бы код, могу бы подсказать вариант замены, без углубления в асинхроность. для просто ты примера
romeo_piter
phpBB 2.0.22
Сообщения: 1375
Стаж: 17 лет 6 месяцев
Благодарил (а): 260 раз
Поблагодарили: 32 раза

Re: Скрытие блоков

Сообщение romeo_piter »

Например, это:

Код: Выделить всё

<!-- Яндекс.Директ -->
<div id="yandex_ad"></div>
<script type="text/javascript">
(function(w, d, n, s, t) {
    w[n] = w[n] || [];
    w[n].push(function() {
        Ya.Direct.insertInto(86699, "yandex_ad", {
            ad_format: "direct",
            font_size: 1.2,
            type: "horizontal",
            border_type: "block",
            limit: 4,
            title_font_size: 3,
            border_radius: true,
            links_underline: false,
            site_bg_color: "FFFFFF",
            border_color: "999999",
            title_color: "105289",
            url_color: "006600",
            text_color: "000000",
            hover_color: "D31141",
            no_sitelinks: true
        });
    });
    t = d.getElementsByTagName("script")[0];
    s = d.createElement("script");
    s.src = "//an.yandex.ru/system/context.js";
    s.type = "text/javascript";
    s.async = true;
    t.parentNode.insertBefore(s, t);
})(window, document, "yandex_context_callbacks");
</script>
Аватара пользователя
Alecto
phpBB 3.0.12
Сообщения: 2857
Стаж: 16 лет 10 месяцев
Откуда: Украина! Харьков
Благодарил (а): 80 раз
Поблагодарили: 292 раза

Re: Скрытие блоков

Сообщение Alecto »

romeo_piter писал(а): Выглядит одинаково
разбирайся, работающий пример есть + гугл в помощь
Аватара пользователя
KEMnEP
phpBB 2.0.18
Сообщения: 1176
Стаж: 11 лет 7 месяцев
Благодарил (а): 47 раз
Поблагодарили: 314 раз

Re: Скрытие блоков

Сообщение KEMnEP »

3 варианта
1с перестраховкой
Скрытый текст

Код: Выделить всё

<!-- Яндекс.Директ -->
<script type="text/javascript">
if (screen.width > '800') {
document.write ('<div id="yandex_ad"></div>'); 
   }
</script>
<script type="text/javascript">
if (screen.width > '800')
 {
(function(w, d, n, s, t) {
    w[n] = w[n] || [];
    w[n].push(function() {
        Ya.Direct.insertInto(86699, "yandex_ad", {
            ad_format: "direct",
            font_size: 1.2,
            type: "horizontal",
            border_type: "block",
            limit: 4,
            title_font_size: 3,
            border_radius: true,
            links_underline: false,
            site_bg_color: "FFFFFF",
            border_color: "999999",
            title_color: "105289",
            url_color: "006600",
            text_color: "000000",
            hover_color: "D31141",
            no_sitelinks: true
        });
    });
    t = d.getElementsByTagName("script")[0];
    s = d.createElement("script");
    s.src = "//an.yandex.ru/system/context.js";
    s.type = "text/javascript";
    s.async = true;
    t.parentNode.insertBefore(s, t);
})(window, document, "yandex_context_callbacks");
}
</script>
2 без перестраховки
Скрытый текст

Код: Выделить всё

<!-- Яндекс.Директ -->
<script type="text/javascript">
if (screen.width > '800') {
document.write ('<div id="yandex_ad"></div>'); 

(function(w, d, n, s, t) {
    w[n] = w[n] || [];
    w[n].push(function() {
        Ya.Direct.insertInto(86699, "yandex_ad", {
            ad_format: "direct",
            font_size: 1.2,
            type: "horizontal",
            border_type: "block",
            limit: 4,
            title_font_size: 3,
            border_radius: true,
            links_underline: false,
            site_bg_color: "FFFFFF",
            border_color: "999999",
            title_color: "105289",
            url_color: "006600",
            text_color: "000000",
            hover_color: "D31141",
            no_sitelinks: true
        });
    });
    t = d.getElementsByTagName("script")[0];
    s = d.createElement("script");
    s.src = "//an.yandex.ru/system/context.js";
    s.type = "text/javascript";
    s.async = true;
    t.parentNode.insertBefore(s, t);
})(window, document, "yandex_context_callbacks");
}
</script>
3 сосем комбинированый, совсем перестраховочный и до нагдядства раздут
Скрытый текст

Код: Выделить всё

<!-- Яндекс.Директ -->
<script type="text/javascript">
if (screen.width > '800') {
document.write ('<div id="yandex_ad"></div>');
}

(function(w, d, n, s, t) {
if(screen.width > '800') {
    w[n] = w[n] || [];
    w[n].push(function() {
        Ya.Direct.insertInto(86699, "yandex_ad", {
            ad_format: "direct",
            font_size: 1.2,
            type: "horizontal",
            border_type: "block",
            limit: 4,
            title_font_size: 3,
            border_radius: true,
            links_underline: false,
            site_bg_color: "FFFFFF",
            border_color: "999999",
            title_color: "105289",
            url_color: "006600",
            text_color: "000000",
            hover_color: "D31141",
            no_sitelinks: true
        });
    });
    t = d.getElementsByTagName("script")[0];
    s = d.createElement("script");
    s.src = "//an.yandex.ru/system/context.js";
    s.type = "text/javascript";
    s.async = true;
    t.parentNode.insertBefore(s, t);
}})
if (screen.width > '800') {
(window, document, "yandex_context_callbacks");
}
</script>
romeo_piter
phpBB 2.0.22
Сообщения: 1375
Стаж: 17 лет 6 месяцев
Благодарил (а): 260 раз
Поблагодарили: 32 раза

Re: Скрытие блоков

Сообщение romeo_piter »

KEMnEP писал(а): 3 варианта
1с перестраховкой
KEMnEP, спасибо, логику как перестроить понял. Всё отлично работает.
Есть ли у этого способа минусы? Например, скрипты отключены :D :D :D
Аватара пользователя
KEMnEP
phpBB 2.0.18
Сообщения: 1176
Стаж: 11 лет 7 месяцев
Благодарил (а): 47 раз
Поблагодарили: 314 раз

Re: Скрытие блоков

Сообщение KEMnEP »

romeo_piter, ну нажимайте Вы спасибки у поста моего, уже три как минимум помогшим Вам поста (тыкнул про квик репли и аякс, тыкнул про иф скрин. и сейчас...) и не 1й спасибки на этом форуме в мой зачёт...
у этого способа 1 минус штмл код в этом случае не полностью асинхронный, то есть показ страницы будет после полной отработки кода. а не вовремя,
а про скрипты, не будут включены скрипты рекламы тоже не будет даже и без этого кода ибо она вся сплош и рядом на скриптах держится
romeo_piter
phpBB 2.0.22
Сообщения: 1375
Стаж: 17 лет 6 месяцев
Благодарил (а): 260 раз
Поблагодарили: 32 раза

Re: Скрытие блоков

Сообщение romeo_piter »

Зачем вам эти спасибки? )
KEMnEP писал(а): то есть показ страницы будет после полной отработки кода. а не вовремя
Это плохо, особенно с яндексом ((
KEMnEP писал(а): а про скрипты, не будут включены скрипты рекламы тоже не будет даже и без этого кода ибо она вся сплош и рядом на скриптах держится
Ну да, логично.
Перенесено из форума Поддержка phpBB 3.1.x в форум Стили для phpBB 3.1.x 05.07.2015 22:39 модератором Sheer

Вернуться в «Стили для phpBB 3.1.x»