html题目总结

本文涉及的产品
全局流量管理 GTM,标准版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
云解析 DNS,旗舰版 1个月
简介: html题目总结

HTML


1.前端工程化


题目总结

1.什么是标签语义化?:合理的标签干合适的事情,看到标签就知道准备干什么,比方说header,footer等


2.都有哪些标签,都是啥意思?:块级标签,行内标签,行内块标签,

块级标签的特点


  • 宽度100%,高度自适应(由内容撑开)
  • 独立成行(独占一行)
  • 可以设置margin,padding,border,宽度和高度


行内标签的特点:

  • 宽度高度自适应
  • 默认水平排列,不独占一行
  • 可设置border,可设置水平方向的margin,padding。
  • 不可以设置宽高


行内块标签

  • 对宽高属性值都有效,还能多个标签在一行

如何相互转化

  • display(inline,inline-block,block)


display的值有哪些?:flex ,table ,none,等等

3.让元素隐藏,可以怎样做?


  • display:none真正意义的隐藏,页面源码都不显示隐藏的页面源码,隐藏元素不占任何空间,但是可以通过Dom操作访问到
  • opacity:0 opacity属性是设置元素的透明度,会影响页面布局,但只是不可见,会影响页面的交互操作
  • visibility:hidden 也只是显示不可见, 元素位置处显示一块空白,影响布局,但是不影响交互
  • position:absoute,为了不影响页面布局又想交互,position属性将元素移出原来的页面显示,并可以与之交互
  • 总结:opacity和visibilitity会影响布局,display不影响布局但是无法直接交互

4.filter(滤镜)还能做哪些?(没用过)

  • 灰度设置
  • 反色
  • 饱和度设置
  • 透明度设置
  • 模糊,阴影


5.flex:1 1 auto(用来补全剩余空间),flex有三个参数,第一个是项目放大比例默认是0,第二个是缩小比例,默认是1,第三个是项目占据主轴空间

6.实现居中的方式?

  • text-align:center
  • 可以水平居中块级元素中的行内元素(inline,inline-block)
  • 用来居中块级元素中的块级元素,如果内层的div有自己的宽度,那么这种方法只能让其中的文字等内容居中
  • 设置块级元素,实现水平居中**
  • display:table-cell(有点迷)
  • 配合width,text-align:center,vertical-align:middle
  • 这个方式是对单元格td来说的,让大小不固定垂直居中,float,absolute等属性都会影响他的实现,
  • 父级元素需要固定宽高,元素设置成行内元素,或者行内块


*css3的translate


  • 水平居中元素,并且元素脱离文档流
  • 设置top:50%,left:50%.
  • 使用transform来向左上偏移半个内元素的宽和高
  • 弹性伸缩盒模型
  • 用js的方式获得浏览器的宽和高,在js中设置盒子的样式,宽度为(浏览器宽度-盒子宽度)/2 ,高度为(浏览器高度-盒子高度)/2

7.都有哪些盒子模型?那怎样切换呢?


  • W3C标准的盒模型(标准盒模型):width,height指的是内容区域content的宽度高度
  • E标准的盒子模型(怪异盒模型):
  • width指的是内容,边框,内边距宽度这三者之和
  • height指的是内容,边框,内边距高度这三者之和


  • 切换
  • box-sizing:content-box(标准)||border-box(IE盒模型)

8.src和href的区别

  • 共性:两者都是用来引用外部的资源

src:表示对资源的引用,它所指向的内容会嵌入到当前标签所在的位置。src会将其指向的资源下载并应用到文档中。例如:请求js脚本。


当浏览器解析到该元素时,会暂停其他资源下载和处理,直到将src引用的资源加载、编译、执行完成,故此我们一般把js脚本放到底部(防止加载js文件阻塞页面的渲染)

有点问题,加载图片的时候会不会阻塞,学长的说法是加载资源的时候是不会阻塞,js阻塞也是在js执行的时候阻塞

  • href:表示超文本的引用,它指向一些网络资源,建立和当前元素或本文档的链接关系。当浏览器识别到他指向的文件时,就会并行下载(不会停止其他正在进行的操作),常用在a、link标签

