微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

为什么伪元素未显示在某些窗口大小以下的 HTML 中

如何解决为什么伪元素未显示在某些窗口大小以下的 HTML 中

首先,请看下面的页面

https://preview.themeforest.net/item/photography-fullscreen-wordpress-theme-johnblack-photography/full_screen_preview/18151772?_ga=2.91133081.2070407211.1611250672-625688107.1611097574

左侧的滑块顶部和底部都有深色滤镜。 这是我从开发者工具中找到的滑块代码

<div class="fs_gallery_slider" data-thumbs-btn-title="Thumbs">
::before
::after
</div>

如您所见,顶部过滤器和底部过滤器都是使用伪元素生成的。当窗口大小超过 1024px 时,它们都显示在 HTML 中,而不是当窗口大小低于 1024px 时。我以为它们是由一些 CSS 属性控制的,例如“display:none;”,但媒体查询并未用于它们,因此情况似乎并非如此。

在这种情况下,是否意味着这些伪元素是用 JavaScript 或某种方式生成的?如果是这样,有没有办法找到来源?

谢谢。

解决方法

In CSS,::before creates a pseudo-element that is the first child of the selected element.

css 中定义的

::before 位于媒体查询后面,因此它仅在满足媒体查询参数(通常是窗口宽度)时才起作用。

::before 元素不只是在那里,除非它们在 CSS 中定义。

https://developer.mozilla.org/en-US/docs/Web/CSS/::before

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。