目录
- HTML面试题
- 1. HTML5 新增了哪些重要的特性和标签?
- 2. 什么是语义化 HTML?为什么要使用语义化标签?
- 3. 解释 HTML 中的 `data-*` 属性。
- 4. `` 标签有什么作用?常见的使用方式有哪些?
- 5. 解释 `alt` 属性的作用,为什么对图片使用 `alt` 属性非常重要?
- 6. 如何嵌入外部 CSS、JavaScript 文件到 HTML 中?
- 7. 什么是 DOCTYPE?它的作用是什么?
- 8. 解释 `iframe` 标签及其常见的应用场景。
- CSS 面试题
- 1. box-sizing 的不同值是什么?有什么区别?
- 标准盒模型(W3C Box Model)
- IE 盒模型(IE Box Model)
- 如何解决兼容性问题?
- 2. 解释 CSS 选择器的优先级规则。
- 3. CSS 中的 `display` 属性常见的值有哪些?
- 4. 解释 CSS Flexbox 布局。
- 5. CSS 中的 `position` 属性的不同值及其含义。
- 6. 解释 CSS 中的 `z-index` 属性及其工作原理。
- 7. 如何清除浮动(clearfix)?
- 8. CSS 中的 `transition` 和 `animation` 有什么区别?
HTML面试题
1. HTML5 新增了哪些重要的特性和标签?
- 新标签:
:定义文档中的独立章节。 - :定义独立的内容块。
:定义文档头部。 - :定义与页面内容稍有关系的部分(如侧边栏)。
- :标记文本,通常用于高亮显示搜索结果。
:表示度量值。 - 新增功能:
- 本地存储:localStorage 和 sessionStorage。
- 表单元素增强: 支持 type="email"、type="date" 等新类型。
- 新的 API:Canvas、Geolocation API、Web Workers。
2. 什么是语义化 HTML?为什么要使用语义化标签?
- 语义化 HTML 是指使用 HTML 标签来明确表示内容的意义,而不是仅仅依赖 和 标签。
- 语义化标签有助于:
- 增强网页的可访问性(例如,屏幕阅读器可以识别语义标签)。
- 改善搜索引擎优化(SEO)。
- 提高代码的可读性和可维护性。
3. 解释 HTML 中的 data-* 属性。
- data-* 是一种允许在 HTML 元素上存储自定义数据的方法,* 代表自定义的数据名称。
- 通过 dataset 可以访问这些数据属性:
4. 标签有什么作用?常见的使用方式有哪些?
- 标签提供关于 HTML 文档的元数据,如字符集、页面描述、作者、关键词等。
- 常见用法:
5. 解释 alt 属性的作用,为什么对图片使用 alt 属性非常重要?
- alt 属性用于为图像提供替代文本,图像无法加载时,会显示该文本。
- 对于提高网页的可访问性非常重要,尤其是对于视觉障碍者,他们使用屏幕阅读器时,alt 文本能够描述图片的内容。
6. 如何嵌入外部 CSS、JavaScript 文件到 HTML 中?
- CSS:
- JavaScript::
7. 什么是 DOCTYPE?它的作用是什么?
- DOCTYPE 是声明文档类型的标签,用于告知浏览器使用哪个版本的 HTML 来解析页面。
- 例如:
8. 解释 iframe 标签及其常见的应用场景。
- 常见应用场景:
- 嵌入视频:如 YouTube、Vimeo 等平台的视频播放器。
- 嵌入外部网页:在页面中显示其他网站的内容(例如,嵌入新闻、博客、外部页面等)。
- 广告:将外部广告平台的广告嵌入到页面中。
- 地图:嵌入 Google Maps、百度地图等在线地图服务。
- 嵌入第三方工具:例如在线文档编辑器、PDF 阅读器等。
- 嵌入社交媒体内容:如嵌入 Twitter、Facebook 的帖子或其他社交平台内容。
- 跨域信息:通过 iframe 可以展示和处理跨域内容,避免直接操作主页面。
CSS 面试题
1. box-sizing 的不同值是什么?有什么区别?
标准盒模型(W3C Box Model)
在标准盒模型中,width 和 height 只计算 内容区域 的大小,不包括内边距 (padding) 和边框 (border) 的尺寸。
如果你设置了 width: 200px,然后给元素添加了 20px 的 padding 和 5px 的 border,那么实际的元素总宽度会是:200px + 20px + 20px + 5px + 5px = 250px。
IE 盒模型(IE Box Model)
在早期的 Internet Explorer(IE)中,width 和 height 是包括 内容区域、内边距和边框 的。因此,设置 width 和 height 时,它会自动包含 padding 和 border 的宽度。
如果你设置了 width: 200px,并且给元素添加了 20px 的 padding 和 5px 的 border,实际的元素宽度仍然是 200px,但内容区域的宽度会减少:200px - 20px - 20px - 5px - 5px = 150px。
为什么有差异?
IE 浏览器的实现方式早期没有遵循 W3C 的标准,因此 width 和 height 包含了内边距和边框,而现代浏览器则采用了标准盒模型,即 width 和 height 只计算内容区域。
如何解决兼容性问题?
- content-box:默认值,width 和 height 只包含内容区域,不包括 padding 和 border。(标准盒模型,默认值)
- border-box:width 和 height 包括内容区域、padding 和 border。(IE 盒模型,包含 padding 和 border)
div { width: 200px; padding: 20px; border: 5px solid black; box-sizing: border-box; }
2. 解释 CSS 选择器的优先级规则。
-
CSS 的优先级规则是:
- !important > inline styles > IDs > classes, attributes, pseudo-classes > elements, pseudo-elements
- !important > 内联样式 > ID 选择器 > 类选择器、属性选择器、伪类选择器 > 元素选择器、伪元素选择器
-
选择器的优先级由其种类决定。例如,ID 选择器的优先级高于类选择器。
3. CSS 中的 display 属性常见的值有哪些?
- block:元素占据整行,宽度自动填充父容器。
- inline:元素不会占据整行,仅占据其内容的宽度。
- inline-block:元素像内联元素一样排列,但它有 block 元素的特性(可以设置宽高)。
- flex:启用弹性布局,允许子项在容器内动态排列。
- grid:启用网格布局,允许创建二维布局。
- none:元素不显示,不占空间。
4. 解释 CSS Flexbox 布局。
- Flexbox 是一种一维布局模型,允许容器中的元素沿着行(水平)或列(垂直)方向进行灵活排列。
关键属性:
- display: flex;:启用 Flexbox 布局。
- justify-content:控制主轴(水平或垂直方向)的对齐方式。
- align-items:控制交叉轴(垂直或水平方向)的对齐方式。
- flex-direction:设置主轴方向(默认是行方向)。
- flex-wrap:控制是否换行。
这里有更详细的Flex布局的属性,MDN中文官网。
5. CSS 中的 position 属性的不同值及其含义。
- static:默认值,元素按照正常的文档流进行排列。
- relative:相对定位,元素相对于其正常位置进行偏移。
- absolute:绝对定位,元素相对于最近的已定位的祖先元素定位。
- fixed:固定定位,元素相对于浏览器窗口定位,即使页面滚动,元素也会保持固定位置。
- sticky:粘性定位,元素在滚动时会保持相对位置,直到达到某个偏移量为止。
6. 解释 CSS 中的 z-index 属性及其工作原理。
- z-index 属性控制元素的堆叠顺序,数值越大的元素会覆盖数值较小的元素。
- 只有在元素的 position 为 relative、absolute、fixed 或 sticky 时,z-index 才起作用。
7. 如何清除浮动(clearfix)?
常见方法是通过使用一个空的元素,设置 clear: both,或者使用 clearfix 类:
.clearfix::after { content: ""; display: table; clear: both; }
8. CSS 中的 transition 和 animation 有什么区别?
- transition:用于元素状态的过渡,必须指定触发条件(如:鼠标悬停、点击等)。
- animation:用于创建更复杂的动画效果,具有更大的灵活性,可以控制动画的开始、结束和中间状态。
/* Transition 示例 */ div { transition: all 0.5s ease; } div:hover { background-color: red; } /* Animation 示例 */ @keyframes example { from { transform: rotate(0deg); } to { transform: rotate(360deg); } } div { animation: example 2s infinite; }
最后,如果文章对您有所帮助的话点一个三连谢谢,希望大家学有所成!!!
- Flexbox 是一种一维布局模型,允许容器中的元素沿着行(水平)或列(垂直)方向进行灵活排列。
-
- 常见应用场景:
- JavaScript::
- CSS:
- 新标签: