CSS世界--代码实践之图片alt信息呈现
程序员文章站
2022-03-29 23:09:23
使用缺省 src 的元素实现滚屏加载效果,但是,就有可能存在这样一个体验问题:如果我们的 javascript 加载比较慢,我们的页面就很有可能出现一块一块白色的图片区域,纯白色...
使用缺省 src 的<img>元素实现滚屏加载效果,但是,就有可能存在这样一个体验问题:如果我们的 javascript 加载比较慢,我们的页面就很有可能出现一块一块白色的图片区域,纯白色的,没有任何信息,用户完全不知道这里的内容是什么。
虽然 alt 属性可以提供描述信息,但由于视觉效果不好,被隐藏掉了。我们可以在图片还没加载时就把 alt 信息呈现出来:
<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="x-ua-compatible" content="ie=edge"> <title>css世界--代码实践--图片alt信息呈现</title> <style> /* 滚屏加载效果css */ /* img { visibility: hidden; } img[src] { visibility: visible; } */ img { display: inline-block; width: 180px; 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; transform: translatey(100%); /* 来点过渡动画效果 */ transition: transform .2s; visibility: visible; } img:hover::after { transform: translatey(0); } </style> </head> <body> <div style="width: 200px;height: 200px;background: blanchedalmond;overflow: auto;"> <!-- 滚屏加载效果html: --> <!-- <img> --> <img alt="图1" src="https://dss3.bdstatic.com/70cfv8sh_q1ynxgkpowk1hf6hhy/it/u=3791918726,2864900975&fm=26&gp=0.jpg"> <img alt="美女沉思图" data-src="1.jpg"> <img alt="图3" src="https://dss0.bdstatic.com/70cfuhsh_q1ynxgkpowk1hf6hhy/it/u=2853553659,1775735885&fm=26&gp=0.jpg"> <img alt="沉思图" data-src="1.jpg"> </div> </body> <script> </script> </html>
运行效果:
到此这篇关于css世界--代码实践之图片alt信息呈现的文章就介绍到这了,更多相关css 图片alt信息内容请搜索以前的文章或继续浏览下面的相关文章,希望大家以后多多支持!