番外04:前端面试八股文-HTML

1:src和href的区别

src和href都是引用外部的资源,其区别如下:

        (1)src

        表示对资源的引用,其指向的内容会嵌入当前标签所在的位置 🔜 src会将其指向的资源下载并引用到文档内,如请求js脚本 🔜 浏览器解析该元素时,会暂停其余资源的下载和处理,直到将该资源加载、编译、执行完毕。

        (2)href

        表示超文本引用,其指向一些网络资源,建立和当前元素或文本文档的链接关系 🔜 浏览器识别到其指向的文件时,就会并行下载资源,常用在a,link等标签上。

2:对HTML语义化的理解

语义化是根据内容的结构化(内容语义化),选择合适的标签(代码语义化)

语义化的优点如下:

(1)对机器友好,带有语义的文字表现力丰富,更适合搜索引擎的爬虫爬取有效信息,有利于SEO。

(2)对开发者友好,使用语义类标签增强了可读性,结构更加清晰

<header></header>  头部
<nav></nav>  导航栏
<section></section>  区块(有语义化的div)
<main></main>  主要区域
<article></article>  主要内容
<aside></aside>  侧边栏
<footer></footer>  底部

3:DOCTYPE(文档类型)的作用

DOCTYPE是HTML5中一种标准通用标记语言的文档类型声明 🔜 目的是告诉浏览器应该以什么样的文档类型定义来解析文档 🔜 不同的渲染模式会影响浏览器对CSS代码甚至JavaScript脚本的解析。

(1)CSS1Compat:标准模式(Strick mode),默认模式,浏览器使用W3C的标准解析渲染页面。

(2)BackCompat:怪异模式(Quick mode),浏览器使用自己的怪异模式解析渲染页面

4:script标签中defer和async的区别

没有defer和async属性,浏览器会立即加载并执行相应的脚本 🔜 其不会等待后续加载的文档元素,读取到就会开始加载和执行 🔜 这样就阻塞了后续文档的加载。

defer和async属性都是去异步加载外部的JS脚本文件,其都不会阻塞页面的解析

        (1)执行顺序

        多个带async属性的标签,不能保证加载的顺序;多个带defer属性的标签,按照加载顺序执行。

        (2)脚本是否并行执行

        async属性,表示后续文档的加载和执行与js脚本的加载和执行是并行进行的,即异步执行。

        defer属性,加载后续文档的过程和js脚本的加载是并行进行的 🔜 js脚本需要等到文档所有元素解析完成之后才执行

5:常用的meta标签有哪些

meta标签由name和content属性定义,用来描述网页文档的属性

常用的meta标签

(1)charset,用来描述HTML文档的编码类型

<meta charset="UTF-8" >

(2)keywords,页面关键词

<meta name="keywords" content="关键词" />

(3)description,页面描述

<meta name="description" content="页面描述内容" />

(4)refresh,页面重定向和刷新

<meta http-equiv="refresh" content="0;url=" />

(5)viewport,适配移动端,可以控制视口的大小和比例

<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">

(6)搜索引擎索引方式

<meta name="robots" content="index,follow" />

6:HTML5有哪些更新

(1)语义化标签

  • header:定义文档的页眉(头部);
  • nav:定义导航链接的部分;
  • footer:定义文档或节的页脚(底部);
  • article:定义文章内容;
  • section:定义文档中的节(section、区段);
  • aside:定义其所处内容之外的内容(侧边);

(2)媒体标签

        1)audio:音频

        2)video:视频

        3)source标签

(3)表单

  • email :能够验证当前输入的邮箱地址是否合法
  • url : 验证URL
  • number : 只能输入数字,其他输入不了,而且自带上下增大减小箭头,max属性可以设置为最大值,min可以设置为最小值,value为默认值。
  • search : 输入框后面会给提供一个小叉,可以删除输入的内容,更加人性化。
  • range : 可以提供给一个范围,其中可以设置max和min以及value,其中value属性可以设置为默认值
  • color : 提供了一个颜色拾取器
  • time : 时分秒
  • data : 日期选择年月日
  • datatime : 时间和日期(目前只有Safari支持)
  • datatime-local :日期时间控件
  • week :周控件
  • month:月控件

(4)进度条、度量器

  • progress标签:用来表示任务的进度(IE、Safari不支持),max用来表示任务的进度,value表示已完成多少
  • meter属性:用来显示剩余容量或剩余库存(IE、Safari不支持)
    • high/low:规定被视作高/低的范围
    • max/min:规定最大/小值
    • value:规定当前度量值

设置规则:min < low < high < max

(5)DOM查询操作

document.querySelector()

document.querySelectorAll()

其选择的对象可以是标签,可以是类

(6)Web存储

HTML5提供了两种在客户端存储数据的新方法

localStorage:没有时间限制的数据存储

sessionStorage:针对一个session的数据存储

(7)其他

拖放、画布、svg

7:行内元素有哪些?块级元素有哪些?空(void)元素有哪些

行内元素:a b span img input select strong

块级元素:div ul ol li dl dt dd h1 h2 h3 h4 h5 h6

