[ПЛАТНО] Сделать баннеры для дома адаптивными

Что вы хотите сделать?
Мне нужно добавить адаптивный CSS для баннеров House Ads в новый компонент темы, чтобы они корректно отображались на всех устройствах:

В настоящее время на мобильных устройствах баннеры House Ads отображаются так же, как и на десктопе, что создаёт плохой пользовательский опыт.

Также мне понадобится помощь в добавлении адаптивного HTML для правильного отображения баннеров House Ads.

Какой у вас бюджет в долларах США на эту задачу?
Не знаете?

2 лайка

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

<a href="" class="banner-ad" target="_blank">
    <img class="desktop" src="">
    <img class="mobile" src="">
</a>

Просто задайте изображения для каждого случая (меньшая ширина для телефонов, большая — для настольных версий), и всё!

Лично я использую следующие размеры:

  • Мобильная версия: 1282x311
  • Десктопная версия: 755x90

Затем создайте компонент и добавьте следующий CSS:

$cta-background-color: #FE4644;
$cta-text-color: #FFFFFF;

.banner-ad {
    display: flex;
    clear: both;
    max-width: calc(#{$topic-body-width} + #{$topic-avatar-width} + (#{$topic-body-width-padding} * 2));
    background-color: #FEF25E;
    border: 1px solid $primary;
    box-sizing: border-box;
    img {
        height: 90px;
        &.desktop {
            display: block;
        }
        &.mobile {
            display: none;
            width: 100%;
        }
    }
    .container {
        display: flex;
        justify-content: space-between;
        align-items: center;
        width: 100%;
        p {
            margin: 0;
            &.small {
                font-weight: bold;
                text-align: right;
                padding: 1px 5px;
                background-color: #000000;
                color: #FFFFFF;
            }
            &.big {
                font-size: 24px;
                line-height: normal;
                padding-bottom: 5px;
                color: #434343;
                font-weight: lighter;
            }
        }
        .cta {
            color: $cta-text-color;
            background-color: $cta-background-color;
            &:hover {
                background-color: darken($cta-background-color, 20%);
            }
        }
    }
}

@media only screen and (max-width: 672px) {
    .banner-ad {
        img.desktop, p {
            display: none;
        }
        img.mobile {
            display: block;
        }
        .container {
            justify-content: center;
            .cta {
                margin: 0 5px;
                font-size: 12px;
            }
        }
    }
}

Странные размеры, но всё работает! Вы можете увидеть это в действии здесь.

Оплачивать это не стоит… Возможно, лучше сделать пожертвование в пользу Discourse!

5 лайков

В зависимости от ситуации, это может стоить того. Легко забыть, что то, что кажется очевидным человеку с опытом веб-разработки, может показаться довольно сложным для того, у кого такого опыта нет.

1 лайк

Я знаю, но это сообщество такое замечательное, и большинство людей помогут с такими вещами :stuck_out_tongue:

1 лайк

Действительно! И для ориентира: я, вероятно, взял бы 200–500 долларов за эту работу. Это может оказаться так же просто, как применить только что предоставленный вами код, но в итоге это может занять гораздо больше времени, так как я не знаю, какие неожиданные проблемы могут возникнуть в процессе выполнения задачи.

3 лайка

@Juan_Adamuz

Спасибо за помощь! Я знал, как добавить HTML в House Ads и CSS в тему, но у меня возникли трудности с тем, чтобы всё работало правильно, поэтому ваше сообщение действительно помогло мне сделать это лучше.

Однако, похоже, есть проблема. Вокруг контура, на мобильных устройствах и на рабочем столе, кажется, что за ним отображается ещё один баннер, а справа от баннерной рекламы есть жёлтое пространство, которого там быть не должно. Тот же баннер, который не отображается на мобильных устройствах, показывается в разделе «Выше потока постов», и у него нет ни этого контура, ни жёлтой части? Есть какая-то идея, что происходит?

Вы можете увидеть рекламу на главной странице Unschooling(.)com — как видите, оба варианта отображаются правильно ниже, что говорит о том, что что-то в CSS вызывает появление контура и жёлтого пространства.

Вот HTML, который я использовал, вместе с CSS со страницы House Ads:

<center><a href="https://shareasale.com/r.cfm?b=839764&amp;u=2163380&amp;m=40843&amp;urllink=&amp;afftrack=" class="banner-ad" target="_blank">
<img class="desktop" src="https://static.shareasale.com/image/40843/Declan728X90.jpg">
<img class="mobile" src="https://static.shareasale.com/image/40843/2kids468x60.jpg">

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.