9.对HTML语义化的理解

  • 语义化是根据内容的结构化(内容语义化),选择合适的标签(代码语义化)。简要概述就是用合适的代码做合适的事情
  • 优点:(1)对机器友好。语义类还支持读屏软件,根据文章可以自动生成目录。(2)对开发者友好,开发者能清晰的看出网页的结构(看到相应的标签就知道该标签要用来干什么了)
  • 常用的语义化标签:header、nav、aside、main、footer这些都是标签

10.DOCTYPE(文档类型)的作用


DOCTYPE是HTML5中一种标准通用标记语言的文档声明类型,目的告诉浏览器(解析器)应该以什么样(html或xhtml)的文档类型定义来解析文档

不同的渲染模式会影响浏览器对css代码甚至对javascript脚本的解析,故我们把它声明在第一行

浏览器渲染页面的两种模式(可通过document.compatMode获取)CSS1Compat(标准模式)(strict mode)BackCompat(怪异模式或混杂模式)(quirks mode)

11.script标签中defer和async的区别

没有这两个会怎么办呢?


没有这两个属性,浏览器会立即加载并执行相应的脚本,也就是不会等待后续加载的文档元素,读取到就会开始加载和执行,这样就会堵塞后续文档的加载


共同点:这两个属性都是去异步加载外部的js脚本文件,他们不会堵塞页面的解析


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


脚本是否并行执行


async属性(HTML文档被解析时遇见async脚本,则在后台加载脚本,文档解析过程不中断,脚本加载完成后,文档停止解析,待脚本执行完毕后在继续执行)

defer属性,加载后续文档的过程和js脚本的加载(此时js脚本是加载 不是执行)是并行的(异步),js脚本需要等到文档所有元素解析完成之后才执行,在DOMContentLoaded事件触发执行之前

补充:DOMContentLoaded事件

脚本是要在CSSOM生成之后才可以执行的(解释:因为js可以查询任意对象的样式,所以意味着在CSS解析完成,也就是CSSOM生成之后,js才可以被执行)

解释一下,当 HTML 文档解析完成就会触发 DOMContentLoaded,而所有资源加载完成之后,load 事件才会被触发。

补充: DOMContentLoaded会在defer执行完毕后触发,不会等待async(只要HTML解析完毕就触发)

链接https://zhuanlan.zhihu.com/p/25876048



12.常用的meta标签有哪些?

  • meta标签由name和content属性定义:用来描述网页文档的属性,比如作者,网页描述,关键词等,除了HTTP标准固定了一些name作为大家使用 的共识,开发者还可以自定义name

常用的meta标签

1、charset用来描述HTML文档的编码类型 charset='utf-8’

keywords,页面关键词****

description,页面描述

refresh,页面重定向和刷新

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

content的参数

width :宽度(数值/device-width)

height:高度(数值/device-height)

initial-scale:初始缩小比例

maximum-scale:最大缩放比例

minimum-scale:最小缩放比例

user-scalable:是否允许用户缩放(yes/no)

搜索引擎方式

content的参数

all:文件将被检索,且页面上的链接可以被查询

none:文件将不被检索,且页面上的链接不可以被查询

index:文件将被检索

follow:页面上的链接可以被查询

noindex:文件将不被检索

nofollow:页面上的链接不可以被查询

13.HTML5有哪些更新

1. 语义化标签


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


2.媒体标签

audio:音频


属性:controls(控制面板),autoplay(自动播放),loop(true那么就是循环播放)


video视频


属性:poster:指定视频还没有完全下载完毕,或者用户还没有点击播放前显示的封面。默认显示当前视频文件的第一针画面,当然通过poster也可以自己指定。


controls 控制面板


width


height


source标签 因为浏览器对视频格式支持程度不一样,为了能够兼容不同的浏览器,可以通过source来指定视频源。

3.表单


表单类型:

email,url,number,search,range,color,(time,data,datetime,datetime-local ,week,month)

表单属性

**(1)placeholder:提示信息 (2)autofocus:自动获取焦点 **

(3)autocompleted(value为on或off),前提首先表单必须提交过,其次是name属性

(4)required:输入框不能为空,必须有值才能够提交(5)pattern:里边写入想要的正则模式

