【发布时间】:2019-01-21 23:20:26
【问题描述】:
一段时间以来一直在尝试解决此问题,但无法提出任何可行的方法。
我的目标是,当您将鼠标悬停在此特定 div 上时,背景图像将变为该背景图像的暗色版本。我尝试使用 filter 属性,但它会影响所有包含内容的内部 div。 (通过 JavaScript)
这是通过 ACF 在转发器字段内完成的。所以背景图像是由中继器中的子字段选择的。
我尝试了一些 Javascript,但没有找到解决方案。
还研究了替换 div,因此您会看到一个悬停 div。但是没有运气。
您将在下面找到我的代码以供参考。
任何帮助将不胜感激!
<div class="member-wrap grid-x grid-margin-x grid-margin-y">
<?php if ( have_rows( 'branch_team_members' ) ) : ?>
<?php while ( have_rows( 'branch_team_members' ) ) : the_row(); ?>
<div class="branch-member-main small-12 medium-6 large-3 cell">
<?php $team_member_hover_image = get_sub_field( 'team_member_hover_image' ); ?>
<div class="main-member-hover" style="background-image: url('<?php echo $team_member_hover_image['url']; ?>');">
</div>
<?php $team_member_image = get_sub_field( 'team_member_image' ); ?>
<div class="main-member-area" style="background-image: url('<?php echo $team_member_image['url']; ?>');">
<h4 class="member-name-hover"><?php the_sub_field( 'team_member_name' ); ?></h4>
<span class="member-position-hover"><?php the_sub_field( 'team_member_position' ); ?></span>
<?php the_sub_field( 'team_member_bio' ); ?>
</div>
<div class="main-member-contact">
<span class="member-name"><?php the_sub_field( 'team_member_name' ); ?></span>
<span class="member-contact"><?php the_sub_field( 'team_member_contact' ); ?></span>
</div>
</div>
<?php endwhile; ?>
<?php else : ?>
<?php // no rows found ?>
<?php endif; ?>
</div>
【问题讨论】:
-
您是否从该spinet 获得所有预期的HTML 作为输出?如果是这样,您能否将该 HTML 添加到此问题中,以便我查看可以在浏览器上执行的操作?
-
很难在线设置像
:hover这样的伪元素 - 我在这里的建议是根据你的行给出一个特定的 id,并在其中欺骗一个<style>块行也是如此 -
“我尝试使用 filter 属性,但它会影响所有包含内容的内部 div。” - 那么改变结构......?将背景图片放在自己的 div 元素上,然后将其绝对定位在实际内容的后面……然后您可以应用您喜欢的任何过滤器,而不会影响实际内容。
-
@ibex 所有 HTML 都包含在 sn-p 中。由于字段与我的 ACF 设置相关,因此您将无法在浏览器中看到它的外观。
-
@JLawless 我明白当我在本地没有相同的设置时,我将无法看到自己的输出。这就是我要求这个 sn-p 的输出(纯 HTML)的原因。 Stender 的回答似乎是一个更好的解决方案 - 为每个团队成员提供内联样式标签
标签: javascript wordpress background-image dom-events advanced-custom-fields