外观
外观
怡然
2932字约10分钟
面试HTML
2024-05-29
cookie | localStorage | sessionStorage | |
---|---|---|---|
由谁初始化 | 客户端或服务器,服务器可以使用 Set-Cookie 请求头 | 客户端 | 客户端 |
过期时间 | 手动设置 | 永不过期 | 页面关闭 |
在当前浏览器会话中是否保持不变 | 设置的过期时间 | 是 | 否 |
是否随着每个HTTP请求发送给服务器 | 是,Cookies 会通过 Cookie 请求头,自动发送给服务器 | 否 | 否 |
容量 | 4kb | 5MB | 5MB |
访问权限 | 任意窗口 | 任意窗口 | 当前页面窗口 |
Doctype
是文档类型声明(Document Type Declaration)的缩写,用来告诉浏览器文档采用哪种标准或类型来编写,确保浏览器可以正确渲染页面。标准模式:当浏览器遇到正确的
<!DOCTYPE>
声明时,它会进入标准模式,这使得页面按照 W3C 规范来渲染。怪异模式:如果没有正确的
<!DOCTYPE>
声明或使用了不正确的声明,浏览器可能会进入怪异模式,这时页面会被以一种兼容旧版浏览器的方式来渲染,可能会导致布局和样式的问题。
HTML
语义化是指使用具有明确含义的HTML
元素来构建网页内容,以便更好地传达信息和结构。
HTML
可以被屏幕阅读器、语音合成软件等辅助技术更好地解析,帮助视力障碍用户理解网页内容。HTML
内容,从而提高网站在搜索结果中的排名。<article>
、<section>
、<header>
、<footer>
等元素可以帮助搜索引擎了解页面的结构和内容的重要性。HTML
使得 CSS
和 JavaScript
更容易重用和修改。HTML
结构更容易与 CSS
和 JavaScript
配合,创建适应不同设备和屏幕尺寸的设计。HTML
标签,可以更方便地使用 AJAX
或其他技术动态加载内容,而不破坏页面的整体结构。在Web开发中,浏览器根据
HTML
文档的<!DOCTYPE>
声明来决定使用“严格模式”(Standards Mode)还是“混杂模式”(Quirks Mode)来渲染页面。这两种模式影响着浏览器如何解释CSS和HTML,以及如何处理某些布局问题。
严格模式是浏览器遵循W3C规范的标准渲染方式。在这种模式下,浏览器会尽可能地按照规范来渲染页面,这有助于确保页面在不同的浏览器之间具有一致性。要使浏览器进入严格模式,需要在HTML文档的开头包含一个正确的
<!DOCTYPE>
声明。
- 浏览器遵循W3C标准进行渲染。
- 页面元素的尺寸、间距等属性通常遵循CSS规范。
- 某些老旧或不规范的HTML标签或属性会被忽略或按规范处理。
- 可以确保页面在不同浏览器间的显示一致性。
混杂模式是浏览器为了兼容早期的网页而采用的一种渲染方式。在这种模式下,浏览器会尝试模拟老版本浏览器的行为,以确保那些未使用正确
<!DOCTYPE>
声明的网页能够正常显示。这种模式通常会导致一些布局和样式问题,因为不同的浏览器可能会有不同的行为。
- 浏览器不完全遵循W3C标准,而是试图兼容早期浏览器的行为。
- 页面元素的尺寸、间距等属性可能不符合CSS规范。
- 可能会出现布局错误或样式问题。
- 不同浏览器间的一致性较差。
Web标准是一系列规范和技术,旨在确保Web内容的可访问性、可维护性和跨平台兼容性。这些标准由多个组织共同制定,其中最著名的是万维网联盟(World Wide Web Consortium, W3C)。W3C 是一个国际性的社区,致力于制定开放的Web标准,以促进Web的发展和进化。
span
、a
、img
、button
、input
、select
、strong
、em
、label
、textarea
、code
、samp
、kbd
、sub
、sup
、i
、b
、u
等。width
无效height
无效,但是可以通过line-height
来设置margin
只有左右有效,上下无效padding
只有左右有效,上下无效p
、div
、form
、ul
、li
、ol
、table
、h1-h6
、dl
、dt
、dd
、fieldset
、legend
、article
、aside
、details
、figcaption
等。.inline-to-block{
display:block;
}
.block-to-inline{
display:inline;
}
.to-inline-block{
display:inline-block;
}
script
、script async
和 script defer
的区别async
或defer
属性时,脚本会被同步加载和执行,即HTML
解析中断,浏览器会暂停其他处理,直到该脚本完全加载并执行完毕。这意味着如果一个脚本很大或者执行时间很长,它可能会阻塞页面的渲染和其他脚本的加载。async
属性被设置时,脚本会被异步加载。这意味着脚本可以在下载的同时继续渲染页面和其他脚本的加载。一旦脚本下载完成,就会被执行。需要注意的是,async
脚本的执行顺序是不确定的,它们会在下载完成后立即执行,而不论它们在文档中的位置如何。这对于那些不依赖于特定执行顺序的脚本来说是非常有用的,比如用于加载外部资源或提供非关键功能的脚本。defer
属性同样可以让脚本异步加载,但它保证了脚本的执行顺序与它们在文档中出现的顺序相同。这意味着即使脚本是异步加载的,它们仍然会按照在HTML文档中的顺序依次执行。这对于需要按特定顺序执行的脚本非常有用。src
属性的脚本,async
和 defer
属性会被忽略。padding
和border
width
和height
都不会生效,而在Quriks模式下会生效margin:0 auto
设置水平居中:在Standards模式下,设置margin:0 auto;
可以使元素水平居中,但是在Quriks模式下失效