sanitize.cssHTML 元素统一标准

联合创作 · 2023-09-23 23:08

sanitize.css 是一个 CSS 库,提供一致的、跨浏览器的 HTML 元素默认样式,以及通用的默认值,可以跨浏览器统一 HTML 内容的渲染效果。


sanitize.css 使用 :where() 在零特异性选择器中包装样式,它与 normalize.css 一起开发,这意味着每一个 HTML 元素规范化都被包括在内,并且每一个规范化和意见都被清楚地标记和记录。


作用



  • 标准化各种元素的样式。

  • 纠正错误和常见的浏览器不一致问题。

  • 提供通用的、有用的默认值。

  • 使用详细注释解释代码的作用。


用法



<link href="https://cdn.skypack.dev/sanitize.css" rel="stylesheet" />

特性


边框 size 默认为 border-box:



*, ::before, ::after {
box-sizing: border-box;
}

背景默认不重复


 



*, ::before, ::after {
background-repeat: no-repeat;
}

伪元素继承文本装饰和垂直对齐


 



::before,
::after {
text-decoration: inherit;
vertical-align: inherit;
}

Cursors 默认



html {
cursor: default;
}

所有浏览器,文本都有一个合适的行高



html {
line-height: 1.5;
}

网页上的标签和普通编辑器中的标签是一样的


 



html {
tab-size: 4;
}

文字中断以防止溢出


 



html {
word-break: break-all;
}

文档不使用外边距填充



body {
margin: 0;
}

导航列表不包括标记样式


 



nav ol, nav ul {
list-style: none;
padding: 0;
}

媒体元素与其他内容的文本中心对齐


 



audio, canvas, iframe, img, svg, video {
vertical-align: middle;
}

svg 退回到当前文本颜色



svg:not([fill]) {
fill: currentColor;
}

表格不包括额外的边框间距



table {
border-collapse: collapse;
}

默认情况下,文本区域只能垂直调整大小


 



textarea {
resize: vertical;
}

对可点击的元素进行单点调度


 



a, area, button, input, label, select, summary, textarea, [tabindex] {
-ms-touch-action: manipulation;
touch-action: manipulation;
}

ARIA 角色包括视觉光标提示


 



[aria-busy="true"] {
cursor: progress;
}

[aria-controls] {
cursor: pointer;
}

[aria-disabled="true"], [disabled] {
cursor: default;
}

视觉上隐藏的内容仍然可以访问


 



[aria-hidden="false"][hidden] {
display: initial;
}

[aria-hidden="false"][hidden]:not(:focus) {
clip: rect(0, 0, 0, 0);
position: absolute;
}
浏览 20
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报