Div with text over image

前端 未结 4 1331
鱼传尺愫
鱼传尺愫 2021-01-28 16:14

I have list with images and text. And I want to see text over image.

相关标签:
4条回答
  • 2021-01-28 16:30

    Following css will make an element vertically middle aligned:

    .parent {
      position: relative;
    }
    .child {
      transform: translateY(-50%);
      position: absolute;
      top: 50%;
    }
    

    And following css will make an element both horizontally and vertically middle aligned:

    .parent {
      position: relative;
    }
    .child {
      transform: translateY(-50%);
      position: absolute;
      text-align: center;
      right: 0;
      top: 50%;
      left: 0;
    }
    

    .list {
      overflow: hidden;
      list-style: none;
      padding: 0;
      margin: 0;
    }
    li{
      position: relative;
      float:right
    }
    .textoverlay {
      transform: translateY(-50%);
      text-align: center;
      position: absolute;
      z-index: 10;
      right: 0;
      top: 50%;
      left: 0;
    }
    <ul class="list">
      <li>
        <div class="textoverlay">
          <a href=""><h1>Text</h1></a>
          <p>Lorem ipsum dolor sit amet, co</p>
        </div> 
        <img width="350" height="150" src="http://placehold.it/350x150" >       
      </li>
    </ul>

    0 讨论(0)
  • 2021-01-28 16:41

    Try this css:

     .textoverlay {
         margin: 50px 25px 0 0;
         position: absolute;
         z-index: 22;
         left:40%
      }
    
    0 讨论(0)
  • 2021-01-28 16:46

    Snippet Copy this

    li{
      float:right;
      position:relative;
    }
    .textoverlay {
      position: absolute;
      z-index: 22;
      left:150px;
      top:50px;
    }
    <li>
      <div class="textoverlay">
        <a href=""><h1>Text</h1></a>
        <p>Lorem ipsum dolor sit amet, co</p>
      </div> 
      <img width="333" height="250" src="https://www.google.com.pk/images/branding/googlelogo/2x/googlelogo_color_272x92dp.png" >       
    </li>

    for change the textoverlay position change the value of top and left att in css Hope this helps THANKS!

    0 讨论(0)
  • 2021-01-28 16:50

    You can do this using translate transform:

    ul{ 
      list-style:none;
    }
    ul li{
      position: relative;
      float:right;
      width:330px;
    }
    .textoverlay {   
        position: absolute;
        z-index: 22;
        left:50%;
        top:50%;
        transform:translate(-50%,-50%);
        -webkkit-transform:translate(-50%,-50%);   
        text-align:center;
        width: 100%;
    }
    <ul>
      <li>
        <div class="textoverlay">
          <a href=""><h1>Text</h1></a>
          <p>Lorem ipsum dolor sit amet, co</p>
        </div> 
        <img src="http://www.codeproject.com/KB/GDI-plus/ImageProcessing2/img.jpg" >       
      </li>
    </ul>

    0 讨论(0)
提交回复
热议问题