繁体   English   中英

如何解决CSS问题以显示图像标题?

[英]How to solve css issue to display image caption?

我想显示一些带有标题的图像。默认情况下仅显示其图像,但我希望默认显示带标题的图像。我在下面给出了我的css和html代码:

   <style type="text/css">

    .caption-style-1{
        list-style-type: none;
        margin: 0px;
        padding: 0px;

    }

    .caption-style-1 li{
        float: left;
        padding: 0px;
        position: relative;
        overflow: hidden;
        margin-right:5px;
    }

    .caption-style-1 li:hover .caption{
        opacity: 1;

    }

    .caption-style-1 .hover-effect{
        margin: 0px;
        padding: 0px;
        float: left;
        width:220px;
        height:150px;
        //background-color:#999;
        margin-bottom:5px;
    }

    .hover-effect img{
        margin: 0px;
        padding: 0px;
        float: left;
        z-index: 4;
    }
    .hover-effect h1
    {
        font-size:20px;
        border:solid 1px red;
    }

    .hover-effect p
    {
        font-size:13px;
        margin:0;
        padding:0;
    }


    .caption-style-1 .caption{
        cursor: pointer;
        position: absolute;
        opacity: 0;
        -webkit-transition:all 0.45s ease-in-out;
        -moz-transition:all 0.45s ease-in-out;
        -o-transition:all 0.45s ease-in-out;
        -ms-transition:all 0.45s ease-in-out;
        transition:all 0.45s ease-in-out;

    }
    .caption-style-1 .blur{
        //background-color: rgba(0,0,0,0.65);
        height: 150px;
        width: 220px;
        z-index: 5;
        position: absolute;
    }

    .caption-style-1 .caption-text h1{
        text-transform: uppercase;
        font-size: 10px;
    }
    .caption-style-1 .caption-text .blur{
        z-index: 10;
        color: #fff;
        position: absolute;
        width: 220px;
        height: 150px;
        text-align: center;
        background-color: rgba(0,0,0,0.65);
    }

    /** Nav Menu */
    ul.nav-menu{
        padding: 0px;
        margin: 0px;
        list-style-type: none;
        width: 490px;
        margin: 60px auto;
    }

    ul.nav-menu li{
        display: inline;
        margin-right: 10px;
        padding:10px;
        border: 1px solid #ddd;
    }

    ul.nav-menu li a{
        color: #eee;
        text-decoration: none;
        text-transform: uppercase;
    }

    ul.nav-menu li a:hover, ul.nav-menu li a.active{
        color: #2c3e50;
    } 

    .opacity
    {
        opacity:0.2;
        filter:alpha(opacity=20); /* For IE8 and earlier */
    }

    </style>

我的html代码如下:

<ul class="caption-style-1">
   <li>
     <div class="hover-effect">
         <div class="opacity"><img src="img/chaps_1x.jpg" width="220px" height="150px" alt=""></div>
          <h1>Amazing Caption</h1>
      <p>Whatever It Is - Always Awesome</p>
     </div>

     <div class="caption">
    <div class="blur"></div>
      <div class="caption-text">
        <img src="img/chaps_1x.jpg" width="220px" height="150px" alt="">
      </div>
    </div>
    </li>
</ul>

任何想法?

您的HTML代码编写得不好。 如果您使用HTML5,则可以将HTML5标签(例如figcaptionfigure figcaption使用。 Caption标签没有以您的样式显示,因为它们在图像后面。

因此,这里是使用z-index属性向前移动的方法。

 .hover-effect h1
    {
        font-size:20px;
        border:solid 1px red;
      position:fixed;
        z-index:999;
    }

    .hover-effect p
    {
        font-size:13px;
        margin:0;
        padding:0;
       position:fixed;
        z-index:999;
    }

这是演示。 http://jsbin.com/yegiyico/1/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM