【前端CSS面试题】2023前端最新版css模块,高频15问

news2025/6/8 13:42:17

1d43f75f092a4050a8ce31e2d85f6868.gif

🥳博       主:初映CY的前说(前端领域)

🌞个人信条:想要变成得到,中间还有做到!

🤘本文核心:博主收集的CSS面试题

目录

一、CSS必备面试题

1.CSS3新特性

2.CSS实现元素两个盒子垂直水平居中方法

3.display常用有那些值

4.CSS 常见的伪类和伪元素有哪些

5.BFC的理解

6.如何清除浮动

7.盒子模型的理解

8.flex布局怎么使用

9.用CSS画一个三角形

10.px/em/rem/vh/vw的区别

11.文本溢出的省略样式

12.CSS选择器权重如何计算

13.CSS中哪些属性不可继承

14.display:none与visibility:hidden区别

15.position的值有那些,分别有哪些作用


一、CSS必备面试题

1.CSS3新特性

  • box-sizing:css3 盒子模型
  • border-radius:圆角边框
  • box-shadow:盒子阴影
  • background-size:背景图片大小
  • transition:过渡
  • transform:转换(位移 旋转 缩放)
  • animation:动画
  • linear-gradient:线性渐变
  • flex布局 
  • 媒体查询多栏布局
  • 字体图标iconfont

2.CSS实现元素两个盒子垂直水平居中方法

方法1:利用定位

注意点:子绝父相,子设置父盒子宽高的50%,移动自身宽高的负一半

方法2:transform

注意点:使用的百分比transform: translate(-50%,-50%);

方法3:margin:auto与方位词为0

 注意点:子绝父相,子设置margin为auto,方位词为0

 方法4:display:table-cell

 注意点:父使用table-cell与转换text-allign(可以对行内块生效)

方法5:flex布局

 注意点:在父盒子中主轴侧轴都设置居中

3.display常用有那些值

  • inline 默认。此元素是行内元素,可以和其他元素存在同一行
  • block 此元素为块级元素,独占一行
  • none 此元素不会被显示,不占空间
  • inline-block 此元素为行内块元素

4.CSS 常见的伪类和伪元素有哪些

伪类本质上是为了弥补常规CSS选择器的不足,以便获取到更多信息

伪元素:产生了新的dom元素

1.常见的伪元素:

  • :link 应用于未被访问过的链接
  • :visited 应用于被访问过的链接
  • :hover 应用于鼠标悬停到的元素
  • :first-child 选择某元素第一个子元素
  • :last-child 选择最后一个元素

2.常见的伪元素

  • ::before 在元素内容的最前面添加新内容。
  • ::after 在元素内容的最后面添加新内容。

5.BFC的理解

什么是BFC(Block Formatting Contenxts) : 块级格式上下文

1.如何使用BFC?

  • float不是none (有float属性且不为none,此时盒子自动变成BFC盒子)

  • overflow属性不是visible(有overflow属性且不为visible,此时盒子自动变成BFC盒子)

  • position属性不是static和relative

  • display属性为以下值 : table-cell 、 inline-block 、 table-caption

2.解决了什么问题?

  • 清除元素内部浮动

  • 解决盒子margin合并问题(塌陷也可以解决)

6.如何清除浮动

1.使用before和after双伪元素清除浮动

2.给父元素添加overflow:hidden(转化成BFC)

3.给子元素添加空白标签给其设置属性 clear:both

4.给父元素添加一个高度

7.盒子模型的理解

  • 盒子模型组成有 4 部分,分别为:内容 内边距 外边距(一般不计入盒子实际宽度) 边框

  • 盒子模型有 2 种:标准盒子模型与怪异盒子模型

  • 标准盒子模型=content(内容)+border(边框)+padding(内边距)

  • 怪异盒子模型=content(内容)(已经包含了 padding 和 border)

  • css3 种可以通过设置 box-sizing 属性来完成标准或许怪异盒子模型之间的切换,怪异盒子模型:box-sizing: border-box;标准盒子模型:box-sizing:content-box

8.flex布局怎么使用

该方法使用之后不分行内、块级元素等都当作元素来对待

flex-direction:用于设置容器主轴的方向

flex-wrap:用于设置是否换行

justify-content:用于设置主轴子元素在容器中的对齐方式

align-items:用于设置侧轴的对齐方式

9.用CSS画一个三角形

方法:宽高为0,设置三个边框透明即可 

10.px/em/rem/vh/vw的区别

  • em/px/rem/vh/vw 都属于 css 的单位,这些单位可以分为相对单位、绝对单位
  • px:绝对单位,网页按照精确像素来显示.
  • em:相对单位,相对自身定义的 font-size 来计算,自身没有设置字体大小,相对父元素的字体大小
  • rem:相对单位,相对 html 根元素的字体大小来计算,常为 1rem=10px(font-size=62.5%)
  • vw/vh:相对视口大小布局,把屏幕平均划分为 100 等份. 

11.文本溢出的省略样式?

1.单行文本溢出换省略号:

​ white-space: nowrap; // 文字强制不换行
 text-overflow: ellipsis; // 文字溢出换省略号
 overflow: hidden; // 溢出文字隐藏

 2.多行文本溢出换省略号

​ display: -webkit-box; // 元素转换为弹性容器,在一行排列
 -webkit-box-orient: vertical; /_ 表示盒子对象的子元素的排列方式 _/
 -webkit-line-clamp: 3; /_ 限制文本的行数,表示文本第多少行省略 _/
 text-overflow: ellipsis;/_ 打点展示 _/
 overflow: hidden;/_ 超出部分进行隐藏 _/

12.CSS选择器权重如何计算

CSS权重排行:

!important > 行内样式 >ID选择器 > 类选择器 > 标签选择器 > 通配符 > 继承 > 浏览器默认属性

权重表:

选择器选择器权重
继承或者*0,0,0,0
元素选择器0,0,0,1
类选择器,伪类选择器0,0,1,0

ID选择器

0,1,0,0
行内样式1,0,0,0
important最大

 从左往右比较,需要相同权重比较后面其他项,谁权重高就用哪个CSS

13.CSS中哪些属性不可继承

  • display:元素的格式
  • 文本属性:vertical-align、text-decoration
  • 盒子模型属性:width、height、margin、border、padding
  • 背景属性:background、background-color、background-image
  • 注:元素的自带属性不可被继承,比如a标签的颜色

14.display:none与visibility:hidden区别

元素隐藏显示和显示最常用的是 display:none 与 visibility:hidden

display:none 设置该属性后,该元素下的元素会被隐藏,占据空间消失。会引起回流与重绘(区别见博主的javaScript面试题整理)

visibility:hidden 设置该属性后,下面的元素会被隐藏但是依旧占据了空间。会引起重绘

15.position的值有那些,分别有哪些作用

1.静态定位:static(默认)

默认值不脱离文档流top,right,bottom,left等属性不生效

2.绝对定位: absolute

绝对定位的关键是找对参照物。找到最近的一级带有带定位的父级元素进行位置移动如果找不到,那么相对于浏览器窗口进行定位注:设置了position:absolute;属性后,元素会脱离正常文档流,不在占据空间。

3.相对定位:relative

元素相对于自身位移的变化top,right,bottom,left。没有脱离文档流

4.固定定位

参照物:浏览器窗口,会脱离文档流

补充:固定定位与绝对定位的区别

当绝对定位和固定定位参照物都是浏览器窗口时的区别:当出现滚动条时,固定定位的元素不会跟随滚动条滚动,绝对定位会跟随滚动条滚动

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

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

相关文章

开发技术-Java switch case 的简单用法

文章目录1. integral-selector2. case3. break4. default5. 总结最近开发写 switch 发现有的技术点还没有掌握,在此做个记录。ON JAVA 中文版中,关于 switch 的描述为: switch 有时也被划归为一种选择语句。根据整数表达式的值,s…

Vue路由 —— vue-router

在上一篇内容讲到关于单页面组件的内容,同时也附上补充讲了关于单页面(SPA)和多页面(MPA)之间的优缺点,在本篇目当中就要来讲这个路由(vue-router),通过路由来实现页面的…

LCR测试仪测量电子元件的4种方法

当今电子元件的设计追求高性能, 而同时又致力于减少尺寸、 功耗和成本。 有效而准确的元件性能描述、设计、评估和制造过程中的测试,对于元件用户和生产厂家是至关重要的。电感、电容、电阻是电子线路中使用广泛的电子器件,在进行电子设计的基…

【图像处理OpenCV(C++版)】——4.5 全局直方图均衡化

前言: 😊😊😊欢迎来到本博客😊😊😊 🌟🌟🌟 本专栏主要结合OpenCV和C来实现一些基本的图像处理算法并详细解释各参数含义,适用于平时学习、工作快…

Vue中路由缓存及activated与deactivated的详解

目录前言一,路由缓存1.1 引子1.2 路由缓存的方法1.2.1 keep-alive1.2.2 keep-alive标签中的include属性1.2.3 include中多组件的配置二,activated与deactivated2.1 引子2.2 介绍activated与deactivated2.3 解决需求三,整体代码总结前言 在Vu…

【C++】C++11语法 ~ lambda 表达式