(6)mutiple:可以选择多个文件或者邮箱(7)form(form表单的ID)

4.DOM查询操作

  • document.querySelector()找一个
  • document.querySelectorAll()找所有

它们选择的对象可以是标签,可以是类(需要加点),可以是ID(需要加#)


5. Web存储

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

  • localStorage - 没有时间限制的数据存储
  • sessionStorage - 针对一个 session 的数据存储

6.img的srcset属性的作用?

  • srcset属性用于设置不同屏幕密度下,img 会自动加载不同的图片。

7.行内、块级、空元素


8.Web Worker?


背景:javascript采用的是单线程模型,也就是说,所有的任务只能在一个线程上完成


为javascript创造多线程环境,允许主线程创建worker线程,将一些任务分配给后者运行。在主线程运行的同时,worker线程在后台运行。等到worker线程完成计算任务,再把结果返回给主线程。


**worker线程和主线程不在同一个上下文环境,它们不能直接通信,必须通过消息完成

9.title1与h1的区别,b与strong的区别,i与em的区别?


strong标签是一个有很好的语义的标签,而b标签只是一个简单加粗标签,语义化不好或者说没有

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

i标签的作用:仅仅是为了让字体显示斜体,对于SEO没什么作用。em标签的作用:不仅可以让字体显示斜体,而且可以加强语气,告诉搜索引擎这里是重要的

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

  • iframe元素会创建包含另外一个文档的内联框架(即行内框架)
  • 优点
  • 用来加载速度较慢的内容(广告等),可以让脚本并行下载,可以实现子域通信
  • 缺点
  • iframe会阻塞页面的onload事件。无法被一些搜索引擎识别。会产生很多页面,不容易管理


11.Canvas和SVG的区别


SVG:Svg可缩放矢量图标(Scalable vector Graphics)是基于可扩展标记语言XML描述的2D图形的语言,SVG基于XML就意味着SVG DOM中的每个元素都是可用的,可以为某个元素附加Javascript事件处理器。在 SVG 中,每个被绘制的图形均被视为对象。如果 SVG 对象的属性发生变化,那么浏览器能够自动重现图形。


Canvas:Canvas是画布,通过Javascript来绘制2D图形,是逐像素进行渲染的。其位置发生改变,就会重新进行绘制。


**通常情况下,浏览器会从当前文档的 URL 中提取相应的元素来填写相对 URL 中的空白。使用 标签可以改变这一点。浏览器随后将不再使用当前文档的 URL,而使用指定的基本 URL 来解析所有的相对 URL。这其中包括 、、、 标签中的 URL **

12. 文档声明(Doctype)和有何作用? 严格模式与混杂模式如何区分?它们有何意义?

文档声明(Doctype):文档声明就是为了告诉浏览器,当前文档是使用什么版本的HTML来编写的,浏览器应该以何种方式来解析该文档

的作用就是让浏览器进入标准模式,使用最新的html5标准来解析页面;如果不写,浏览器就会进入混杂模式。

严格模式与混杂模式的区分:

严格模式: 又称为标准模式,指浏览器按照W3C标准解析代码;

混杂模式: 又称怪异模式、兼容模式,是指浏览器用自己的方式解析代码。混杂模式通常模拟老式浏览器的行为,以防止老站点无法工作;

13.浏览器乱码的原因是什么?如何解决?

原因

网页源代码是gbk的编码,而内容中的中文是utf-8编码的

html网页编码是gbk,而程序从数据库中调出呈现是utf-8编码的内容也会造成编码乱码

浏览器不能自动检测网页编码,从而造成网页乱码

解决

使用软件编辑HTML网页内容;

如果网页设置编码是gbk,而数据库储存数据编码格式是UTF-8,此时需要程序查询数据库数据显示数据前进程序转码;

如果浏览器浏览时候出现网页乱码,在浏览器中找到转换编码的菜单进行转换。

14. 渐进增强和优雅降级之间的区别

(1)渐进增强(progressive enhancement):主要是针对低版本的浏览器进行页面重构,保证基本的功能情况下,再针对高级浏览器进行效果、交互等方面的改进和追加功能,以达到更好的用户体验。

(2)优雅降级 graceful degradation: 一开始就构建完整的功能,然后再针对低版本的浏览器进行兼容。

15. 说一下 HTML5 drag API


https://juejin.cn/post/6844903513491767303


dragstart:事件主体是被拖放元素,在开始拖放被拖放元素时触发。


darg:事件主体是被拖放元素,在正在拖放被拖放元素时触发。


dragenter:事件主体是目标元素,在被拖放元素进入某元素时触发。


dragover:事件主体是目标元素,在被拖放在某元素内移动时触发。


dragleave:事件主体是目标元素,在被拖放元素移出目标元素是触发。


drop:事件主体是目标元素,在目标元素完全接受被拖放元素时触发。


dragend:事件主体是被拖放元素,在整个拖放操作结束时触发。


post/6844903513491767303


dragstart:事件主体是被拖放元素,在开始拖放被拖放元素时触发。


darg:事件主体是被拖放元素,在正在拖放被拖放元素时触发。


dragenter:事件主体是目标元素,在被拖放元素进入某元素时触发。


dragover:事件主体是目标元素,在被拖放在某元素内移动时触发。


dragleave:事件主体是目标元素,在被拖放元素移出目标元素是触发。


drop:事件主体是目标元素,在目标元素完全接受被拖放元素时触发。


dragend:事件主体是被拖放元素,在整个拖放操作结束时触发。

相关文章
|
2月前
|
存储 移动开发 前端开发
HTML5基础题及答案——必刷前端题目(背)
- Internet是全球连接的TCP/IP协议网络,而万维网(Web)是Internet上的重要服务,基于HTTP协议展示资源。 - 用户通过浏览器输入URL访问Web页面,浏览器向服务器请求内容并显示。 - Web前端基础是HTML、CSS和JavaScript。 - HTML5是HTML的最新版本,增加了新标签、API和功能,如注释、新的列表标签、文档结构和格式标签、拖放、画布等。
|
前端开发 JavaScript Java
计算机二级web题目(3)--HTML基础
计算机二级web题目(3)--HTML基础
141 1
|
移动开发 前端开发 数据安全/隐私保护
前端面试笔试题目-HTML专项练习(基础)
前端面试笔试题目-HTML专项练习(基础)
167 0
前端面试笔试题目-HTML专项练习(基础)
|
存储 移动开发 前端开发
前端工程师面试题目(html,js,异步)
前端工程师面试题目(html,js,异步)
100 0
前端工程师面试题目(html,js,异步)
|
存储 移动开发 前端开发
前端面试题目总结(HTML)
前端面试题目总结(HTML)
83 0
|
Web App开发 前端开发 搜索推荐
前端面试题目汇总摘录(HTML 和 CSS篇)
温故而知新,保持空杯心态 HTML 和 CSS 你做的页面在哪些浏览器测试过?这些浏览器的内核分别是什么 浏览器名称 内核 IE trident Firefox(火狐) gecko Safari webkit Opera 以前是 presto ,现在已改用 Google Chr...
1885 0
|
7天前
|
前端开发 UED
使用HTML和CSS创建响应式表格
在网页设计中,表格是一种组织和展示数据的有效方式。本文档将指导你如何使用HTML和CSS来创建一个既美观又响应式的表格,以便在不同设备和屏幕尺寸上都能良好显示。我们将涵盖基础的HTML表格结构,样式美化以及如何实现响应式布局,使得表格内容在小屏设备上也能清晰阅读
48 0
|
11天前
|
前端开发 JavaScript
文本,wangEditor5展示HTML无样式,wangEditor5如何看源码,Ctrl + U看CSS文件,代码高亮,Prism.js可以实现,解决方法,参考网页源代码的写法
文本,wangEditor5展示HTML无样式,wangEditor5如何看源码,Ctrl + U看CSS文件,代码高亮,Prism.js可以实现,解决方法,参考网页源代码的写法
|
13天前
|
前端开发 JavaScript
【HTML+CSS+JavaScript】Animated Navigation
【HTML+CSS+JavaScript】Animated Navigation
8 0
|
13天前
|
前端开发 JavaScript
【HTML+CSS+JavaScript】animated-countdown
【HTML+CSS+JavaScript】animated-countdown
9 0