search

Home  >  Q&A  >  body text

Add deferred content before and after hover overlay

<p>When I hover over a div, I want to have an overlay that slides from left to right and then after a 1 second delay the content becomes visible. This is my HTML code: </p> <p><br /></p> <pre class="brush:css;toolbar:false;">/* overlay */ .overlay { position: absolute; bottom: 0; left: 0; right: 0; background-color: rgba(255, 255, 255, 0.9); overflow: hidden; width: 0; height: 100%; transition: .5s ease; } .dv-each:hover .overlay { /* transition-delay: 0.4s; */ transition: .5s ease-in-out; width: 100%; } .overlay-content { position: absolute; top: 50%; left: 50%; -webkit-transform: translate(-50%, -50%); -ms-transform: translate(-50%, -50%); transform: translate(-50%, -50%); white-space: nowrap; }</pre> <pre class="brush:html;toolbar:false;"><div class="col-12 col-md-5 col-lg-4 p-0 m-1 dv-each position-relative h- 75"> <a href="{{ route('xdsoft.tintuc')}}"> <img src="{{ asset('image/TrangChu/rectangleLogo4.png') }}" class="img-fluid w-100" alt="..."> <div class="overlay"> <div class="text w-100 h-100 overlay-content px-3 py-4"> <div class="fs-4"> {{-- Some text --}} </div> {{-- <div style="display: flex; justify-content: flex-end;"> <a href="{{ route('xdsoft.thietke')}}"> <div class="bg-145982 text-white p-2">Xem thêm</div> </a> </div> --}} </div> </div> </a> </div></pre> <p><br /></p> <p>When you hover over the image, you can see the white background slide and the content inside reveal. I want to delay the display by 1 second. can you help me? Thanks. </p>
P粉731861241P粉731861241480 days ago591

reply all(1)I'll reply

  • P粉797855790

    P粉7978557902023-08-03 12:30:27

    Hope this is what you are looking for.

    Please change the URL of the photo. I used a photo I found on the internet.



      .overlay {
      position: absolute;
      bottom: 0;
      left: 0;
      right: 0;
      background-color: rgba(255, 255, 255, 0.9);
      overflow: hidden;
      width: 0;
      height: 100%;
      transition: .5s ease;
      transition-delay: 1s;
      /* Set Delay Duration */
    }
    
    .dv-each:hover .overlay {
      transition: .5s ease-in-out;
      width: 100%;
      transition-delay: 0s;
    }
    
    .overlay-content {
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      white-space: nowrap;
      opacity: 0;
      transition: opacity 1s ease;
      .dv-each:hover .overlay-content {
        opacity: 1;
      }
    <div class="col-12 col-md-5 col-lg-4 p-0 m-1 dv-each position-relative h-75">
      <a href="{{ route('xdsoft.tintuc')}}">
        <img src="https://cdn.pixabay.com/photo/2015/04/23/22/00/tree-736885_1280.jpg" class="img-fluid w-100" alt="...">
        <div class="overlay">
          <div class="text w-100 h-100 overlay-content px-3 py-4">
            <div class="fs-4">
              Text Displayed after Delay
            </div>
            <div style="display: flex; justify-content: flex-end;">
              <a href="{{ route('xdsoft.thietke')}}">Text Displayed after Delay
                                    <div class="bg-145982 text-white p-2"></div>
                                  </a>
            </div>
          </div>
        </div>
      </a>
    </div>


    reply
    0
  • Cancelreply