【问题标题】:Making titles of posts appear on mouseover/hover while image rolls up在图像滚动时使帖子标题出现在鼠标悬停/悬停上
【发布时间】:2020-11-27 17:18:24
【问题描述】:

所以,我有一个 div flex,它使用 Custom FieldsTwig 从 wordpress 获取 3 个帖子。

我得到图像、标题,然后将它们显示在 div 中,一切都很好。现在我想做下面的例子,当鼠标移到图像上时,图像会逐渐失去它的向下部分,并且会显示标题以及发布顺序。我尝试了鼠标悬停、悬停和其他东西,但我无法让它工作。所以先看看,这是朋友做的模型:

What I wanna do

这是我想做的,我的项目就是这样,不同的是标题在图片下面,顺序(01、02、03)没有显示。在此处检查当前状态:

What I have done so far

这是用于从 wordpress 获取帖子的代码

/* Main file code : */

{% for post in homeserviceposts %} 
    {% include 'category.twig' %}
{% endfor %}

/* Imported file code: */

{% block content %}
<a title="{{post.title}}" href="{{post.link}}">
    {% if post.thumbnail.src %}<img class="img-responsive post-image" src="{{post.thumbnail.src}}"/> {% endif %}
    <h2 class="post-title">{{post.title}}</h2>
</a> {% endblock %}

基本上就是这样,我感谢所有愿意花时间教我新东西的人!

【问题讨论】:

  • 使用 CSS 还是 JS?能否请您发布您的完整代码?
  • 我在这个项目中使用 CSS,我的查询代码在 CSS 中如下所示,HTML 已经给出,仅此而已。 .flex-container-posts { display: flex; justify-content: end; flex-direction: row; height: 845px; } .flex-container-posts a { width: 380px; text-align: center; } .field-article1 { height: 900px; } .img-responsive { width: 405px; height: 536px; padding: 0 10px; margin-top: 152px; }

标签: html css wordpress web twig


【解决方案1】:

您可以像这样将您的内容包装在另一个 div 中:

<a href="/">
  <div>
    <img src="...">
    <h2>...</h2>
  </div>
</a>

然后在 css 中为 a 标签设置一个固定的高度和溢出

a {
  border: 1px solid black;
  display: block;
  height: 300px;
  overflow: hidden;
  width: 200px;
}

当你悬停时魔法就会出现:只需向上翻译图像!

a:active > div,
a:focus > div,
a:hover > div {
  transform: translateY(-50%);
}

最后通过设置起始点和到 div 的过渡来添加一些动画

a > div {
  transition: transform 100ms;
  transform: translateY(0);
}

(当然根据您的需要调整值)

在 wordpress 中(不是 100% 熟悉它)它会变成类似

{% block content %}
  <a title="{{post.title}}" href="{{post.link}}">
    <div>
      {% if post.thumbnail.src %}
        <img class="img-responsive post-image" src="{{post.thumbnail.src}}"/> 
      {% endif %}
      <h2 class="post-title">{{post.title}}</h2>
    </div>
  </a>
{% endblock %}

【讨论】:

  • 谢谢你,我明白你的意思了,我不知道翻译功能存在!您能否根据我在 HTML 查询中给出的代码向我展示一个示例?我的 CSS 都很好,但我认为我管理 HTML 部分的方式是错误的,因为我最终在页面上有 3 个 a 标签和 3 个 div 标签,并且悬停不起作用,可能是因为 HTML 不合适.感谢您的耐心等待!
  • 我试过 :) 但我的 PHP 离我很远,你的最终目标应该是有一个类似于我的标记(当然还有你需要的任何类)。对于没有图像的帖子,您还需要一些边缘案例。如果您在 CSS 中使用 h2:only-child,您可以将它们设置为以 div 为中心或类似的东西,但这将是一个不同的问题:)
  • 谢谢,我会尽快解决的,PHP 确实很棘手。我也希望客户总是会放一张图片,但是是的,我会处理他们不会的情况。小心! :)
猜你喜欢
  • 2015-08-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-03-03
  • 1970-01-01
相关资源
最近更新 更多