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