【前端实习生备战秋招】—HTML 和 CSS面试题总结(三)

【前端实习生备战秋招】—HTML 和 CSS面试题总结(三)

在这里插入图片描述

1.行内元素有哪些?块级元素有哪些? 空(void)元素有那些?

CSS 规范规定,每个元素都有 display 属性,确定该元素的类型,每个元素都有默认的 display 值,比如 div 默认 display 属性值为“block”,成为“块级”元素;span 默认display 属性值为“inline”,是“行内”元素。

行内元素有:a b span img input select strong(强调的语气) 块级元素有:div ul ol li dl dt dd h1 h2 h3 h4…p

知名的空元素:<br><hr><img><input><link><meta>

鲜为人知的是:<area><base><col><command> <embed><keygen><param><source><track><wbr>

2.CSS 选择符有哪些?哪些属性可以继承?优先级算法如何计算? CSS3 新增伪类有那些?

1.id 选择器( # myid)
2.类选择器(.myclassname)
3.标签选择器(div, h1, p)
4.相邻选择器(h1 + p)
5.子选择器(ul < li)
6.后代选择器(li a)
7.通配符选择器( * )
8.属性选择器(a[rel = “external”])
9.伪类选择器(a: hover, li: nth - child)

  • 可继承: font-size font-family color, UL LI DL DD DT;
  • 不可继承 :border padding margin width height ;
  • 优先级就近原则,样式定义最近者为准;
  • 载入样式以最后载入的定位为准;

优先级为:(mportant 比 内联优先级高)

!important > id > class > tag

CSS3 新增伪类举例:

  • p:first-of-type 选择属于其父元素的首个 <p> 元素的每个 <p> 元素。

  • p:last-of-type 选择属于其父元素的最后 <p> 元素的每个 <p> 元素。

  • p:only-of-type 选择属于其父元素唯一的 <p> 元素的每个 <p> 元素。

  • p:only-child 选择属于其父元素的唯一子元素的每个 <p> 元素。

  • p:nth-child(2) 选择属于其父元素的第二个子元素的每个 <p> 元素。

  • :enabled、:disabled 控制表单控件的禁用状态。

  • :checked,单选框或复选框被选中。

3.如何居中 div,如何居中一个浮动元素?

给 div 设置一个宽度,然后添加 margin:0 auto 属性

 div{width:200px;margin:0 auto;}

居中一个浮动元素, 确定容器的宽高 宽 500 高 300 的层,设置外边距

.div {Width:500px ; height:300px;//高度可以不设Margin: -150px 0 0 -250px;position:relative;相对定位background-color:pink;//方便看效果left:50%;top:50%;}

4.列出 display 的值,说明他们的作用。position 的值, relative 和 absolute 定位原点是?

display 的值

  • block 象块类型元素一样显示。
    none 缺省值。向行内元素类型一样显示。
    inline-block 象行内元素一样显示,但其内容象块类型元素一样显示。
    list-item 象块类型元素一样显示,并添加样式列表标记。

2. position 的值

  • absolute:生成绝对定位的元素,相对于 static 定位以外的第一个父元素进行定位。

  • fixed (老 IE 不支持):生成绝对定位的元素,相对于浏览器窗口进行定位。

  • relative:生成相对定位的元素,相对于其正常位置进行定位。

  • static :默认值。没有定位,元素出现在正常的流中(忽略 top, bottom, left, right z-index 声明)。

  • inherit 规定从父元素继承 position 属性的值。

5.对 WEB 标准以及 W3C 的理解与认识

标签闭合、标签小写、不乱嵌套、提高搜索机器人搜索几率、使用外 链 css 和 js 脚本、结构行为表现的分离、文件下载与页面速度更快、内容能被更多的用户所访问、内容能被更广泛的设备所访问、更少的代码和组件,容易维 护、改版方便,不需要变动页面内容、提供打印版本而不需要复制内容、提高网站易用性;

6.css 的基本语句构成是?

选择器{属性 1:值 1;属性 2:值 2;……}

7.说 display 属性有哪些?可以做什么?

display:block 行内元素转换为块级元素
display:inline 块级元素转换为行内元素
display:inline-block 转为内联元素

8.哪些 css 属性可以继承?

可继承: font-size font-family color, ul li dl dd dt;
不可继承 :border padding margin width height ;

9.有哪些选择符,优先级的计算公式是什么?行内样式和!important 哪个优先级高?

#ID > .class > 标签选择符 !important 优先级高

10.我想让行内元素跟上面的元素距离 10px , 加 margin-top 和 padding-top 可以吗?

margin-top,padding-top 无效

11.从浏览器地址栏输⼊url到显示⻚⾯的步骤

简略回答

  • 浏览器根据请求的 URL交给 DNS域名解析,找到真实 IP,向服务器发起请求;
  • 服务器交给后台处理完成后返回数据,浏览器接收⽂件( HTML、JS、CSS、图象等);
  • 浏览器对加载到的资源(HTML、JS、CSS等)进⾏语法解析,建⽴相应的内部数据结构(如HTML的DOM);
  • 载⼊解析到的资源⽂件,渲染⻚⾯,完成。

详细回答

  1. 从浏览器接收 url到开启⽹络请求线程(这⼀部分可以展开浏览器的机制以及进程与线程之间的关系)
  2. 开启⽹络线程到发出⼀个完整的 HTTP请求(这⼀部分涉及到dns查询, TCP/IP请求,五层因特⽹协议栈等知识)
  3. 从服务器接收到请求到对应后台接收到请求(这⼀部分可能涉及到负载均衡,安全拦截以及后台内部的处理等等)
  4. 后台和前台的 HTTP交互(这⼀部分包括 HTTP头部、响应码、报⽂结构、 cookie等知识,可以提下静态资源的cookie优化,以及编码解码,如 gzip压缩等)
  5. 单独拎出来的缓存问题, HTTP的缓存(这部分包括http缓存头部, ETag, catch-control等)
  6. 浏览器接收到 HTTP数据包后的解析流程(解析 html -词法分析然后解析成 dom树、解析 css⽣成 css规则树 、合并成 render树,然后 layout、painting渲染、复合图层的合成、 GPU绘制、外链资源的处理、 loaded和DOMContentLoaded等)
  7. CSS的可视化格式模型(元素的渲染规则,如包含块,控制框, BFC, IFC等概念)
  8. JS 引擎解析过程( JS的解释阶段,预处理阶段,执⾏阶段⽣成执⾏上下⽂, VO ,作⽤域链、回收机制等等)
  9. 其它(可以拓展不同的知识模块,如 跨域 , web安全 , hybrid模式等等内容)

12. 请描述⼀下 cookies,sessionStorage 和localStorage 的区别?

  • cookie是⽹站为了标示⽤户身份⽽储存在⽤户本地终端(Client Side)上的数据(通常经过加密)
  • cookie数据始终在同源的http请求中携带(即使不需要),即会在浏览器和服务器间来回传递
  • sessionStorage和 localStorage不会⾃动把数据发给服务器,仅在本地保存
    存储⼤⼩:
    cookie数据⼤⼩不能超过4k sessionStorage和 localStorage虽然也有存储⼤⼩的限制,但⽐ cookie⼤得多,可以达到5M或更⼤

有效时间:
localStorage 存储持久数据,浏览器关闭后数据不丢失除⾮主动删除数据 sessionStorage 数据在当前浏览器窗⼝关闭后⾃动删除 cookie 设置的 cookie过期时间之前⼀直有效,即使窗⼝或浏览器关闭

13.⻚⾯访问cookie的限制条件

cookie (储存在⽤户本地终端上的数据)

cookie 指某些⽹站为了辨别⽤户身份、进⾏ session 跟踪⽽储存在⽤户本地终端上的数据。cookie 在⽹络系统中⼏乎⽆处不在,当我们浏览以前访问过的⽹站时,⽹⻚中可能会出现 :你好 XXX。

1. 跨域问题:
cookie允许Web开发者保留他们的⽤户的登录状态。但是当你的站点有⼀个以上的域名时就会出现问题了。在 cookie规范上说,⼀个 cookie只能⽤于⼀个域名,不能够发给其它的域名。因此,如果在浏览器中对⼀个域名设置了⼀个 cookie,这个 cookie对于其它的域名将⽆效。

解决:

  • 通过nginx反向代理
  • jsonp⽅式请求
  • 设置了HTTP only:如果在cookie中设置了 HttpOnly属性,那么通过程序(JS脚本、Applet等)将⽆法读取到 cookie信息,这样能有效的防⽌ XSS攻击。

14.cookie的作⽤与弊端

cookie的作⽤

  • 可以在客户端上保存⽤户数据,起到简单的缓存和⽤户身份识别等作⽤。
  • 保存⽤户的登陆状态,⽤户进⾏登陆,成功登陆后,服务器⽣成特定的cookie返回给客户端,客户端下次访问该域名下的任何⻚⾯,将该cookie的信息发送给服务器,服务器经过检验,来判断⽤户是否登陆。
  • 记录⽤户的⾏为。

cookie弊端

  • 增加流量消耗,每次请求都需要带上cookie信息。
  • 安全性隐患,cookie使⽤明⽂传输。如果cookie被⼈拦截了,那⼈就可以取得所有的session信息。
  • Cookie数ᰁ和⻓度的限制。每个domain最多只能有20条cookie,每个cookie⻓度不能超过4KB,否则会被截掉

15.介绍cookie的属性

在chrome控制台中的Application选项卡中可以看到cookie的信息

在这里插入图片描述
⼀个域名下⾯可能存在着很多个 cookie对象。但⼀个 cookie只能⽤于⼀个域名,不能够发给其它的域名。

  • Name
    为⼀个cookie的名称(⽤ JavaScript 操作 Cookie 的时候注意对 Value 进⾏编码处理。)

  • value
    为⼀个cookie的值(⽤ JavaScript 操作 Cookie 的时候注意对 Value 进⾏编码处理。)

  • Domain
    为可以访问此cookie的域名

注:⼆级域名能读取设置了 domain为顶级域名或者⾃身的cookie,不能读取其他⼆级域名 domain的 cookie。所以要想 cookie在多个⼆级域名中共享,需要设置 domain为顶级域名,这样就可以在所有⼆级域名⾥⾯获得到这个cookie的值了。

顶级域名只能获取到 domain设置为顶级域名的 cookie,其他domain设置为⼆级域名的⽆法获取。

  • Path
    为可以访问此cookie的⻚⾯路径。 ⽐如domain是abc.com,path是/test,那么只有/test路径下的⻚⾯可以读取此cookie
  • Expires
    字段为此cookie超时时间 。若设置其值为⼀个时间,那么当到达此时间后,此cookie失效。不设置的话 默认值是Session,意思是cookie会和session⼀起失效。当浏览器关闭(不是浏览器标签⻚,⽽是整个浏览器) 后,此cookie失效。
Set-Cookie: id=a3fWa; Expires=Wed, 21 Oct 2015 07:28:00 GMT;

当为 会话性 Cookie 的时候,值保存在客户端内存中,并在⽤户关闭浏览器时失效。需要注意的是,有些浏览器提供了会话恢复功能,这种情况下即使关闭了浏览器,会话期 Cookie 也会被保留下来,就好像浏览器从来没有关闭⼀样。

与会话性 Cookie 相对的是 持久性 Cookie,持久性 Cookies 会保存在⽤户的硬盘中,直⾄过期或者清除Cookie。这⾥值得注意的是,设定的⽇期和时间只与客户端相关,⽽不是服务端。

  • Max-Age
    Max-Age⽤于设置在 Cookie 失效之前需要经过的 秒数 。⽐如:
Set-Cookie: id=a3fWa; Max-Age=604800;
  • Max-Age 可以为正数、负数、甚⾄是 0。
  • 如果 max-Age 属性为 正数 时,浏览器会将其持久化,即写到对应的 Cookie ⽂件中。
  • 当 max-Age 属性为 负数 ,则表示该 Cookie 只是⼀个会话性 Cookie。
  • 当 max-Age 为 0 时,则会⽴即删除这个 Cookie。
  • 假如 Expires和 Max-Age 都存在, Max-Age优先级更⾼。

HttpOnly
若此属性为 true,则只有在http请求头中会带有此cookie的信息,⽽不能通过 document.cookie来访问此cookie。

设置是否只能通过https来传递此条cookie。使⽤ HTTPS安全协议,可以保护 Cookie 在浏览器和 Web服务器间的传输过程中不被窃取和篡改。

  • Size 此cookie⼤⼩
  • SameSite

16.⽹⻚验证码是⼲嘛的,是为了解决什么安全问题

  • 区分⽤户是计算机还是⼈的公共全⾃动程序。可以防⽌恶意破解密码、刷票、论坛灌⽔
  • 有效防⽌⿊客对某⼀个特定注册⽤户⽤特定程序暴⼒破解⽅式进⾏不断的登陆尝试

17.前端注意哪些SEO?

  • 合理的 title、 description、 keywords:搜索对着三项的权重逐个减⼩,title值强调重点即可,重要关键词出现不要超过2次,⽽且要靠前,不同⻚⾯ title要有所不同; description把⻚⾯内容⾼度概括,⻓度合适,不可过分堆砌关键词,不同⻚⾯ description有所不同; keywords列举出重要关键词即可
  • 语义化的 HTML代码,符合W3C规范:语义化代码让搜索引擎容易理解⽹⻚
  • 重要内容 HTML代码放在最前:搜索引擎抓取 HTML顺序是从上到下,有的搜索引擎对抓取⻓度有限制,保证重要内容⼀定会被抓取
  • 重要内容不要⽤ js输出:爬⾍不会执⾏js获取内容
  • 少⽤ iframe:搜索引擎不会抓取 iframe中的内容
  • ⾮装饰性图⽚必须加 alt
  • 提⾼⽹站速度:⽹站速度是搜索引擎排序的⼀个重要指标

18.CSS 动画的实现⽅式有⼏种

  • transition
  • keyframes(animation)

19.过渡动画和关键帧动画的区别

  • 过渡动画需要有状态变化
  • 关键帧动画不需要状态变化
  • 关键帧动画能控制更精细

如何实现逐帧动画?

  • 使⽤关键帧动画
  • 去掉补间(steps)

20.CSS动画的性能

  • 性能不坏
  • 部分情况下优于JS
  • 但JS可以做的更好
  • 部分⾼危属性(例如 box-shadow等)。

21.keyframe 关键帧动画

关键帧动画

  • 相当于多个补间动画
  • 与元素状态的变化⽆关
  • 定义更加灵活
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>keyframe关键帧动画</title><style>.container{width: 100px;height: 100px;background: red;animation: run 1s;animation-direction: reverse;animation-iteration-count: infinite;/*animation-fill-mode: forwards;*//*animation-play-state: paused;*/}@keyframes run {0%{width: 100px;}100%{width: 800px;}}</style>
</head>
<body><div class="container"></div>
</body>
</html>

在这里插入图片描述

CSS中动画的类型

  • transition 补间动画(从⼀个状态到另⼀个状态,状态切换之间是有动画的)
  • keyframe 关键帧动画(指定的每⼀个状态就是⼀个关键帧)
  • 逐帧动画(跳动)
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>transition补间动画</title><style>.container{width: 100px;height: 100px;background: red;transition: width 1s, background 2s;}.container:hover{width: 300px;background: blue;}</style>
</head>
<body><div class="container"></div>
</body>
</html>

在这里插入图片描述

动画进度与时间的关系

在这里插入图片描述
在这里插入图片描述

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

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

相关文章

体验自制免费开源闯关学SQL

文章目录 前言mac安装nodejs启动体验 前言 sql是常用必不可少的一种语言&#xff0c;我们都或有各种各样的学习经历&#xff0c;最近看鱼皮大佬开源了一款自制的闯关学SQL项目&#xff0c;该项目是纯前端语言&#xff0c;不需要太多依赖以及前置知识&#xff0c;直接下载就可以…

pg实现月累计

获取每月累计数据&#xff1a; ​​​ SELECT a.month, SUM(b.total) AS total FROM ( SELECT month, SUM(sum) AS total FROM ( SELECT to_char(date("Joinin"),YYYY-MM) AS month , COUNT(*) AS sum FROM "APP_HR_Staff_Basic_Info" GROUP BY month ) …

Clickhouse 存储引擎

一、常用存储引擎分类 1.1 ReplacingMergeTree 这个引擎是在 MergeTree 的基础上&#xff0c;添加了”处理重复数据”的功能&#xff0c;该引擎和MergeTree的不同之处在于它会删除具有相同主键的重复项。 特点: 1使用ORDERBY排序键作为判断重复的唯一键 2.数据的去重只会在合并…

Android 13 Launcher——屏蔽长按非icon区域出现弹窗

目录 一.背景 二.屏蔽此功能 一.背景 长按Launcher非icon区域也是会有弹窗的&#xff0c;会显示小组件等信息&#xff0c;定制开发要求长按非icon区域不要弹窗&#xff0c;我们来实现此功能&#xff0c;先看下未修改前的长按非icon区域的效果 如上图可以看出长按功能显示出壁…

电力系统电流三段式保护MATLAB仿真模型

整体模型如下&#xff1a; Matlab/Simulink搭建的电力系统电流保护模型采用辐射型单电源供电的运行方式 Ⅰ段保护的搭建 Ⅰ段保护为瞬时速断保护&#xff0c;根据Ⅰ段整定原则确定整定值。线路发生短路故障时&#xff0c;短路电流急剧增大&#xff1b;超过设置的整定值时&…

大数据-玩转数据-Flink-Transform

一、Transform 转换算子可以把一个或多个DataStream转成一个新的DataStream.程序可以把多个复杂的转换组合成复杂的数据流拓扑. 二、基本转换算子 2.1、map&#xff08;映射&#xff09; 将数据流中的数据进行转换, 形成新的数据流&#xff0c;消费一个元素并产出一个元素…

Unity 3D中使用tilemap创建关卡地图,瓦片间隙有漏缝

我们使用一张图片来作为Sprite图集&#xff0c;创建地形图&#xff1a; 运行后&#xff0c;会发现&#xff0c;瓦片之间似乎总是有间距。 检查了图片发现&#xff0c;并不是图片边界存在间隙。 最后发现问题是出在图片资源中的线性过滤属性值&#xff1a; 在设计界面就能够看…

ETHERCAT转CANOPEN协议网关canopen分类

1.产品功能 JM-ECT-COP是自主研发的一款 ETHERCAT 从站功能的通讯网关。该产品主要功能是将 ETHERCAT 网络和 CANOPEN 网络连接起来。 本网关连接到 ETHERCAT 总线中做为从站使用&#xff0c;连接到 CANOPEN 总线中做为主站使用。 3.技术参数 ETHERCAT 技术参数 网关做为 E…

【设计模式——学习笔记】23种设计模式——中介者模式Observer(原理讲解+应用场景介绍+案例介绍+Java代码实现)

文章目录 案例引入案例一普通实现中介者模式 案例二 介绍基础介绍登场角色尚硅谷 《图解设计模式》 案例实现案例一&#xff1a;智能家庭类图实现 案例二&#xff1a;登录页面逻辑实现说明类图实现 总结文章说明 案例引入 案例一 普通实现 在租房过程中&#xff0c;客户可能…

PHP最简单自定义自己的框架定义常量自动生成目录(三)

1、框架入口增加模块定义&#xff0c;实现多模块功能 index.php 定义模块 <?php //定义当前请求模块 define("MODULE",index); require "./core/KJ.php"; 创建后台模块admin.php <?php define("MODULE",admin); require "./cor…

每日一题——最小花费爬楼梯

题目 给定一个整数数组 cost &#xff0c;其中 cost[i] 是从楼梯第i 个台阶向上爬需要支付的费用&#xff0c;下标从0开始。一旦你支付此费用&#xff0c;即可选择向上爬一个或者两个台阶。 你可以选择从下标为 0 或下标为 1 的台阶开始爬楼梯。 请你计算并返回达到楼梯顶部的…

计算机网络(8) --- IP与IP协议

计算机网络&#xff08;7&#xff09; --- UDP协议和TCP协议_哈里沃克的博客-CSDN博客UDP协议和TCP协议https://blog.csdn.net/m0_63488627/article/details/132125374?spm1001.2014.3001.5501 目录 1.IP与IP协议 IP作用 协议​编辑 2.网段划分 DHCP划分 CIDR划分 特殊…

【果树农药喷洒机器人】Part5:基于深度相机与分割掩膜的果树冠层体积探测方法

文章目录 一、引言二、树冠体积测量对比方法2.1冠层体积人工测量法2.2冠层体积拟合测量法 三、基于深度相机与分割掩膜探测树冠体积方法3.1像素值与深度值的转换3.2树冠体积视觉探测法3.3实验分析 总结 一、引言 果树靶标探测是实现农药精准喷施的关键环节&#xff0c;本章以果…

Syncfusion Essential Edit for WPF Crack

Syncfusion Essential Edit for WPF Crack 在任何WPF应用程序中启用语法高亮显示。 Syncfusion Essential Edit for WPF是一款具有所有基本功能的编辑器&#xff0c;如文本编辑、剪切、复制和粘贴。它允许用户从各种文件格式打开文件并将其保存为各种文件格式。Syncfusion Esse…

java.lang.IllegalStateException: 不允许修改锁定的参数映射

问题描述&#xff1a; 这个问题是在我写javaweb项目&#xff0c;做敏感词过滤时出现的 需求是&#xff1a;如果是由 getParameter(String s) 得到的数据&#xff0c;可以直接修改value值&#xff0c;将含有敏感词的部分替换为 *** request.getParameterMap() 方法返回一个包…

1749. 任意子数组和的绝对值的最大值

诸神缄默不语-个人CSDN博文目录 力扣刷题笔记 文章目录 1. 暴力搜索2. 动态规划3. 前缀和 1. 暴力搜索 直接用2个指针从索引0开始找到最后一个索引&#xff0c;时间复杂度大概是 O ( n 2 ) O(n^2) O(n2)吧&#xff0c;总之这么搞不行&#xff0c;以下是我用Python写的一些典型…

设计模式之六:命令模式(封装调用)

命令模式可以将请求的对象和执行请求的对象解耦&#xff08;实际上是通过命令对象进行沟通&#xff0c;即解耦&#xff09;。&#xff08;个人感觉&#xff0c;这章讲的很一般&#xff09; 按个人理解来讲&#xff1a; 假如需要一个遥控器&#xff0c;遥控器有一个插口可以插上…

【JAVA】有关时间的操作在编程中如何实现?

个人主页&#xff1a;【&#x1f60a;个人主页】 系列专栏&#xff1a;【❤️初识JAVA】 文章目录 前言Date 类Date 类方法Data的缺陷实例获取当前日期时间日期比较java中设置date数据的显示格式 前言 在许多应用程序中&#xff0c;日期和时间的处理是必不可少的。Java提供了一…

【80天学习完《深入理解计算机系统》】第二天 2.2 整数的表示【有符号数,无符号数,符号数的扩展,有无符号数的转变】

专注 效率 记忆 预习 笔记 复习 做题 欢迎观看我的博客&#xff0c;如有问题交流&#xff0c;欢迎评论区留言&#xff0c;一定尽快回复&#xff01;&#xff08;大家可以去看我的专栏&#xff0c;是所有文章的目录&#xff09;   文章字体风格&#xff1a; 红色文字表示&#…

【Matlab】Elman神经网络遗传算法(Elman-GA)函数极值寻优——非线性函数求极值

往期博客&#x1f449; 【Matlab】BP神经网络遗传算法(BP-GA)函数极值寻优——非线性函数求极值 【Matlab】GRNN神经网络遗传算法(GRNN-GA)函数极值寻优——非线性函数求极值 【Matlab】RBF神经网络遗传算法(RBF-GA)函数极值寻优——非线性函数求极值 本篇博客将主要介绍Elman神…