🌈欢迎来到C专栏~~ lambda 表达式 (꒪ꇴ꒪(꒪ꇴ꒪ )🐣,我是Scort目前状态:大三非科班啃C中🌍博客主页:张小姐的猫~江湖背景快上车🚘,握好方向盘跟我有一起打天下嘞!送给自己的一句鸡…

WPF常用UI库和图标库(MahApps、HandyControl、LiveCharts)

WPF常用UI库和图表库(MahApps、HandyControl、LiveCharts) WPF有很多开源免费的UI库,本文主要介绍常见的MahApps、HandyControl两个UI库;在开发过程中经常会涉及到图表的开发,本文主要介绍LiveCharts开源图表库。 UI…

Dell Precision T7910 工作站做RAID

1:开机根据提示按Ctrl-C 2:进入下面界面直接按回车。Adapter是LSISAS3008IR的卡。 3:回车来到下面的界面,我们选择RAID Propertie回车。 4:回车来到选择RAID级别的界面。根据自己的硬盘数量和需求进行选择。 5&#xf…

云原生丨Prometheus+Grafana监控 OpenGauss 数据库

文章目录前言一、Prometheus的介绍及安装1、Prometheus 介绍2、Prometheus 安装二、Grafana的介绍及安装1.Grafana 介绍2、Grafana 安装三、安装探针1、安装Node Exporter探针2.安装opengauss_exporter探针四、 访问Prometheus与Grafana1、 访问Prometheus2、 访问 Grafana五、…

React 组件性能优化

React 组件性能优化1. 组件卸载前进行清理操作2. PureComponent3. shouldComponentUpdate4. React.memo5. 使用组件懒加载6. 使用 Fragment 避免额外标记7. 不要使用内联函数定义8. 在构造函数中进行函数this绑定9. 类组件中的箭头函数10. 避免使用内联样式属性11. 优化条件渲染…

记录复现一下第一次awd

前言 之前没打过awd,这次学长组织了一场awd娱乐赛,两个web一个pwn,还有一个黑盒,只会web,第一次啥也不会瞎打,被打烂了,不会写脚本,手交flag的感觉真“不错”,感觉awd还…

NetIQ 高级认证框架

NetIQ 高级认证框架 NetIQ Advanced Authentication 提供无密码身份验证并提升安全访问,以满足这个可扩展的基于标准的身份验证框架的合规要求。 优点 1、灵活性不仅仅在于方法。平台和应用程序支持至关重要。将安全范围扩展到您的所有系统。 2、通过一套适合…

大数据技术之Hadoop(生产调优手册)

第1章 HDFS—核心参数 1.1 NameNode内存生产配置 1)NameNode内存计算 每个文件块大概占用150byte,一台服务器128G内存为例,能存储多少文件块呢? 128 * 1024 * 1024 * 1024 / 150Byte ≈ 9.1亿 G MB KB Byte 2)Hadoop…

百度笔记聚合怎么写

百度笔记聚合怎么写,#百度笔记聚合,#百度笔记优化,#百度笔记排名 小红书笔记收录大揭秘什么是笔记被收录? 你将你的笔记的标题复制,去搜索框搜索,如果能搜索到你的笔记出来,那就是被收录了。什…

C语言学习笔记-文件读写

C 文件读写 什么是文件? 文件是以计算机硬盘为载体存储在计算机上的信息集合。是数据源的一种,最主要的作用是保存数据。在程序设计中,我们可将文件分为两大类:程序文件和数据文件 (1)程序文件 包括源程…

浅谈前端安全和浏览器安全策略

前端安全 XSS(跨站脚本攻击) Cross-Site Scripting(跨站脚本攻击)简称 XSS,是一种代码注入攻击。攻击者通过在目标网站上注入恶意脚本,使之在用户的浏览器上运行。利用这些恶意脚本,攻击者可获取用户的敏感信息如 Co…

208:vue+openlayers 监听瓦片地图加载情况,200、403及其他状态码的处理示例

第208个 点击查看专栏目录 本示例的目的是介绍如何在vue+openlayer中加载XYZ地图,在load瓦片时,通过XMLHttpRequest进行捕捉,监听瓦片地址的loadend事件,针对不同的状态码,给出不同的处理结果。具体的方法参看源代码。 直接复制下面的 vue+openlayers源代码,操作2分钟即…

Conda安装到虚拟环境中的包在pycharm中不显示--pip下载的包都到了base环境中-Ubuntu20.04

问题 今天刚装了一个Ubuntu20.04系统,安装完Anaconda,虚拟环境的包也都下载好了,结果在pycharm中配置完解释器后,只有几个基础的包,切换到base环境后发现,这些包都被下载到了base环境中。 在网上查了各种…

《小猫猫大课堂》三轮5——动态内存管理(通讯录动态内存化)

宝子,你不点个赞吗?不评个论吗?不收个藏吗? 最后的最后,关注我,关注我,关注我,你会看到更多有趣的博客哦!!! 喵喵喵,你对我真的很重…

seata分布式事务之AT模式实践代码

seata框架 AT模式: 先添加seata需要的数据库相关表,AT模式需要在每个业务所属库下建undo_log表,用来回滚的,出错seata就会从这个表生成反向sql回退数据 建表语句: SET NAMES utf8mb4; SET FOREIGN_KEY_CHECKS 0; -…