空元素,即没有内容的HTML元素。空元素是在开始标签中关闭的,也就是空元素没有闭合标签

  • 常见的有:​<br>​、​<hr>​、​<img>​、​<input>​、​<link>​、​<meta>​;
  • 鲜见的有:​<area>​、​<base>​、​<col>​、​<colgroup>​、​<command>​、​<embed>​、​<keygen>​、​<param>​、​<source>​、​<track>​、​<wbr>​。

8:说一下web worker

web worker是运行在后台的js,独立于其他脚本,不会影响页面性能

如何创建web worker

(1)检测浏览器对于web worker的支持性

(2)创建web worker 文件(js,回传函数等)

(3)创建web worker对象

9:title与h1的区别、b与strong的区别、i与em的区别?

strong标签有语义,是起到加重语气的效果,而b标签是没有的,b标签只是一个简单加粗标签。

title属性没有意义,只表示是个标题,H1表示层次明确的标题,对页面信息的抓取有很大影响

i内容展示为斜体,em表示强调的文本

10:iframe有哪些优点和缺点?

iframe元素会创建包含另外一个文档的内联框架

优点:

用来加载速度较慢的内容(如广告)

可以使脚本并行下载

可以实现跨子域通信

缺点:

iframe会阻塞页面的onload事件

无法被一些搜索引擎识别

会产生很多页面,不容易管理

11:label的作用是什么?如何使用?

label标签来定义表单控件的关系:当用户选择label标签时,浏览器会自动将焦点转到和label标签相关的表单控件上。

12:head标签有什么作用,其中什么标签必不可少

用于定义文档的头部,其是所有头部元素的容器。

下面这些标签可用在 head 部分:<base><link><meta><script><style><title>

其中 <title> 定义文档的标题,它是 head 部分中唯一必需的元素。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/17659.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

搜狗拼音输入法自定义短语设置

点击搜狗拼音输入法 选择设置 选择高级->自定义短语->自定义短语设置 选择添加新的短语 填入想设置的短语&#xff0c;点击确定 效果展示

反射概率以及一些基本API的使用

请问&#xff0c;获取对象有几种方式&#xff1f; 1、通过构造函数来new一个对象&#xff1b; 2、通过clone来克隆一个对象&#xff1b; 3、通过序列化反序列化来构建一个对象&#xff1b; 4、通过反射来创建对象&#xff1b;a、通过Class类来创建&#xff1b;b、通过Const…

从零搭建:Canal实时数据管道打通MySQL与Elasticsearch

Canal实时同步Mysql Binlog至 Elasticsearch 文章目录 Canal实时同步Mysql **Binlog**至**Elasticsearch** 一. 环境准备1.环境检查检查Mysql是否开启BinLog开启Mysql BinlogJava环境检查 2.新建测试库和表3.新建Es索引 二.**部署 Canal Server****2.1 解压安装包****2.2 配置 …

五、k8s:容忍 存储卷

容忍&#xff1a; 即使节点上有污点&#xff0c;依然可以部署pod。 tolerations: operator: "Exists" 不指定key&#xff0c;表示容忍所有的污点 cordon和drain cordon: 直接标记节点为不可用&#xff0c;pod不能部署到该节点。新建的pod不会再部署到该节点&#…

Springboot_实战

项目开发 lombok使用 自动为实体类提供get、set、toString方法 引入依赖 实体类上添加注解 统一响应结果 注意要写get、set方法&#xff1b;下面是错误的&#xff0c;因此要加上Data注解 一个注册的接口的示例 Controller层 Service层 Mapper层 参数校验 但是同样存在一…

稀土抑烟剂——为纺织品安全加持,保护您的每一寸触感

一、稀土抑烟剂的基本概念 稀土抑烟剂是基于稀土元素&#xff08;如稀土氧化物和稀土金属化合物&#xff09;研发的一类新型阻燃材料。它能够有效提高纺织品的阻燃性&#xff0c;抑制火灾发生时产生的烟雾和有害气体&#xff0c;减少火灾对人体的危害。稀土抑烟剂具有更强的稳…

本地部署SafeLine详细指南:抵御网络攻击构建更安全的网站环境

文章目录 前言1.关于SafeLine2.安装Docker3.本地部署SafeLine4.使用SafeLine5.cpolar内网穿透工具安装6.创建远程连接公网地址7.固定Uptime Kuma公网地址前言 各位建站小能手们,无论是想搭建个人博客、企业官网还是各种应用平台来推广自己的内容或产品,在这个数字时代都已经…

Chrome 浏览器可以读写本地文件了,虽说是实验api,但是基本86+已经支持了

目前该API只能在https域名上使用&#xff01;&#xff01;&#xff01; 实现逻辑&#xff1a; 1.唤醒浏览器选择文件夹、文件权限 document.getElementById(button).addEventListener(click, async () > {getFile()});async function getFile () {// 打开文件选择器 记…

华宇TAS应用中间件与因朵科技多款产品完成兼容互认证

