前端面试题(CSS篇六)

一、浏览器如何判断是否支持 webp 格式图片

(1)宽高判断法。通过创建image对象,将其src属性设置为webp格式的图片,然后在onload事件中获取图片的宽高,如果能够获取,则说明浏览器支持webp格式图片。如果不能获取或者触发了onerror函数,那么就说明浏览器不支持webp格式的图片。

(2)canvas判断方法。我们可以动态的创建一个canvas对象,通过canvas的toDataURL将设置为webp格式,然后判断返回值中是否含有image/webp字段,如果包含则说明支持WebP,反之则不支持。

资料参考:

《判断浏览器是否支持 WebP 图片》icon-default.png?t=N7T8https://blog.csdn.net/jesslu/article/details/82495061

《toDataURL()》icon-default.png?t=N7T8https://developer.mozilla.org/zh-CN/docs/Web/API/HTMLCanvasElement/toDataURL

二、什么是 Cookie 隔离?(或者说:请求资源的时候不要让它带 cookie 怎么做)

网站向服务器请求的时候,会自动带上cookie这样增加表头信息量,使请求变慢。如果静态文件都放在主域名下,那静态文件请求的时候都带有的cookie的数据提交给server的,非常浪费流量,所以不如隔离开,静态资源放CDN。

因为cookie有域的限制,因此不能跨域提交请求,故使用非主要域名的时候,请求头中就不会带有cookie数据,这样可以降低请求头的大小,降低请求时间,从而达到降低整体请求延时的目的。

同时这种方式不会将cookie传入WebServer,也减少了WebServer对cookie的处理分析环节,提高了webserver的http请求的解析速度。

资料参考:

《CDN 是什么?使用 CDN 有什么优势?》icon-default.png?t=N7T8https://www.zhihu.com/question/36514327?rf=37353035

三、style 标签写在 body 后与 body 前有什么区别?

页面加载自上而下当然是先加载样式。写在body标签后由于浏览器以逐行方式对HTML文档进行解析,当解析到写在尾部的样式表(外联或写在style标签)会导致浏览器停止之前的渲染,等待加载且解析样式表完成之后重新渲染,在windows的IE下可能会出现FOUC现象(即样式失效导致的页面闪烁问题)

四、阐述一下 CSSSprites

将一个页面涉及到的所有图片都包含到一张大图中去,然后利用CSS的background-image,background-repeat,background
-position的组合进行背景定位。利用CSSSprites能很好地减少网页的http请求,从而很好的提高页面的性能;CSSSprites能减少图片的字节。

优点:

减少HTTP请求数,极大地提高页面加载速度
增加图片信息重复度,提高压缩比,减少图片大小
更换风格方便,只需在一张或几张图片上修改颜色或样式即可实现

缺点:

图片合并麻烦
维护麻烦,修改一个图片可能需要重新布局整个图片,样式

五、使用 rem 布局的优缺点?

优点:
在屏幕分辨率千差万别的时代,只要将rem与屏幕分辨率关联起来就可以实现页面的整体缩放,使得在设备上的展现都统一起来了。而且现在浏览器基本都已经支持rem了,兼容性也非常的好。

缺点:
(1)在奇葩的dpr设备上表现效果不太好,比如一些华为的高端机型用rem布局会出现错乱。
(2)使用iframe引用也会出现问题。
(3)rem在多屏幕尺寸适配上与当前两大平台的设计哲学不一致。即大屏的出现到底是为了看得又大又清楚,还是为了看的更多的问题。

资料参考:

《css3 的字体大小单位 rem 到底好在哪?》icon-default.png?t=N7T8https://www.zhihu.com/question/21504656

《VW:是时候放弃 REM 布局了》icon-default.png?t=N7T8https://www.jianshu.com/p/e8ae1c3861dc

《为什么设计稿是 750px》icon-default.png?t=N7T8https://blog.csdn.net/Honeymao/article/details/76795089

《使用 Flexible 实现手淘 H5 页面的终端适配》icon-default.png?t=N7T8https://github.com/amfe/article/issues/17

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

随身WiFi市场乱象横生,随身WiFi测评最好的格行随身WiFi如何引领变革?

在当今随身WiFi市场乱象频发、内卷严重的背景下,消费者对于产品的性能与商家是否会后台割韭菜依旧存疑,尤其是“随身WiFi到底卡不卡?”的问题,成为了广大消费者关注的重点。然而,在众多品牌中,格行随身WiFi…

DSVPN综合实验(NHRP之shortcut模式,证书认证模式)

