【问题标题】:<p> on img when hovering<p> 悬停时在 img 上
【发布时间】:2015-02-15 22:21:57
【问题描述】:

我的代码有问题。

当我悬停自己的图像时,我想显示关于我自己的信息 (&lt;p&gt;)。 我试图将代码粘贴到 jsfiddle 中,但即使这样也失败了...... 我希望有人可以帮助我编写代码。

这里是fiddle

<div class="container pt">
<div class="row mt centered">   
    <div class="col-lg-4">
        <a class="zoom green"><img class="img-responsive" src="http://www.placecage.com/100/100" alt="" /></a>
        <p>Hello iam Name</p> <!-- This P should be hidden and visible when the image is hovered -->
        <p>Name</p>
    </div>
</div>
</div><!-- /row -->

【问题讨论】:

    标签: html css image hover


    【解决方案1】:

    添加这个css:

    .zoom p {
      display:none;
    }
    
    .zoom:hover p {
      display:block;
    }
    

    并将该名称段落移动到该 a 标记内:

    <a class="zoom green">
      <img class="img-responsive" src="http://www.placecage.com/100/100" alt="" />
      <p>Hello iam Name</p>
    </a>
    

    编辑: 正如 Mathius 在 cmets 中所说,您可以将 p 标签留在原处并执行

    .zoom:hover + p {
      display:block;
    }
    

    但你还需要做一些类似的事情

    .col-lg-4 > p { display:none;} 
    

    然后你会引入一个潜在的问题,因为 - 如果 .col-lg-4 中的第一个 p 标记是你不想隐藏的东西怎么办? 那个问题可以通过在该名称p标签上添加一个类并设置display:none;来解决。就可以了,比如:

    p.name {
      display:none;
    }
    

    有几种方法可以达到预期的效果。鉴于 OP 中提供的信息,我认为第一个示例以最简洁的方式执行此操作。

    【讨论】:

    • 如果您不想将

      移动到标签内,您可以执行以下操作: .zoom:hover + p { display:block; }

    • P 显示在 img 下方,而且不透明度也很低,我该如何解决这个问题?
    • 您的 OP 没有指定您希望 P 出现在其他任何地方......您只是说您想在将鼠标悬停在图像上时显示它。如果您希望 P 显示在其他位置,则需要更具体。
    • 正如标题所说的

      on ,我想在悬停时在 中显示

    • 好的...但是图片上的哪里?占据整个区域?在底部?在顶部?当它覆盖图像时,文本的易读性如何?这是一个问题吗?一个好的起点是在 .zoom p 的 css 中添加 position:absolute; bottom: 0;
    猜你喜欢
    • 1970-01-01
    • 2013-11-09
    • 2017-10-19
    • 2012-06-10
    • 2016-08-07
    • 1970-01-01
    • 2021-02-09
    • 2011-03-05
    • 2012-05-26
    相关资源
    最近更新 更多