在数字化浪潮澎湃向前的当下&#xff0c;信息技术的深度融合与协同发展成为推动各行业创新变革的关键力量。近日&#xff0c;华宇TAS应用中间件携手河北因朵科技有限公司&#xff0c;完成了多项核心产品的兼容互认证。 此次兼容性测试的良好表现&#xff0c;为双方的进一步深入…

数字IC秋招知识点—1

数字IC秋招准备知识点—1 时序逻辑与组合逻辑 1. 定义与核心原理 组合逻辑&#xff1a; 输入决定输出&#xff1a;当前的输出仅由输入决定&#xff0c;无记忆功能。无反馈回路示例&#xff1a;基本逻辑单元&#xff0c;加法器&#xff0c;多路选择器MUX&#xff0c;译码器&am…

【webview Android】视频获取首帧为封面

文章目录 需求分析获得首帧其他方法 需求分析 客户端中h5上传视频&#xff0c;视频封面默认首帧。 遇到问题&#xff1a;原生的video现象如下 IOS会在加载好后显示首帧&#xff08;没加载好显示黑屏&#xff0c;符合预期&#xff09;Android加载好后默认封面为一个奇怪的占位…

大脑网络与智力:基于图神经网络的静息态fMRI数据分析方法|文献速递-医学影像人工智能进展

Title 题目 Brain networks and intelligence: A graph neural network based approach toresting state fMRI data 大脑网络与智力&#xff1a;基于图神经网络的静息态fMRI数据分析方法 01 文献速递介绍 智力是一个复杂的构念&#xff0c;包含了多种认知过程。研究人员通…

DeepSeek如何重塑我的编程学习:计算机新生的AI实践

目录 &#x1f680;前言&#x1f31f;邂逅DeepSeek&#xff1a;从困惑到惊喜&#x1f4af;初学编程的困境&#x1f4af;DeepSeek的优势 &#x1f58a;️DeepSeek在编程学习中的运用&#x1f4af;注释&#x1f4af;算法逐步分析&#x1f4af;调试帮助&#x1f4af;跨语言迁移学习…

信息收集-Web应用JS架构URL提取数据匹配Fuzz接口WebPack分析自动化

知识点&#xff1a; 1、信息收集-Web应用-JS提取分析-人工&插件&项目 2、信息收集-Web应用-JS提取分析-URL&配置&逻辑 FUZZ测试 ffuf https://github.com/ffuf/ffuf 匹配插件 Hae https://github.com/gh0stkey/HaE JS提取 JSFinder https://github.com/Threez…

安科瑞光储充一体化微电网系统的设计与优化研究-安科瑞 蒋静

摘要&#xff1a;双碳能源技术是一种绿色、可持续的能源发展方向&#xff0c;光储充一体系统作为其中的重要组成部分&#xff0c;具有将光能转化为电能并进行储存和供电的功能。文章对光储充一体系统的设计与性能进行分析&#xff0c;以期为双碳能源技术的推广和应用提供技术支…

【BUG】Ubuntu|有nvcc,没有nvidia-smi指令,找不到nvidia-driver安装包

很奇怪&#xff0c;本来能使用的&#xff0c;放个假回来就用不了了。 排查了以下所有步骤最终解决。 我的Ubuntu版本&#xff1a;Ubuntu22 nvcc -v&#xff1a;有。如果没有的话你需要安装“sudo apt-get install nvidia-cuda-toolkit”&#xff0c;其他问题请去别的博客查。…

spring-ai快速集成deepseek大模型

一、Spring AI简介&#xff1a;Spring AI致力于简化AI项目的开发与部署流程&#xff0c;使Java开发者能够更高效地将AI技术集成到业务系统中。它提供了开箱即用的工具和接口&#xff0c;方便集成和管理各种AI模型。 目前,Spring AI 支持的 AI 平台包括&#xff1a;OpenAI (Chat…

进阶——第十六届蓝桥杯嵌入式熟练度练习(开发板输出占空比和频率)

定义变量 uint16_t PA6_frq,PA7_frq; uint16_t PA6_duty10,PA7_duty20; 开启定时器PWM HAL_TIM_PWM_Start(&htim16,TIM_CHANNEL_1);HAL_TIM_PWM_Start(&htim17,TIM_CHANNEL_1); 给变量赋值 PA6_frq80000000/8000/TIM16->ARR1;PA7_frq80000000/4000/TIM17->AR…

TCNE 网络安全

一.概况 CTF&#xff08;Capture The Flag&#xff09;在网络安全领域中指的是网络技术人员之间进行技术竞技的一种比赛形式&#xff0c;它起源于1996年的DEFCON全球黑客大会&#xff0c;以代替之前黑客们通过互相发起真实攻击进行技术比拼的方式&#xff0c;现已成为全球范围网…

信呼OA办公系统sql注入漏洞分析

漏洞描述 信呼OA办公系统uploadAction存在SQL注入漏洞&#xff0c;攻击者可利用该漏洞获取数据库敏感信息。 环境搭建 源码下载地址&#xff1a;https://github.com/rainrocka/xinhu 下载后解压到本地网站根目录下&#xff0c;配置好数据库&#xff0c;然后安装即可 默认密…