Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
HTML/CSS,只有当元素内容具有高度>;0_Html_Css_Height_Margin_Padding - Fatal编程技术网

HTML/CSS,只有当元素内容具有高度>;0

HTML/CSS,只有当元素内容具有高度>;0,html,css,height,margin,padding,Html,Css,Height,Margin,Padding,我需要一个具有上下边距(或填充)的元素,仅当元素内容具有高度时 所讨论的元素总是通过javascript插入一些内容(它是一个广告容器),如果存在adblocker,或者没有可显示的广告,我根本不想为访问者显示任何内容。就好像那里什么都没有。尽管如此,如果有广告,我需要在上面和下面留一些空白/填充 主要问题是,adserver软件总是向容器插入信标,因此类似于ins:empty{display:none}的内容仅适用于AdBlocker(因为它也会阻止信标),但如果没有可用的ad(信标将被插入,

我需要一个具有上下边距(或填充)的元素,仅当元素内容具有高度时

所讨论的元素总是通过javascript插入一些内容(它是一个广告容器),如果存在adblocker,或者没有可显示的广告,我根本不想为访问者显示任何内容。就好像那里什么都没有。尽管如此,如果有广告,我需要在上面和下面留一些空白/填充

主要问题是,adserver软件总是向容器插入信标,因此类似于
ins:empty{display:none}
的内容仅适用于AdBlocker(因为它也会阻止信标),但如果没有可用的ad(信标将被插入,以注册空白视图)

解决方案是,如果有一种方法可以将样式应用于元素父级,但据我所知,这是不可能的

如果可能的话,我想使用CSS实现这一点,并且不涉及任何javascript

谢谢

<ins>
    **if there is a banner, that code will be inserted here**
    <div class="beacon"><img ...></div>
</ins>

ins {
    display: block;
    text-align: center;

    &::before {
        content: '';
        height: 15px;
        display: block;
    }

    &::after {
        content: '';
        height: 15px;
        display: block;
    }
}

ins:empty {
    display: none;
}

**如果有横幅,则该代码将插入此处**
ins{
显示:块;
文本对齐:居中;
&::之前{
内容:'';
高度:15px;
显示:块;
}
&::之后{
内容:'';
高度:15px;
显示:块;
}
}
ins:空的{
显示:无;
}

以上是我到目前为止所做的工作(我之所以在前后使用,并不是简单地填充,而是因为这部分与这个问题无关,所以我将其删除)。这适用于adblocker,但不适用于空广告。

您是否已经尝试过任何代码?我已经编辑了第一篇文章,并包含了我迄今为止尝试过的内容。谢谢