当前位置: 首页 > 知识库问答 >
问题:

前端 - CSS 中图片是否应该存在文档结构中?

韦德厚
2024-02-18

看了css禅意花园这本书有感(可能看的不是很详细)

书中作者更倾向于使用background, 而不是一个专门的<img>标签来设置图片(不仅仅是整个页面的背景, 包括页面标题附近图片, logo等). 有的甚至会在div的最后用几个div, 通过css的绝对定位是控制来展示图片. 与之对应的另外一种做法, 比如标题那里有图片,就直接用img预留位置了.
这两种做法哪种更普遍,主要的优缺点是什么?

共有2个答案

皇甫卓君
2024-02-18
  1. 用图片。魔改 background 不符合语义化。
  2. 语义化意味着更好的 SEO、A11y、更好的架构(比如脱离代码层管理)
  3. 早期 background 有一些特殊属性,用起来比较方便,现在也不存在了。
  4. 明确是背景,那么该用 background 就用
晁绍辉
2024-02-18

当然是图片更普遍,不然这种方法也不会惊到你。

用背景图片的优点:

  • 方便使用 CSS 进行图文混排(“正宗”的图文混排其实应该用 float,何曾想 float最广泛的应用居然是横向排版 2333333);
  • 背景图片不影响排版,因此不会因为图片加载而造成重排(当然对于 img 标签,实际上可以通过明确给出 width&height,来避免重排);
  • 不用刻意学习(老师懒得教)图片的排版;
  • 可以极其方便地制作加载提示/出错提示占位图(img 标签一般配合 JS,当然其实也有纯 CSS 方案)。

缺点么:

  • 语义化、SEO、blablabla……
 类似资料:
  • “文档结构视图”功能,可以通过jQuery的动画来模拟。该功能与Word保持一致,默认情况下,目录可见。当用户点击“文档结构视图”后,隐藏目录,再次点击后,显示目录。 首先,在文章的页眉上,增加“文档结构视图”复选框,供用户点击。复选框被包含在一个label中,并为label增加id属性,以便jQuery能够根据id来捕获用户点击事件。同理,也要为复选框增加id属性,以便用户点击后,jQuery能

  • 问题内容: 这是我第一次使用Apache POI,并且已经在该站点上提出了我要问的问题,但是没有给他们明确的答案,所以我别无选择,只能接受您的所有帮助。 我正在尝试编写一个Java程序,该程序从一个文件夹中获取图像并将该图像插入到Word文档中。我正在为此程序使用Apache POI。我在这里发布我的代码。 我可以创建word文档文件,也可以插入文本,但是该行却给我错误,例如“将演员转换为docx

  • 请问如何绘制圆环,并切除一部分呢? 圆环内部需要透明的以方便放置其他元素

  • Beta 阶段 介绍 coolie-cli 中间件作用于构建工具构建的不同阶段。 中间件必须是一个同步函数,该函数在构建阶段会接受到一个配置参数options: function coolieMiddlewareSample(options) { // ... do } 中间件忽略处理,需要原样返回 options 对象。 function coolieMiddlewareSample(

  • 前端构建工具指的是coolie-cli,基于 nodejs,是系统工具,安装之后会注册全局命令coolie。 工具全部源码均已开源(仓库:https://github.com/cooliejs/coolie-cli)。 coolie-cli 是前端构建工具,是前端工程化解决方案,不是编译工具 (常见问题:什么是编译,什么是构建)。 全局命令 ➜ coolie

  • 图片宽是1920px,高度100px 在大屏幕下显示为这样: 横向不拉伸,两边就会留白 如果铺满屏幕,那么图片会被裁剪 想要实现的效果是图片高度不变,仅横向拉伸铺满屏幕,请问要使用什么属性设置,或者对于这种标题背景使用什么方式解决?