前端科举八股文-CSS篇

前端科举面经-CSS篇

  • Css选择器的优先级
  • css盒模型
  • 行内元素和块级元素的区别?
  • link标签和import标签的区别
  • 讲一下弹性盒子布局的常见属性
  • flex是哪三个属性的简写
  • 什么是BFC? 有什么作用
  • 垂直居中的方法?
  • visibility=hidden, opacity=0,display:none的区别
  • 清除浮动
  • 如何使一个元素始终占据视觉区域的一定百分比?
  • 重绘和回流?
  • 减少回流的操作?
  • transition和animation的区别
  • 对requestAnimationframe的理解

Css选择器的优先级

Id > 类 > 属性 > 标签

css盒模型

css盒子模型根据浏览器不同分为IE模型和标准盒模型,其不同点主要是在于其内容区域的宽度的计算方式不同。IE盒模型内容区域宽度就是其内容content区的宽度,标准盒模型宽度是内容区+padding+border。盒模型的计算方式可以通过box-sizing来转换

行内元素和块级元素的区别?

在表现上 行内元素不独占一行,块级元素独占一行,会自动换行
行内元素垂直方向上的margin或者padding设置无效.

link标签和import标签的区别

两者都可以用来加载css文件,import标签可以在html中使用,也可以在css文件中去加载其他css文件,但是link只能在html中去使用。link加载css文件是和html文件渲染同时进行的,import是等文档加载完再去执行。会出现闪屏现象。import会有兼容性的问题。

讲一下弹性盒子布局的常见属性

首先通过设置display:flex来设置弹性盒子布局, flex-direction来设置弹性布局方向, justify-content设置水平方向上的对齐方式 align-items来设置垂直方向上的对齐方式

flex是哪三个属性的简写

flex-basic弹性基准值,设置它占用父级元素的比例。
flex-grow当父项有多余空间的时候的扩张比例
flex-shrink当父项溢出空间时候的缩放比例

什么是BFC? 有什么作用

BFC 块级格式化上下文,它是指页面的一块独立的渲染区域,和其他区域相互独立出来互不干扰。它可以解决外边距折叠和高度塌陷的问题。
根据它的定义,可以设置position不为static,overflow不为visible,或者设置浮动都可以设置BFC。

垂直居中的方法?

1、子元素绝对定位,父元素相对定位. 子元素设置定宽定高,margin auto
2、 还是绝对定位,左偏移设置50%-子元素宽度,上偏移设置50%-子元素高度
3、现在用的最多的flex弹性布局,水平对其方式居中,垂直对齐方式居中.
4、还有一些少见的表格布局

visibility=hidden, opacity=0,display:none的区别

Visible是设置元素的可见性,元素依然在文档流中 只是不可见
Opacity是设置元素的透明度,全透明来实现隐藏的效果 但是依然可见
display:none 设置的元素不占据文档流的空间

清除浮动

常见的思路有设置clear,overflow,或者设置伪元素.

如何使一个元素始终占据视觉区域的一定百分比?

使用vh,vw单位

重绘和回流?

浏览器在渲染页面的时候会生成两棵树,dom树和css文档对象树合并生成渲染树,最后呈现在网页上, 重绘和回流的本质区别就是看浏览器会不会重新生成这个渲染树. 一般会引起重绘的操作就是简单的改变字体样式,元素的颜色等等.这种改变不会引起整个html结构的变化.而重排是引发html结构的变化,比如增加或者删除一个元素,改变一个元素的宽高等.这种改变会引起浏览器重新渲染页面,开销较大.

减少回流的操作?

1、可以合并一些dom操作,比如通过fragment
2、css样式尽量批量修改
3、使用一些脱离文档流的css比如绝对定位等减少回流

transition和animation的区别

transition是过渡属性,animation是动画属性,transition需要定义一个触发事件,动画可以循环执行.

对requestAnimationframe的理解

一个为了js实现动画而诞生的api,在以前用js实现动画时往往是用settimeout来执行,但是用settimeout定义的时间间隔太长的话,动画呈现效果不好,不能完全发挥浏览器的性能,设置时间太短的话又会造成性能消耗.第二是settimeout是把任务推入异步队列,如果存在耗时任务的话,那么这个动画函数不会立即执行,基于这样的悲剧推出requestAnimationframe api.

requestAnimationframe的优势是会在一帧中的所有dom操作合并在一次重绘或者回流中去执行,提高了效率
requestAnimationframe 在浏览器进入后台运行的时候会暂停执行.

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

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

相关文章

保护你的网站:了解5种常见网络攻击类型及其防御方法

随着互联网的迅猛发展,针对网站的各种类型的网络攻击随之增加,网络攻击事件层出不穷,由此,如何保护网站安全成为每个网站所有者的重要议题。在下面的内容中,我们将探讨5种常见网络攻击类型及其防御方法,以帮…

SNETCracker--超级弱口令检查工具简介

一、简介 SNETCracker 超级弱口令检查工具是一款Windows平台的弱口令审计工具,支持批量多线程检查,可快速发现弱密码、弱口令账号,密码支持和用户名结合进行检查,大大提高成功率,支持自定义服务端口和字典。 二、SNE…

常见内网系统网络结构及nginx代理配置

系统网络结构图及nginx配置 1.系统网络结构图2.Nginx网络配置2.1请求从互联网区访问到内网区2.2 请求从内网访问互联网 1.系统网络结构图 传统公司服务部署网络都会分区,应用都部署在内网区,请求通过dmz区转出内网与互联网发生交互。 结构图详解&#…

springCloud集成activiti5.22.0流程引擎

springCloud集成activiti5.22.0流程引擎 点关注不迷路,欢迎再访! 精简博客内容,尽量已行业术语来分享。 努力做到对每一位认可自己的读者负责。 帮助别人的同时更是丰富自己的良机。 小编最近工作需要涉及到流程,由于网络上5.22版…

CHARLS轻松发二区,只用了COX回归模型 | CHARLS CLHLS CFPS 公共数据库周报(4.3)...

零基础CHARLS发论文,不容错过! 长期回放更新指导!适合零基础,毕业论文,赠送2011-2020年CHARLS清洗后的数据全套代码! CHARLS公共数据库 CHARLS数据库简介中国健康与养老追踪调查(China Health and Retireme…

C++初阶学习第三弹——类与对象(上)——初始类与对象

前言: 在前面,我们已经初步学习了C的一些基本语法,比如内敛函数、函数重载、缺省参数、引用等等,接下来我们就将正式步入C的神圣殿堂,首先,先给你找个对象 目录 一、类与对象是什么? 二、类的各…

ArtNeRF、Attention Control、Pixel is a Barrier、FilterPrompt

本文首发于公众号:机器感知 ArtNeRF、Attention Control、Pixel is a Barrier、FilterPrompt ArtNeRF: A Stylized Neural Field for 3D-Aware Cartoonized Face Synthesis Recent advances in generative visual models and neural radiance fields have greatly …

【笔试训练】day11

1.游游的水果大礼包 思路: 枚举。假设最后的答案是x个a礼包,y个b礼包,得到一个式子:ansa*xb*y 我们可以枚举x的数量,这样就能变相的把y的求出来。呃这就是鸡兔同笼问题嘛 x最大的范围是多少呢?也就是a礼…

【CouchDB 与 PouchDB】

CouchDB是什么 CouchDB,全名为Apache CouchDB,是一个开源的NoSQL数据库,由Apache软件基金会管理。CouchDB的主要特点是使用JSON作为存储格式,使用JavaScript作为查询语言(通过MapReduce函数),并…

面试二十二、跳表SkipLists

跳表全称为跳跃列表,它允许快速查询,插入和删除一个有序连续元素的数据链表。跳跃列表的平均查找和插入时间复杂度都是O(logn)。快速查询是通过维护一个多层次的链表,且每一层链表中的元素是前一层链表元素的子集(见右边的示意图&…

day07 51单片机-18B20温度检测

18B20温度检测 1.1 需求描述 本案例讲解如何从18B20传感器获取温度信息并显示在LCD上。 1.2 硬件设计 1.2.1 硬件原理图 1.2.3 18B20工作原理 可以看到18B20有两根引脚负责供电,一根引脚负责数据交换。18B20就是通过数据线和单片机进行数据交换的。 1&#xf…

前端项目中使用插件prettier/jscodeshift/json-stringify-pretty-compact格式化代码或json数据

同学们可以私信我加入学习群! 正文开始 前言一、json代码格式化-选型二、json-stringify-pretty-compact简单试用三、prettier在前端使用四、查看prettier支持的语言和插件五、使用prettier格式化vue代码最终效果如图: ![在这里插入图片描述](https://im…

【ruoyi-vue】登录解析(后端)

调试登录接口 进入实现类可以有 验证码校验 登录前置校验 用户验证 验证码校验 通过uuid获取redis 中存储的验证码信息,获取后对用户填写的验证码数据进行校验比对 用户验证 1.进入控制器的 /login 方法 2.进入security账号鉴权功能,经过jar内的流…

python逆向基础流程(纯小白教程)

一,例题链接 NSSCTF | 在线CTF平台 二,文件特征 使用工具查看文件信息,发现是pyinsatller打包的exe文件,如果硬用ida分析成汇编或c语言根本摸清楚程序的逻辑,所以思路是反编译成py文件直接分析python代码 三&#xf…

【论文推导】基于有功阻尼的转速环PI参数整定分析

前言 在学习电机控制的路上,PMSM的PI电流控制是不可避免的算法之一,其核心在于内环电流环、外环转速环的设置,来保证转速可调且稳定,并且保证较好的动态性能。整个算法仿真在《现代永磁同步电机控制原理及matlab仿真》中已详细给出…

VUE项目使用.env配置多种环境以及如何加载环境

第一步,创建多个环境配置文件 Vue CLI 项目默认使用 .env 文件来定义环境变量。你可以通过创建不同的 .env 文件来为不同环境设置不同的环境变量,例如: .env —— 所有模式共用.env.local —— 所有模式共用,但不会被 git 提交&…

Clickhouse离线安装教程

https://blog.51cto.com/u_15060531/4174350 1. 前置 1.1 检查服务器架构 服务器:Centos7.X 需要确保是否x86_64处理器构架、Linux并且支持SSE 4.2指令集 grep -q sse4_2 /proc/cpuinfo && echo "SSE 4.2 supported" || echo "SSE 4.2 …

不墨迹,向媒体投稿不讲攻略,直接上方法

作为一名单位信息宣传员,我曾深陷于向媒体投稿的泥沼之中,饱尝了费时费力、审核严苛、出稿缓慢的苦涩,承受着领导急切期盼与自我压力交织的煎熬。然而,当我有幸接触到智慧软文发布系统,这一切困境如同阴霾散去,取而代之的是便捷流畅的投稿流程,以及领导满意、团队轻松的工作氛围…

Java Swing游戏开发学习24

内容来自RyiSnow视频讲解 这一节讲的是Scrolling Message, Leveling Up, Damage Calculation滚动消息,升级,伤害计算。 伤害计算 玩家与怪的战斗,玩家对怪的伤害值为攻击值减去怪的防御值。 int damage attack - gp.monster[i].defense; …

队列的实现(c语言实现)

队列的定义 队列(Queue)是一种特殊的线性数据结构,它遵循先进先出(FIFO,First In First Out)的原则。这意味着最早被添加到队列中的元素将是最先被移除的元素。队列的主要操作包括入队(enqueue…
最新文章