一、实验目的 通过NAT设备将内网地址映射至外网,在站点间构建VPN隧道,认证方式分别使用预配置密码和证书两种方式实现 二、基础配置 (一)如图所示配置接口地址,在R1上将FW1地址映射至外网 [R1-GigabitEthernet0/0/1…

Geoserver源码解读六 插件

系列文章目录 Geoserver源码解读一 环境搭建 Geoserver源码解读二 主入口 Geoserver源码解读三 GeoServerBasePage Geoserver源码解读四 REST服务 Geoserver源码解读五 Catalog Geoserver源码解读六 插件(怎么在开发模式下使用) 目录 系列文章目…

NodeJS小饰品销售管理系统-计算机毕业设计源码21597

摘 要 在当今的数字化时代,电子商务已经成为了商业领域中不可或缺的一部分。随着消费者对于购物体验的要求越来越高,一个高效、便捷、用户友好的小饰品销售管理系统显得尤为重要。 本系统旨在利用 JavaScript 技术,设计并实现一个功能强大的小…

idea控制台乱码问题解决教程

注:按顺序来操作,完成后要重启软件 方案一:修改Tomcat的编码设置 在Tomcat的VM options中添加了-Dfile.encodingUTF-8 方案二:修改IDEA的编码设置 File->Settings->Editor->File Encodings 将Global Encoding、Proj…

智汇园区:为园区企业注入前沿技术与人才活力

在日新月异的时代浪潮中,树莓集团深知人才是企业发展的核心驱动力,更是推动产业升级与创新的关键要素。因此,我们致力于构建全方位的人才引进与培养体系,为园区企业输送源源不断的前沿技术与人才支持。 【人才引进:汇聚…

最适合mysql5.6安装的linux版本-实战

文章目录 一, 适合安装mysql5.6的linu版本1. CentOS 72. Ubuntu 14.04 LTS (Trusty Tahr)3. Debian 8 (Jessie)4. Red Hat Enterprise Linux (RHEL) 7 二, 具体以Ubuntu 14.04 LTS (Trusty Tahr)为例安装虚拟机安装Ubuntu 14.04 LTS (Trusty Tahr) 自己弄安装ssh(便于远程访问,…

【STM32学习】cubemx配置,串口的使用,串口发送接收函数使用,以及串口重定义、使用printf发送

1、串口的基本配置 选择USART1,选择异步通信,设置波特率 选择后,会在右边点亮串口 串口引脚是用来与其他设备通信的,如在程序中打印发送信息,电脑上打开串口助手,就会收到信息。 串口的发送接收&#xff0…

短剧cps分销系统搭建开发,搭建专属于自己的分销系统

前言: 短剧项目是目前非常火的一个互联网项项目。短剧CPS(Cost Per Sale,即按照销售额付费)分销系统涉及多个步骤,主要可以归纳为以下几个关键环节: 1. 获取源码: 你可以通过购买商业源码、使…

python怎么求因数

要想做到python语言求因数方法,首先要明白其中的原理: 1、对由123456789这九个数字组成的9位数进行分解质因数。 2、1234576982x3x3x7x13x23x29x113,所以他的值因数是113。 3、总共有362880种可能,从中找出值因数中最小的数字和…

react基础语法,模板语法,ui渲染,jsx,useState状态管理

创建一个react应用 这里使用create-react-app的脚手架构建项目(结构简洁,基于webpack-cli), npx create-react-app [项目名称] 使用其他脚手架构建项目可以参考:react框架,使用vite和nextjs构建react项目…

品牌策划必读:9本改变游戏规则的营销经典

作为深耕品牌十余年的策划人,这些年自学啃下的书不计其数。 这里特意挑选了几本知名度不高但是却非常有用的“遗珠”优质品牌策划书籍分享出来。 如果你是一位初步了解品牌的人,这些书籍既包含了品牌理论基础,也有实用的实践指导。 这些书…

振弦采集仪在大型工程安全监测中的作用与意义

振弦采集仪在大型工程安全监测中的作用与意义 河北稳控科技振弦采集仪是一种用于测量振动频率的仪器,常用于大型工程的安全监测中。它通过采集振弦的振动信号,可以对工程结构的振动特性进行实时监测和分析。振弦采集仪在大型工程安全监测中具有重要的作…

深入理解Python密码学:使用PyCrypto库进行加密和解密

深入理解Python密码学:使用PyCrypto库进行加密和解密 引言 在现代计算领域,信息安全逐渐成为焦点话题。密码学,作为信息保护的关键技术之一,允许我们加密(保密)和解密(解密)数据。P…

先进电机拓扑及控制算法介绍(1)——串联绕组电机拓扑极其控制

1.前言 在这个专栏,我会介绍一些比较先进的电机拓扑及控制算法,并且会做仿真来验证这些电机拓扑及控制算法的先进性。什么叫做“比较先进的电机拓扑及控制算法”呢? 在我看来,这些电机拓扑及控制算法被提出不久,知道…

AI提示词:AI辅导「数学作业」

辅导孩子作业对许多家长来说可能是一件头疼的事,但这部分工作可以在一定程度上交给AI来完成。 打开ChatGPT4,输入以下内容: # Role 数学辅导专家## Profile - author: 姜小尘 - version: 02 - LLM: Kimi - language: 中文 - description: 专门为小学生…

将格内多行文字展开成多格

表格的A列是分类,B列由多行文字组成,即分隔符是换行符。 AB1Account NumberInteraction21Jan 1,2023 - Hello.32Jan 2, 2023 - Good morning. Jan 3, 2023 - Good night. Jan 4, 20 Jan 5, 2023 - Good night. Jan 6, 2023 - Good afternoon.43Jan 1,20…

【JavaEE】进程

目录 一.冯诺依曼体系结构 二.CPU的核心概念 核心数 频率(Clock Speed 或时钟频率) 如何选择合适的CPU 三.指令的执行 1.什么是指令 1.取指令 2.解析指令 3.执行指令 4.访问内存(Memory): 5.写回结果(Write…

Linux--网络设置

目录 一、测试网络连接 1、查看网络接口信息 1.1 ifconfig 命令---查看网络接口信息 1.1.1 ifconfig 网卡 #单独查看某个网卡 1.1.2 ifconfig -a #显示所有活动及非活动的连接 二、修改网络配置文件 三、设置网络接口参数 3.1 启用、禁用网络接口配置 3.2 hostn…

U-net和U²-Net网络详解

目录 U-Net: Convolutional Networks for Biomedical Image Segmentation摘要U-net网络结构pixel-wise loss weight U-Net: Going Deeper with Nested U-Structure for Salient Object Detection摘要网络结构详解整体结构RSU-n结构RSU-4F结构saliency map fusion module -- 显著…