Void Elements 需要 end slash?

这些是 void elements,

它们没有 end tag, 也没有 content.

至于关闭时是 ends with > 还是 />, 其实 W3C 都可以. 但 MDNW3SchoolsGoogle 的例子都是没有 slash 的, 所以我的规范也是没有 slash.

但是 prettier 的 format 是有 slash 的. 原因是那样可以兼容 XHTML 和 XML. 有一个 GitHub issue 讨论到了这个点.

HTML is Not Case Sensitive, But Class Name is

HTML 其实没有区分大小写, 但是绝大部分的人都会使用小写.

HTML attribute auto change to lowercase?

Angular 的 attribute name 是 camelCase 的, 比如 routerLinkActive 但是用游览器 F12 查看会发现是 lowercase 的

本来以为是 Angular convert 的, 但用了 ASP.NET Core 发现也是同样的情况. 然后用了 Postman 去访问, 发现没有 convert.

所以确定了是 browser 在作怪, 同时也发现 querySelector 匹配 attribute name 是不管大小写的哦

Id and Class Name Is Case Sensitive

class name 是区分大小写的

Id 是区分大小写的

Href, Base Href, Absolute Path and Relative Path

在没有 base href 的情况下

href="/about.html" 是从 domain 走起.

href="../about.html" 往上走的 Relative Path

href="./about.html" 往 sibling 走的 Relative Path

href="detail.html" 往下走的 Relative Path

有时候 ./ 感觉不灵是因为我们经常用 folder + index.html 结构, 所以它看上去是 /about/ 但其实是 /about/index.html, 如果想去 contact 那么就得 ../ 而不是 ./, ./ 只能去到 index.html 的 sibling file (如果是 /about <-- 没有 end with / 就 ok)

有了 base href 之后, 所有 Relative Path 都受到影响. 除了 starts with slash 的 href="/about.html"

本来 Relative Path 是对着当前的页面的 path, 有了 base 之后就对着 base.

参考: What are the recommendations for html <base> tag?

base href 常用来做 prefix 语言

Textarea New Line \r, \n or \r\n?

What is the difference between \r\n, \r, and \n?

In C#, what's the difference between \n and \r\n?

其实挺乱的, 经过我的测试 Windows Chrome 和 IOS Safari 13.3

写入的话, \r, \n, \r\n 都是可以的. 效果都一样

document.querySelector('textarea').value = `abc\rd`; // ok
document.querySelector('textarea').value = `abc\nd`; // ok
document.querySelector('textarea').value = `abc\r\nd`; // ok

取值的话, 出来的值一定是 \n

const value = document.querySelector('textarea').value;
const results = [value.includes('\r'), value.includes('\n'), value.includes('\r\n')]; // [false, true, false]

题外话 SQL Server 和 C#

ASP.NET Core Environment.NewLine 是 \r\n

C# 下面这样写的话是 \r\n

_db.Products.Add(new Product
{
Name = @"Hello
World"
});

如果不像乱的话, 建议改成写 "Hello\nWorld"

SQL 下面这样写的话是 \r\n

insert into Product ([Name]) values ('a
b
c');

建议改成 'a' + char(10) + 'b' + char(10) + 'c'

char(10) = \n

char(13) = \r

char(13) + char(10) = \r\n

<img> display none 会不会加载?

参考: Does "display:none" prevent an image from loading?

2023 年我测试 chrome 是会加载的, 不管 img 或 parent display none 还是会加载.

目前看到最好的办法是添加 lazy="loading"

注意: 如果是 opacity:0 或者 visibility:hidden 那么一定会加载, lazyload 只对 display:none 有效哦.

HTML – 冷知识的更多相关文章

  1. 前端不为人知的一面--前端冷知识集锦 前端已经被玩儿坏了!像console.log()可以向控制台输出图片

    前端已经被玩儿坏了!像console.log()可以向控制台输出图片等炫酷的玩意已经不是什么新闻了,像用||操作符给变量赋默认值也是人尽皆知的旧闻了,今天看到Quora上一个帖子,瞬间又GET了好多前 ...

  2. 前端不为人知的一面–前端冷知识集锦 原文地址(http://web.jobbole.com/83473/);

    前端已经被玩儿坏了!像console.log()可以向控制台输出图片等炫酷的玩意已经不是什么新闻了,像用||操作符给变量赋默认值也是人尽皆知的旧闻了,今天看到Quora上一个帖子,瞬间又GET了好多前 ...

  3. .Net冷知识之动态查找类型时的程序集路径问题

    今天就说说.Net中通过反射取得某个类型时,我们怎么知道这个类型在硬盘上的哪个角落?比如说,假如我们需要要求服务端动态载入某个数据源,那服务端怎么知道数据源在哪? 网上大部分的教程都写着,可以使用As ...

  4. 转:前端冷知识(~~some fun , some useful)

    前端不为人知的一面——前端冷知识集锦 前端已经被玩儿坏了!像console.log()可以向控制台输出图片等炫酷的玩意已经不是什么新闻了,像用||操作符给变量赋默认值也是人尽皆知的旧闻了,今天看到Qu ...

  5. 盘点 Python 中的那些冷知识(二)

    上一篇文章分享了 Python中的那些冷知识,地址在这里 盘点 Python 中的那些冷知识(一) 今天将接着分享!! 06. 默认参数最好不为可变对象 函数的参数分三种 可变参数 默认参数 关键字参 ...

  6. web 前端冷知识

    前端已经被玩儿坏了!像console.log()可以向控制台输出图片等炫酷的玩意已经不是什么新闻了,像用||操作符给变量赋默认值也是人尽皆知的旧闻了,今天看到Quora上一个帖子,瞬间又GET了好多前 ...

  7. python 冷知识(装13 指南)

    python 冷知识(装13 指南) list1 += list2 和 list1 = list1 + list2 的区别 alpha = [1, 2, 3] beta = alpha # alpha ...

  8. Python 浮点数的冷知识

    本周的PyCoder's Weekly 上分享了一篇小文章,它里面提到的冷知识很有意思,我稍作补充,分享给大家. 它提到的部分问题,读者们可以先思考下: 若两个元组相等,即 a==b 且 a is b ...

  9. 10个不为人知的 Python 冷知识

    转载: 1. 省略号也是对象 ...这是省略号,在Python中,一切皆对象.它也不例外. 在 Python 中,它叫做 Ellipsis . 在 Python 3 中你可以直接写…来得到这玩意. 而 ...

  10. python冷知识(续)

    python 冷知识 1.交互式中修改最大递归深度 大家都知道使用递归是有风险的,递归深度过深容易导致堆栈的溢出. 那到底,默认递归次数限制是多少呢? 可以使用sys这个库来查看 >>&g ...

随机推荐

  1. 广州大学第十八届ACM大学生程序设计竞赛(同步赛)——题解

    这套题我答的很失败.没有按照题目的难度去答题,前期浪费了不少时间. 题目: A-字符画 题解:思维.模拟.这道题我的通过率为62.5,没有过的原因是因为对细节的处理和把控不到位,对一些点忽视,我也记录 ...

  2. vscode 常用设置

    vscode 常用设置   by:授客 QQ:1033553122   版本 vscode Version: 1.33.1   1.   自动保存文件设置 文件编辑一秒钟过后自动保存 2.   黏贴后 ...

  3. php8.3开启jit技术

    查看是否开启:$jitEnabled = ini_get('jit.enabled'); echo "JIT Enabled: " . ($jitEnabled == '1' ? ...

  4. 对比python学julia(第一章)--(第三节)山巅一寺一壶酒

    在小学阶段背过圆周率的同学对这节的标题应该不陌生.π(3.14159-)是大家熟悉的普通无理数,但也是非常神秘的一组数字,例如几个世纪以来,埃及考古学家和神秘主义追随者一直痴迷于胡夫金字塔暗藏的圆周率 ...

  5. CentOS安装RustDesk自建服务器

    一.安装node.js 1.下载并解压 [root@VM-8-2-centos src]# cd /usr/local # 下载node文件 [root@VM-8-2-centos local]# w ...

  6. 【转载】 Alpha-beta剪枝

    原地址:https://www.jiqizhixin.com/graph/technologies/56dbb21e-c3f9-4e06-b16a-2e28f25b26c8 ============= ...

  7. git submodule子模块操作

    背景 为什么使用子模块,因为需要使用其他人维护的公共组件,但这些组件并不是以包或库的形式使用的.所以采用子模块的形式,无论是自己修改还是拉取也很方便. 子模块操作 增加子模块 git submodul ...

  8. Apache DolphinScheduler社区又一PMC获推选通过!

    PROFILE 姓名:程鑫 公司:阿里云 职位:开发工程师 Github ID: rickchengx 从事领域:大数据调度系统开发 兴趣爱好:健身 推举理由 他于2022年8月2日开始了他的Dolp ...

  9. Apache DolphinScheduler PMC:开源不一定也要九死一生

    点亮 ️ Star · 照亮开源之路 GitHub:https://github.com/apache/dolphinscheduler   ​   参与开源已经快3年了,这次在Meetup上没有分享 ...

  10. 运用Npcap库实现SYN半开放扫描

    Npcap 是一款高性能的网络捕获和数据包分析库,作为 Nmap 项目的一部分,Npcap 可用于捕获.发送和分析网络数据包.本章将介绍如何使用 Npcap 库来实现半开放扫描功能.TCP SYN 半 ...