前端面试-HTML5篇

2023-11-17

链接:https://www.nowcoder.com/questionTerminal
来源:牛客网

Question 6 描述一下 cookies,sessionStorage 和 localStorage 的区别

  • cookit是网站为了标示用户身份而储存在用户本地终端(Client Side)上的数据(通常经过加密)。数据大小有限制在4k以下,数据始终在同源的http请求中携带(即使不需要),即会在浏览器和服务器间来回传递,浏览器关闭,数据不会被删除。
  • sessionStorage和localStorage不会自动把数据发给服务器,仅在本地保存。
  • sessionStorage:数据在5M左右或以上,浏览器关闭,数据就会被销毁。
  • localStorage:数据在5M左右,数据可永久存储,可主动删除之

Question 7 说说你对HTML语义化的理解?

(1)什么是 HTML 语义化?

<基本上都是围绕着几个主要的标签,像标题( H1~H6 )、列表( li )、强调( strong em )等等 >

根据内容的结构化(内容语义化),选择合适的标签(代码语义化)便于开发者阅读和写出更优雅的代码的同时让浏览器的爬虫和机器很好地解析。

(2)为什么要语义化?

为了在没有CSS的情况下,页面也能呈现出很好地内容结构、代码结构 : 为了裸奔时好看;

用户体验:例如title、 alt 用于解释名词或解释图片信息、 label 标签的活用;

有利于SEO:和搜索引擎建立良好沟通,有助于爬虫抓取更多的有效信息:爬虫依赖于标签来确定上下文和各个关键字的权重;

方便其他设备解析(如屏幕阅读器、盲人阅读器、移动设备)以意义的方式来渲染网页;

便于团队开发和维护,语义化更具可读性,是下一步网页的重要动向,遵循W3C标准的团队都遵循这个标准,可以减少差异化。

(3) 语义化标签

<header></header>

<footer></footer>

<nav></nav>

<section></section>

<article></article> SM:用来在页面中表示一套结构完整且独立的内容部分

<aslde></aside> SM:主题的附属信息 ( 用途很广,主要就是一个附属内容 ) ,如果 article 里面为一篇文章的话,那么文章的作者以及信息内容就是这篇文章的附属内容了

<figure></figure>SM:媒体元素,比如一些视频,图片啊等等

<datalist></datalist>

SM:选项列表,与 input 元素配合使用,来定义 input 可能的值

<details></details>

SM:用于描述文档或者文档某个部分的细节 ~ 默认属性为 open~

ps:配合 summary 一起使用

Question 8 说说link和@import的区别

XML/HTML代码

<link rel='stylesheet' rev='stylesheet' href='CSS文件 ' type='text/css' media='all' />

XML/HTML代码

<style type='text/css' media='screen'>

@import url('CSS文件 ');

</style>

两者都是外部引用CSS的方式,但是存在一定的区别:

 

Question 9 说说你对SVG理解? 

  • 区别1: link 是 XHTML 标签,除了加载 CSS 外,还可以定义 RSS 等其他事务; @import 属于 CSS 范畴,只能加载 CSS 。
  • 区别2: link 引用 CSS 时,在页面载入时同时加载; @import 需要页面网页完全载入以后加载。
  • 区别3: link 是 XHTML 标签,无兼容问题; @import 是在 CSS2.1 提出的,低版本的浏览器不支持。
  • 区别4: link 支持使用 Javascript 控制 DOM 去改变样式;而 @import 不支持。

SVG可缩放矢量图形( Scalable Vector Graphics )是基于可扩展标记语言( XML ),用于描述二维矢量图形的一种图形格式。 SVG 是W3C('World Wide Web ConSortium' 即 ' 国际互联网标准组织 ') 在 2000 年 8 月制定的一种新的二维矢量图形格式,也是规范中的网络矢量图形标准。 SVG 严格遵从 XML 语法,并用文本格式的描述性语言来描述图像内容,因此是一种和图像分辨率无关的矢量图形格式。 SVG 于 2003 年 1 月14 日成为 W3C 推荐标准。

特点:

(1)任意放缩

用户可以任意缩放图像显示,而不会破坏图像的清晰度、细节等。

(2)文本独立

SVG图像中的文字独立于图像,文字保留可编辑和可搜寻的状态。也不会再有字体的限制,用户系统即使没有安装某一字体,也会看到和他们制作时完全相同的画面。

(3)较小文件

总体来讲,SVG文件比那些 GIF 和 JPEG 格式的文件要小很多,因而下载也很快。

