1.对WEB标准以及W3C的理解与认识?
web标准简单来说是一个页面可以分为结构、表现和行为(其中结构主要是由HTML标签组成,表现即指css样式表,行为是指页面和用户具有一定的交互,同时页面结构或者表现可能会发生变化,主要是由js组成)
web标准一般是将该三部分独立分开,使其更具有模块化。但一般产生行为时,就会有结构或者表现的变化,也使这三者的界限并不那么清晰。
W3C对web标准提出了规范化的要求,也就是在实际编程中的一些代码规范,包含如下几点:
(1)对于结构要求(标签规范可以提高搜索引擎对页面的抓取效率,对SEO很有帮助)
- 1.标签字母要小写
- 2.标签要闭合
- 3.标签不允许随意嵌套
(2)对于css和js来说
- 1.尽量使用外链css样式表和js脚本。使结构、表现和行为分为三块,符合规范。同时提高页面渲染速度,提高用户的体验。
- 2.样式尽量少用行间样式表,使结构与表现分离,标签的id和class等属性命名要做到见文知义,标签越少,加载越快,用户体验提高,代码维护简单,便于改版。
- 3.不需要变动页面内容,便可提供打印版本而不需要复制内容,提高网站易用性。
2.对于HTML语义化的理解?
- HTML语义化让页面的内容结构化,结构更清晰,便于浏览器、搜索引擎解析; 即使在没有样式CSS情况下也以一种文档格式显示,并且易读。
- 搜索引擎的爬虫也依赖于HTML标记来确定上下文和各个关键字的权重,利于SEO。
- 使阅读源代码的人对网站更容易将网站分块,便于阅读维护理解。
常见的语义化标签:
<title><h1><ul><li><header><nav><main><article><section><aside><footer><em><mark><figure><blockquoto><address>
3.行内元素有哪些?块元素?空元素?
常见行内元素:<span><b><big><i><small><tt><abbr><em><strong><a><img><map><sub><sup><button<input><label><select><textarea>
常见块元素:<address><article> <aside> <audio> <blockquote><canvas><div><footer> <form><h1><h6><header><p><pre><section><table><video>
常见空元素:<br><hr><img><input><link><meta>
行内元素 | 块元素 | |
---|---|---|
位置 | 和其他元素在一行上 | 在新行上开始,占一整行 |
容纳 | 容纳文本和其他行内元素 | 容纳内联元素和其他块元素 |
display属性 | inline | block |
padding/margin | 水平方向产生边距,竖直方向不产生 (padding/margin-left/right才产生) | 垂直相邻外边距margin会合并 |
宽度 | 与内容有关 | 默认填满父级元素的100%宽度 |
高度 | 随字体大小改变 | 由元素内容决定 |
不同元素的模式切换
转换为块元素:displsy:block
转换为行内元素:display:inline
转换为行内块元素:display:inline-block
4.XHTML和HTML区别?
底层知识的不同:
HTML | XHTML | |
---|---|---|
基础语言 | 基于标准通用标记语言(SGML) | 基于可扩展标记语言(XML) |
语法严格程度 | 语法不算严格 |