前端面试题整理(html)

1、<!DOCTYPE>标签的定义与用法。

<!DOCTYPE> 声明必须是 HTML 文档的第一行,位于 <html> 标签之前。

<!DOCTYPE> 声明不是 HTML 标签;它是指示 web 浏览器关于页面使用哪个 HTML 版本进行编写的指令。

在 HTML 4.01 中,<!DOCTYPE> 声明引用 DTD,因为 HTML 4.01 基于 SGML。DTD 规定了标记语言的规则,这样浏览器才能正确地呈现内容。

HTML5 不基于 SGML,所以不需要引用 DTD。

提示:请始终向 HTML 文档添加 <!DOCTYPE> 声明,这样浏览器才能获知文档类型。

2、块级元素和行内元素都有哪些?

块级元素:

  address - 地址       

  blockquote - 块引用

    center - 举中对齐块

  dir - 目录列表

  div - 常用块级容易,也是css layout的主要标签

  dl - 定义列表

  fieldset - form控制组

  form - 交互表单

  h1 - 大标题

  h2 - 副标题

  h3 - 3级标题

  h4 - 4级标题

  h5 - 5级标题

  h6 - 6级标题

  hr - 水平分隔线

  isindex - input prompt

  menu - 菜单列表

  noframes - frames可选内容,(对于不支持frame的浏览器显示此区块内容

  noscript - 可选脚本内容(对于不支持script的浏览器显示此内容)

  ol - 排序表单

  p - 段落

  pre - 格式化文本

  table - 表格

  ul - 非排序列表

行级元素:

  a - 锚点

  abbr - 缩写

  acronym - 首字

  b - 粗体(不推荐)

  bdo - bidi override

  big - 大字体

  br - 换行

  cite - 引用

  code - 计算机代码(在引用源码的时候需要)

  dfn - 定义字段

  em - 强调

  font - 字体设定(不推荐)

  i - 斜体

  img - 图片

  input - 输入框

  kbd - 定义键盘文本

  label - 表格标签

  q - 短引用

  s - 中划线(不推荐)

  samp - 定义范例计算机代码

  select - 项目选择

  small - 小字体文本

  span - 常用内联容器,定义文本内区块

  strike - 中划线

  strong - 粗体强调

  sub - 下标

  sup - 上标

  textarea - 多行文本输入框

  tt - 电传文本

  u - 下划线

  var - 定义变量

3、你真的了解HTML吗?


这道题的动机是,太多人觉得HTML太简单,但它恰恰又是前端开发中最基础最重要的部分。HTML结构设计的合不合理,直接影响到代码易不易维护,灵不灵
活,同时事关网页性能,协作效率。碰到不少人认为前端开发就是javascript开发,大错特错啊。javascript, html,
css这三个前端开发的基础支柱,性质完全不同又紧密关联,对它们的正确理解,合理应用是专业与非专业的区别。有些后端工程师可以写出很漂亮的JS,但他
们真的不懂怎么合理的把js, html,
css结合起来应用。对html的准确把握,不像学一般的编程语言那样,而是建立在丰富实践经验和体会的基础上,是前端的工程师的基本功。

考点1:html和 xhtml的区别
这行代码在html 4.01 strict下是完全正确的,在xhtml 1.0
strict下是错误一堆的。所以明显是一个考点。在xhtml下所有标签是闭合的,p,br需要闭合,
标签不允许大写,P要小写。同时nbsp和br必须包含在容器里。html下这些都不是错。p在html里是可选闭合标签,是可以不用闭合的。(现在的浏览器倒不用太考虑这些问题)

考点2:考样式分离
用nbsp控制缩进是不合理的。应该用CSS干这事。所以应该删掉nbsp

考点3:合理使用标签
br是强制折行标签,p是段落。原题用连续的br制造两个段落的效果,效果是达到了,但显然用的不合理,段落间距后期无法再控制。正确的做法是用两个p表现两个段落。

上一篇:WeakHashMap回收时机结合JVM 虚拟机GC的一些理解


下一篇:ES6 迭代器和生成器