(4)超强显示效果

SVG图像在屏幕上总是边缘清晰,它的清晰度适合任何屏幕分辨率和打印分辨率。

(5)超级颜色控制

SVG图像提供一个 1600 万种颜色的调色板,支持 ICC 颜色描述文件标准、 RGB 、线 X 填充、渐变和蒙版。

(6)交互 X 和智能化。 SVG 面临的主要问题一个是如何和已经占有重要市场份额的矢量图形格式 Flash 竞争的问题,另一个问题就是 SVG 的本地运行环境下的厂家支持程度。

浏览器支持:

Internet Explorer9,火狐,谷歌 Chrome , Opera 和 Safari 都支持 SVG 。

IE8和早期版本都需要一个插件 - 如 Adobe SVG 浏览器,这是免费提供的。

Question 10 HTML中全局属性(global attribute) 有哪些?

  • accesskey 规定激活元素的快捷键;
  • class 规定元素的一个或多个类名(引用样式表中的类);
  • contenteditable 规定元素内容是否可编辑;
  • contextmenu 规定元素的上下文菜单。上下文菜单在用户点击元素时显示。
  • data-* 用于存储页面或应用程序的私有定制数据。
  • dir 规定元素中内容的文本方向。
  • draggable 规定元素是否可拖动。
  • dropzone 规定在拖动被拖动数据时是否进行复制、移动或链接。
  • hidden  样式上会导致元素不显示,但是不能用这个属性实现样式。
  • id 规定元素的唯一 id。
  • lang 规定元素内容的语言。
  • spellcheck 规定是否对元素进行拼写和语法检查。
  • style 规定元素的CSS行内元素。
  • tabindex 规定元素的tab键次序。
  • title 规定有关元素的额外信息。
  • translate 规定是否应该翻译元素内容。

Question 11 说说超链接target属性的取值和作用?

  • _blank:在新窗口中打开链接文档
  • _self:默认。在相同的框架中打开链接文档
  • _top:在整个窗口中打开链接文档,用 _top 目标将会清除所有被包含的框架并将文档载入整个浏览器窗口。
  • _parent:在父级框架中集中打开
  • _framename:在指定的框架中打开链接文档

