首页 > 解决方案 > 如何检测图像是否可见?

问题描述

所以我有一个表服务器块。在桌面和大屏幕上,表单显示在其右侧的图像。在较小的屏幕上,图像是隐藏的。

当图像被隐藏时,我想让表格更宽以填补缺失的空间。图像没有自己的 div 类。它是包含 div 的背景图像。

<div class="container pb-5 pt-3 fixed-bg gatedbg" style="background-image: url(@Url.ContentUrl(Model.CurrentBlock.Image))">
    <div class="row">
        <div class="container pb-5 pt-3 fixed-bg gatedbg" style="background-image: url(@Url.ContentUrl(Model.CurrentBlock.Image))">
            <div class="row">
                <div class="@(!ContentReference.IsNullOrEmpty(Model.CurrentBlock.Image) ? "col-sm-7 col-md-8" : "col-sm-12 col-md-12")">
                    <div class="whitepaper">
                    </div>
                </div>
            </div>
        </div>
    </div>
</div>

我还修改了上面的内容,以便当通过 EPIserver 编辑器在页面中不包含表单时,默认情况下该行应该是全宽的。

我的CSS.gatedbg

@media (max-width: 960px) {
    .gatedbg {
        background-image: none !important;
    }
}

EPIserver 或 ASP.Net/MVC 中是否有一种方法可以检测背景图像何时从浏览器的视图中隐藏?

如果我理解正确,我不能在这个剃须刀页面中使用 javascript,因为它是服务器端代码?

标签: javascripthtmlcssasp.netepiserver

解决方案


这些pb-5 pt-3类可能是某些网格系统的一部分,负责列宽?960px 是否对应于该系统使用的响应断点之一?

如果是这样,您可能只需要设置不同的类(使表单全宽,并完全隐藏“图像”列);

否则,您可能需要在样式表中明确覆盖来自这些类的宽度。


推荐阅读