【问题标题】:How can I make an ad specific to desktop, and another to mobile?如何制作特定于桌面的广告,而另一个特定于移动设备的广告?
【发布时间】:2020-06-09 23:01:07
【问题描述】:

我知道这似乎是一个非常简单的问题,但请理解我对 CSS 知之甚少。 本质上,我有一个包含两列的响应式网站。我想在桌面右侧添加一个广告,在左侧添加一个用于移动设备的广告。到目前为止一切顺利,我只需要复制和调整他们在其网站上提供的代码,这确实适用于移动设备,隐藏了广告:

<style type="text/css">
.adslot_1 { display:inline-block; width: 320px; height: 50px; }
@media (max-width: 400px) { .adslot_1 { display: none; } }
</style>
<ins class="adsbygoogle adslot_1"
   data-ad-client="ca-pub-1234"
   data-ad-slot="5678"></ins>
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<script>(adsbygoogle = window.adsbygoogle || []).push({});</script>

但是,我怎样才能使它适应桌面?我以为我所拥有的只是将 max-width: 400px 更改为 min-width,但它似乎根本不起作用......关于为什么,我该如何解决?

【问题讨论】:

    标签: css adsense


    【解决方案1】:

    在许多情况下,动态插入内容的脚本倾向于修改元素的内联 CSS 属性,并且由于其特殊性,通常会覆盖样式定义。您可以在 CSS on MDN 中了解更多关于特异性的信息。

    我建议您将!important 添加到您的样式定义中,看看是否隐藏了该元素。您的样式应该类似于:(我在 @media 查询中添加了一些额外信息。

    .adslot_1 {
        display:inline-block; 
        width: 320px;
        height: 50px;
    }
    
    @media only screen and (max-width: 400px) {
        .adslot_1 {
            display: none !important;
        }
    }
    

    您还可以打开浏览器的检查工具(开发人员工具)并检查该特定元素以查看正在应用哪些样式,并根据媒体查询进行检查。

    【讨论】:

    • 对不起,这对我来说真的很像中文,因为我对 CSS 不是很了解。所以,基本上,我可以添加 !important ,这实际上应该强制应用规则?
    • 在您的情况下非常宽泛地说是的,它优先考虑要应用的样式,基本上表明应用此特定规则很重要。
    • 谢谢!似乎解决方案有点傻 - 我忘记在编码中将 .adslot1 更改为 .adslot2 ,因此两个广告要么同时出现,要么没有。哦!感谢您的帮助!
    • 没问题,如果答案对你有用,你可以接受:)
    猜你喜欢
    • 2017-10-17
    • 2015-05-22
    • 1970-01-01
    • 2021-04-19
    • 1970-01-01
    • 2018-12-13
    • 1970-01-01
    • 2020-05-28
    • 1970-01-01
    相关资源
    最近更新 更多