Question 12 data-`属性的作用是什么?

data- 属性是 HTML5 中的新属性,用于存储页面或应用程序的私有自定义数据。data-赋予我们在所有 HTML 元素上嵌入自定义 data 属性的能力。
data-* 属性包括两部分:
1.属性名不应该包含任何大写字母,并且在前缀 "data-" 之后必须有至少一个字符
2.属性值可以是任意字符串
注释:用户代理会完全忽略前缀为 "data-" 的自定义属性。

1

2

3

4

5

<ul>

<li data-animal-type="鸟类">喜鹊</li>

<li data-animal-type="鱼类">金枪鱼</li>

<li data-animal-type="蜘蛛">蝇虎</li>

</ul>

Question 13 iframe有那些缺点?

1. 会产生很多页面,不容易管理。
2. iframe框架结构有时会让人感到迷惑,如果框架个数多的话,可能会出现上下、左右滚动条,会分散访问者的注意力,用户体验度差。
3. 代码复杂,无法被一些搜索引擎索引到,这一点很关键,现在的搜索引擎爬虫还不能很好的处理iframe中的内容,所以使用iframe会不利于搜索引擎优化。
4. 很多的移动设备(PDA 手机)无法完全显示框架,设备兼容性差。
5. iframe框架页面会增加服务器的http请求,对于大型网站是不可取的。
分析了这么多,现在基本上都是用Ajax来代替iframe,所以iframe已经渐渐的退出了前端开发

Question 14 Label的作用是什么,是怎么用的?

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

<label for='Name'>Number:</label>

<input type=“ text “ name='Name' id='Name'/>

<label>Date:<input type='text' name='B'/></label>

注意:label的for属性值要与后面对应的input标签id属性值相同

<label for='Name'>Number:</label>

<input type=“ text “ name='Name' id='Name'/>

Question 15 如何实现浏览器内多个标签页之间的通信?

WebSocket、 SharedWorker ;

也可以调用localstorage、 cookies 等本地存储方式;

localstorage另一个浏览上下文里被添加、修改或删除时,它都会触发一个事件,

我们通过监听事件,控制它的值来进行页面信息通信;

注意quirks: Safari 在无痕模式下设置 localstorge 值时会抛出 QuotaExceededError 的异常;

Question16 如何在页面上实现一个圆形的可点击区域?


//第一种 使用image map
<img id="blue" class="click-area" src="blue.gif" usemap="#Map" /> 
<map name="Map" id="Map" class="click-area">  <area shape="circle" coords="50,50,50"/>
</map>
#blue{
 cursor:pointer;
 width:100px;
 height:100px;
}

//第二种 使用CSS border-radius
<div id="red" class="click-area" ></div>

#red{  
 cursor:pointer;
 background:red;  
 width:100px;  
 height:100px;  
 border-radius:50%;  
} 

//第三种 使用js检测鼠标位置
<div id="yellow" class="click-area" ></div>

$("#yellow").on('click',function(e) {    
  var r = 50; 
  var x1 = $(this).offset().left+$(this).width()/2;            
  var y1 = $(this).offset().top+$(this).height()/2;   
  var x2= e.clientX;  
  var y2= e.clientY;    
  var distance = Math.abs(Math.sqrt(Math.pow(x2 - x1, 2) + Math.pow(y2 - y1, 2)));    
  if (distance <= 50)  
    alert("Yes!");    
});  

Question 17 title与h3的区别、b与strong的区别、i与em的区别?

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

strong是标明重点内容,有语气加强的含义,使用阅读设备阅读网络时: <strong> 会重读,而 <B> 是展示强调内容。

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

Physical Style Elements -- 自然样式标签

b, i, u, s, pre

Semantic Style Elements -- 语义样式标签

strong, em, ins, del, code

应该准确使用语义样式标签, 但不能滥用 , 如果不能确定时首选使用自然样式标签。

Question 18 实现不使用 border 画出1px高的线,在不同浏览器的标准模式与怪异模式下都能保持一致的效果?

<div style="width:100%;height:1px;background-color:black"></div>

Question 19 HTML5标签的作用(用途)?

a、使Web页面的内容更加有序和规范

b、使搜索引擎更加容易按照HTML5规则识别出有效的内容 

c、使Web页面更接近于一种数据字段和表

 

 

 

 

 

 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

前端面试-HTML5篇 的相关文章

  • 为什么 Chrome 给 body 元素添加边距? [复制]

    这个问题在这里已经有答案了 我有简单的 html 文档 是进入身体的一种元素 当我在 div 元素中设置 margin top 时 Chrome 会向 body 添加相同的边距 边距仅在开发者工具中可见 我的代码 div Test div
  • 强制 PayPal 始终请求信用卡信息而不是登录表单?

    我们的网站采用贝宝付款标准 当用户在我们的网站上填写他们的请求并按下 PayPal 按钮 立即购买 时 我们会将所有变量提交给 PayPal 以便他们可以处理付款 对于那些以前从未使用过贝宝并通过我们的网站付款的用户来说 它运行得非常好 因
  • 获取动态图像的宽度和高度

    我有一个img嵌入隐藏标签内div 当用户单击具有图像名称的动态超链接时 图像必须显示在模式窗口中 为了将 div 定位在模态窗口内 需要图像高度 但是当点击超链接后 src被分配 高度为0 所以图像不能在中间对齐 请帮助我在浏览器中显示图
  • 如何使用正则表达式进行正确的输入验证?

    我想让用户只输入整数或浮点数 现在我只能输入整数 它允许输入点或逗号 无法找到正确的正则表达式来验证整数和浮点数
  • 使用 Java 编程式 HTML 文档生成

    有谁知道如何在 Java 中以编程方式生成 HTMLDocument 对象 而不需要在外部生成字符串 然后使用 HTMLEditorKit read 来解析它 我问的两个原因 首先 我的 HTML 生成例程需要非常快 并且我认为将字符串解析
  • 在网页上写乐谱[关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我希望能够在网页中编写乐谱和和弦 有没有可用的库 例如用于数学的 Mathjax 如果没有 那么还有其
  • 有什么特别好的理由在 javascript 目标链接上继续使用 href='#' 吗?

    众所周知 像这样的代码是非常常见的 a href class edit Edit a 然后将其连接到事件处理程序 使用 jQuery 或当今流行的任何东西 甚至使用内联 js 处理程序 a href Edit a 我知道这是在链接上显示指针
  • 页面其余部分完成加载后延迟加载 html5 视频

    我有一个视频元素用作我正在构建的页面底部部分的背景 我试图通过将 src 存储为 data src 属性并使用 jQuery 在其他资源加载后将其应用到 src 属性 因为它不是英雄图像或任何东西 我想加载海报以节省加载时间 然后稍后加载视
  • document.registerElement - 为什么我们需要指定“prototype”和“extends”?

    考虑我想扩展本地button元素 并创建我自己的super button元素 据我所知 它必须遵循以下模式 var SuperButton document registerElement super button prototype Ob
  • 如何保存包含框架/iframe 的完整 html 页面?

    在网页抓取期间 我想将当前页面的 html 保存到文件中以供以后调试 browser html在大多数情况下有帮助 但是当页面包含 iframe frame 时 它 的内容不会返回browser html 我必须用类似的东西单独得到它bro
  • 为什么-标签没有关闭

    这是一个普遍问题 我的教授都无法回答 为什么我不必关闭 HTML 中的标签 所有其他标签都必须关闭 例如 or 那么为什么不呢 首先 它根本不是一个标签 在名义上基于 SGML 或 XML 的 HTML 版本中 它是文件类型声明 它具有在
  • HTML5 范围输入中的样式下限和上限填充

    正如所解释的here http www hongkiat com blog html5 range slider style IE 允许在 CSS 中设置下部和上部填充或轨道区域的样式 如下所示 The following only aff
  • 如何以 JavaScript 编程方式获取旋转的 svg 文本边界

    我正在动态渲染 SVG 图像并创建旋转文本 如果旋转的文本与其他文本重叠 我需要删除该文本 但我无法测量旋转的文本来创建边界并检查下一个标签文本区域 我创建了 3 个 SVG 元素来解释 SVG 1 显示重叠的文本 SVG 2 显示重叠的旋
  • 使用 PHP 简单 HTML DOM 将隐藏的输入标记值作为字符串获取

    我试图获取输入类型隐藏标记值 CAS AH 11 等 以及名称属性 但在运行基于 PHP 的解析器时我得到的只是一个空白页 有人知道出了什么问题吗 我已经查过了将隐藏输入作为字符串抓取 使用 PHP 简单 HTML DOM 解析器 http
  • 在模态上自动滚动引导模态('show')

    我有一个用于评论的引导模式 评论表格附加在评论列表的底部 我希望此模式在打开时滚动到列表底部 如果有超过 2 或 3 条评论 我已经安装了这个幻灯片插件 http jesseprice com jquery slide to plugin
  • 如何用方向键移动div

    我想使用 jQuery 用箭头键移动 div 所以右 左 下 上 找到了我想要完成的演示here http atomicrobotdesign com blog htmlcss move objects around the canvas
  • 如何禁用向左滚动?

    I got a div 元素 parent 包含多个子元素 item 我想启用滚动父元素一个方向 left OR正确的 否则什么都不会发生 看我的代码 parent scroll function gt gt gt scroll event
  • 单击 div 中的图像时如何翻转该 Div?

    好吧 我对编写 Javascript 知之甚少 我可以对其进行一些编辑 并且涉足了 CSS3 动画 我将向您展示我正在努力实现的目标 然后在下面进行解释 网站布局将是这样的 https i stack imgur com RMb4R jpg
  • 在各种分辨率下通过百分比宽度将根 div 居中

    我需要通过基于百分比的宽度而不是基于像素的宽度将根 div 居中 container width 80 margin 0px auto 它将容器相对于页面居中 并在 1366 706 分辨率下正常工作 但在 1280 1024 下不起作用
  • HTML 中按钮内的图标

    我需要在 HTML 中将小图标放在按钮内 例如 我需要在我的网站上有 facebook 按钮 在按钮内首先是 F 图标 然后是 facebook 怎么做

随机推荐

  • 计算机操作系统pcb是什么意思,简述PCB的含义以及作用

    描述 为了使参与并发执行的每个程序 包含数据都能独立地运行 在操作系统中必须为之配置一个专门的数据结构 称为进程控制块 PCB Process Control Block 进程与PCB是一一对应的 用户进程不能修改 进程控制块PCB的作用
  • muduo 架构解析

    muduo是一个基于Reactor模式的C 网络库 它采用非阻塞I O模型 基于事件驱动和回调 我们不仅可以通过muduo来学习linux服务端多线程编程 还可以通过它来学习C 11 Reactor是网络编程的一般范式 我们这里从react
  • RockyLinux9.1环境初始化

    下载镜像 https rockylinux org download 基础设置 硬件配置 系统配置 系统初始化 配置网络 配置网络 etc NetworkManager system connections ens160 nmconnect
  • 要言不烦先行指标与滞后指标的12个要点

    先行指标 leading indicator 是在结果发生之前对结果具有预测作用的度量数据 又称为超前指标 预测性指标 先导指标 领先指标 行为指标 过程指标等 滞后指标 lagging indicator 是对最终结果的度量数据 反映的是
  • jar包读取资源文件报错:找不到资源文件(No such file or directory)

    1 遇到问题 1 Maven项目开发阶段正常运行 Java程序可以读取配置文件 public class Main public static void main String args throws Exception Main read
  • python——返回函数、闭包函数、偏函数

    文章目录 1 返回函数 2 闭包函数 3 偏函数 1 返回函数 函数的返回值也可以是函数 def food name 外函数 def prepare 内函数 print f name 制作步骤 备菜 内部函数可以使用外部函数的变量 def
  • 看涨期权计算例题(期权案例计算)

    看涨期权又称认购期权 买进期权 买方期权 买权 延买期权 或 敲进 是指期权的购买者拥有在期权合约有效期内按执行价格买进一定数量标的物的权利 下文为大家科普看涨期权计算例题 期权案例计算 本文来自 期权酱 当看涨期权 Call Option
  • 同步资源失败,未得到同步资源的授权,请停止运行后重新运行,并注意手机上的授权提示

    问题描述 提示 HBuilderX 真机调试异常 这个问题困惑了我好几天 终于解决了 同步资源失败 未得到同步资源的授权 请停止运行后重新运行 并注意手机上的授权提示 解决方案 提示 使用adb删除对应包名 问题未解决 尝试重新启动手机再运
  • 第十届蓝桥杯省赛C++B组 数列求值

    试题 C 数列求值 本题总分 10 分 问题描述 给定数列 1 1 1 3 5 9 17 从第 4 项开始 每项都是前 3 项的和 求第 20190324 项的最后 4 位数字 答案提交 这是一道结果填空的题 你只需要算出结果后提交即可 本
  • 以数据为中心的标记语言-->yaml

    目录 一 yaml 介绍 二 yaml 基本语法 三 数据类型 1 字面量 2 对象 3 数组 四 yaml 应用实例 1 需求 2 需求图解 3 代码实现 五 yaml 使用细节 一 yaml 介绍 YAML 是 YAML Ain t a
  • C++ 之 explicit,mutable,volatile 浅析

    explicit 放在构造函数前面可以阻止构造函数的隐式类型转换 这样可以避免不必要的错误 代码用例 public static explicit operator RMB float f uint yuan uint f uint jia
  • STM32 ADC详解

    目录 01 ADC简介 02 STM32的ADC外设 03 STM32ADC框图讲解 04 触发源 05 转换周期 06 数据寄存器 07 中断 08 电压转换 09 电路图设计 10 代码设计 01 ADC简介 ADC是Analog to
  • 给Linux扩充swap分区

    https blog csdn net u011109881 article details 73694700
  • 【计算机视觉

    文章目录 一 检测相关 1篇 1 1 SegmentAnything helps microscopy images based automatic and quantitative organoid detection and analy
  • vue-cli3项目打包后自动化部署到服务器

    一 安装 scp2 npm install scp2 save dev 二 写好脚本 例如 upload js 下面任选一个即可 位置和 package json平级即可 简略版 use strict 引入scp2 var client r
  • ctfhub 基础认证

    1 打开题目环境 2 点击click跳出来一个登录弹窗 随便输入用户名和密码登录试试 没有返回任何有用信息 3 查看附件 得到一堆密码 应该是要直接爆破 4 点击click抓包后发送到repeater模块 重新发包得到 Do u know
  • python global local nonlocla

    目录 What is the global keyword Rules of global Keyword Use Global Example 1 Accessing global Variable From Inside a Funct
  • redis-cli的安装

    1 下载redis cli 2 解压缩 3 简易配置 4 查看redis Cli的使用说明 5 常规连接指令 redis cli h 目标主机ip地址 p 端口号
  • {System.InvalidOperationException: 未在本地计算机上注册“Microsoft.Ace.OleDb.12.0”提供程序。

    System InvalidOperationException 未在本地计算机上注册 Microsoft Ace OleDb 12 0 提供程序 在 System Data OleDb OleDbServicesWrapper GetDa
  • 前端面试-HTML5篇

    链接 https www nowcoder com questionTerminal 来源 牛客网 Question 6 描述一下 cookies sessionStorage 和 localStorage 的区别 cookit是网站为了标