📅  最后修改于: 2023-12-03 14:49:14.244000             🧑  作者: Mango
语义 UI 是基于语义化 HTML 的用户界面设计风格,通常使用 CSS 命名法约定类名来描述样式和语义。其目的是提高代码的可读性和可维护性,同时也使得代码更清晰和易于理解。语义 UI 跟其他一些流行的前端框架(如 Bootstrap、Foundation 和 Material Design)有所不同,其主要区别在于其强调 HTML 语义化标签的使用,同时减少 class 类名的使用,并且更加强调 CSS 命名法的一致性和可读性。
HTML 语义化标签是指在 HTML 页面中使用的标签,这些标签具有明确的含义,使得网页内容的结构和信息可以被各种浏览器、搜索引擎、屏幕阅读器和其他设备理解。常见的语义化标签包括 header
、nav
、main
、aside
、section
、article
、footer
、h1
-h6
、p
、ul
、ol
、li
、dt
、dd
、figure
、figcaption
、time
、address
、blockquote
等。使用这些语义化标签可以提高网页的可读性、可访问性和搜索引擎优化。
CSS 命名法是指用一定的约定方式给 CSS 类名命名,使其在语义上更具有意义。常见的 CSS 命名法有 BEM(Block-Element-Modifier)、OOCSS(Object-Oriented CSS)和 SMACSS(Scalable and Modular Architecture for CSS)等。BEM 的命名约定通常用于语义化 UI,其主要思想是将 UI 拆分为不同的 blocks、elements 和 modifiers,并使用双下划线 __
分隔 block 和 element,使用双中划线 --
连接 block 或 element 和 modifier。例如:
<div class="button button--primary">
<span class="button__text">Submit</span>
</div>
上面的代码使用了 button
和 button--primary
两个 class,分别代表 button block 和其 primary modifier;使用了 button__text
class,代表 button block 的一个子元素 text element。
使用语义 UI 可以带来以下好处:
总之,语义 UI 是一种基于标准化和约定的用户界面设计风格,能够使得代码更易于理解和维护,同时也能带来更好的可访问性和使用体验。