css实用技巧——异步加载图片时,在图片完成加载前,鼠标悬浮到占位图片上时显示图片的alt信息

简介: css实用技巧——异步加载图片时,在图片完成加载前,鼠标悬浮到占位图片上时显示图片的alt信息

完整范例代码

<template>
    <div style="padding: 20px">
        <img alt="我是一张苹果的照片">
    </div>
</template>
<style scoped>
    img {
        display: inline-block;
        width: 200px;
        height: 100px;
        /* 隐藏Firefox alt文字 */
        color: transparent;
        position: relative;
        overflow: hidden;
    }
 
    img:not([src]) {
        /* 隐藏Chrome alt文字以及银色边框 */
        visibility: hidden;
    }
 
    img::before {
        /* 淡蓝色占位背景 */
        content: "";
        position: absolute;
        left: 0;
        width: 100%;
        height: 100%;
        background-color: #f0f3f9;
        visibility: visible;
    }
 
    img::after {
        /* 黑色alt信息条 */
        content: attr(alt);
        position: absolute;
        left: 0;
        bottom: 0;
        width: 100%;
        line-height: 30px;
        background-color: rgba(0, 0, 0, .5);
        color: white;
        font-size: 14px;
        text-align: center;
        transform: translateY(100%);
        /* 来点过渡动画效果 */
        transition: transform .2s;
        visibility: visible;
    }
 
    img:hover::after {
        transform: translateY(0);
    }
</style>

实现原理

  1. 图片异步加载完成前,img标签还没有src属性,此时img标签只是一个普通的内联元素,::before和::after可以生效
  2. 通过 attr(alt) 可以获取到图片中的alt属性值
  3. 当图片异步加载完成后,img标签便拥有了src属性,则此时的img标签从普通元素变成了替换元素,::before和::after不再生效,鼠标悬浮到图片上时,将不再显示alt信息
目录
相关文章
|
2月前
|
前端开发
导航栏也时尚:CSS缩放动画,让导航链接在鼠标经过时绽放!
导航栏也时尚:CSS缩放动画,让导航链接在鼠标经过时绽放!
|
2月前
|
前端开发
如何使用 CSS object-fit 进行图片的缩放和裁剪
如何使用 CSS object-fit 进行图片的缩放和裁剪
57 0
如何使用 CSS object-fit 进行图片的缩放和裁剪
|
2月前
|
前端开发 JavaScript Linux
【Azure 应用服务】在Azure App Service for Linux环境中,部署的Django应用,出现加载css、js等静态资源文件失败
【Azure 应用服务】在Azure App Service for Linux环境中,部署的Django应用,出现加载css、js等静态资源文件失败
|
2月前
|
前端开发 UED
HTML和CSS动画:为鼠标经过效果注入灵魂!附源码!
HTML和CSS动画:为鼠标经过效果注入灵魂!附源码!
|
2月前
|
移动开发 前端开发 UED
卡片翻转,故事展开:HTML+CSS动画让信息传递更生动!(含源码)
卡片翻转,故事展开:HTML+CSS动画让信息传递更生动!(含源码)
|
2月前
|
前端开发
导航栏也疯狂:CSS动画让导航栏活起来,跟随鼠标滑动!
导航栏也疯狂:CSS动画让导航栏活起来,跟随鼠标滑动!
|
2月前
|
前端开发
视觉冲击:CSS实现相册图片的放大效果,让网站首页更震撼!
视觉冲击:CSS实现相册图片的放大效果,让网站首页更震撼!
|
2月前
|
前端开发
CSS中如何实现鼠标悬停效果?
CSS中如何实现鼠标悬停效果?
39 0
|
3月前
|
前端开发 容器
CSS【详解】对齐 (含文本垂直对齐,文本水平对齐、单行文本垂直居中、多行文本垂直居中、6 种方案块级元素水平垂直居中 、7 种方案图片水平垂直居中、文本自适应对齐、图标和文本对齐,图片和文本对齐等)
CSS【详解】对齐 (含文本垂直对齐,文本水平对齐、单行文本垂直居中、多行文本垂直居中、6 种方案块级元素水平垂直居中 、7 种方案图片水平垂直居中、文本自适应对齐、图标和文本对齐,图片和文本对齐等)
50 0
|
3月前
|
前端开发 C++
css 鼠标悬浮显示放大图片 vs 鼠标点击显示放大图片
css 鼠标悬浮显示放大图片 vs 鼠标点击显示放大图片
35 0