html - 图片元素 - 标题属性
问题描述
我正在使用图片元素在适当的地方提供 webP 图像,如下所示:
<picture>
<source srcset="picture.webp" type="image/webp">
<source srcset="picture.jpg">
<img src="picture.jpg" alt="alt">
</picture>
问题是我应该在哪里放置title
属性。我应该把它放在img
元素还是picture
元素上?
解决方案
我不同意之前的海报。我会保留title
元素img
。
根据 HTML5 规范,picture
元素是一个容器,并且依赖于img
元素来呈现其源元素选择。实际上,该img
元素是 的要求picture
,而不仅仅是作为后备。因此,picture
它只是一个空心的包装器img
,实际上并没有做任何事情。img
仍然是图像的主要传送器。
HTML 规范接着说……
图片元素是一个容器,它为其包含的 img 元素提供多个来源...
...接着
...图片元素本身不显示任何内容;它只是为其包含的 img 元素提供了一个上下文,使其能够从多个 URL 中进行选择
这意味着img
元素继续代表图像,因此在我看来必须具有title
元素。img
元素alt
仍然有效的事实title
,即使img
浏览器选择了源图像,也显示图像元素在显示中是活动的。下面是我如何使用picture
元素设计图像的示例。
<figure aria-labelledby="picturecaption1">
<picture id="picture1">
<source srcset="image.webp" type="image/webp" media="(min-width: 800px)" />
<source srcset="image.gif" type="image/gif" />
<img id="image1" alt="image:Image Alternate Text" title="The Image Description" src="image.jpg" width="200" height="200" loading="lazy" no-referrer="no-referrer" />
</picture>
<figcaption id="picturecaption1">My Image Caption</figcaption>
</figure>
推荐阅读
- java - 使用循环java按每个元素中的位数从最大到最小对数组进行排序
- robotframework - 使用机器人框架+ Appiumlibrary移动测试时如何检查imageview资源是否正确
- angularjs - angular - 如何显示每个惰性模块的动态加载消息
- php - 实时服务器上的 Laravel Coinbase API Http 异常错误,但适用于 Xampp
- python - PyQt 视频不加载?
- javascript - 在箭头函数内传递默认值
- javascript - Fullcalendar v4:addEvent() 在自定义视图中不起作用
- flutter - Dart 测试 - 标记测试并运行它的正确语法是什么?
- java - 当我尝试在新的 FXML 上重定向用户时出现问题
- nginx - Nginx - 通用将所有 www 重定向到非 www