table和ul标签区别
首先要理解语义化,这个也是 HTML 标签最直接的用法。比如 table 就是表格,所有表格类型的数据,都应该用 table 来放。nav 代表导航栏,里边可以放一个 ul 来写链接列表。
我自己理解的语义化 HTML,就是当你的页面撤掉所有的 CSS,仍然能够清晰的反应各种层次和结构,这就是比较好的实现,这也是可访问性的一个要求吧。
有朋友提到的可以用 CSS 改造样式,就可以把 HTML 标签改造并应用到任何地方,这个观点也是有误区的。
CSS 是一种增强页面内容表现的语言,可以用来改变颜色(color/bgc)、尺寸(width/height/margin/padding/border)、交互效果(hover/active/visited/transform/transition),也可以用来破坏布局(display/position/float,我用的是破坏,而不是改变,我觉得差别还是很大的)。HTML 的设计是语义化的,任何非正常的使用都会降低页面的可访问性(比如最初的 table 布局,DIV+CSS 编写风格等)