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

news2025/7/19 11:32:23

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/331893.html

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

相关文章

内网穿透-frp

frp的作用 1.利用处于内网或防火墙后的机器,对外网环境提供 http 或 https 服务。 2.对于 http, https 服务支持基于域名的虚拟主机,支持自定义域名绑定,使多个域名可以共用一个80端口。 3.利用处于内网或防火墙后的机器,对外网环…

【Python】Python学习笔记(二)基本输入输出

Python娘来源:https://next.rikunabi.com/tech/docs/ct_s03600.jsp?p002412 目录print()函数不进行自动换行的print()函数打印输出多个字符串只进行换行input()函数使用format方法格式化字符串字符串与数值转换字符串转换为数值数值转换为字符串总结参考资料print(…

SpringCloud(13)— 分布式缓存(Redis集群)

分布式缓存(Redis集群) 前言 单节点Redis的问题 1.数据丢失 Redis基于内存存储,服务器重启可能会导致数据丢失 2.并发能力 单节点Redis的并发能力虽然已经很不错,但是依然无法满足大型的高并发场景 3.故障恢复 如果Redis宕机,则服务将不…

C# 调用Python

一、简介 IronPython 是一种在 NET 和 Mono 上实现的 Python 语言,由 Jim Hugunin(同时也是 Jython 创造者)所创造。 Python是一种跨平台的计算机程序设计语言。 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。 Python是…

电子器件系列31:ULN2003 芯片详解

主体转自: uln2003驱动电路_身在江湖的郭大侠的博客-CSDN博客_uln2003 一、uln2003有什么作用 ULN2003是大电流驱动阵列,多用于单片机、智能仪表、PLC、数字量输出卡等控制电路中。可直接驱动继电器等负载。 输入5VTTL电平,输出可达500mA/…

167. 两数之和 II - 输入有序数组

给你一个下标从 1 开始的整数数组 numbers &#xff0c;该数组已按 非递减顺序排列 &#xff0c;请你从数组中找出满足相加之和等于目标数 target 的两个数。如果设这两个数分别是 numbers[index1] 和 numbers[index2] &#xff0c;则 1 < index1 < index2 < numbers…

每天一道大厂SQL题【Day07】教育领域SQL实战

每天一道大厂SQL题【Day07】教育领域SQL实战 大家好&#xff0c;我是Maynor。相信大家和我一样&#xff0c;都有一个大厂梦&#xff0c;作为一名资深大数据选手&#xff0c;深知SQL重要性&#xff0c;接下来我准备用100天时间&#xff0c;基于大数据岗面试中的经典SQL题&#…

C进阶实战通讯录

C语言实战通讯录C语言实战通讯录前言整理逻辑整体框架初始化通讯录添加联系人显示联系人删除联系人查找联系人修改联系人销毁通讯录保存联系人信息加载联系人信息所有源码&#xff1a;test.c&#xff1a;Contact.h:Contact.c:C语言实战通讯录 前言 这次用C语言实现通讯录是一…

Nginx_4

Nginx负载均衡 负载均衡概述 早期的网站流量和业务功能都比较简单&#xff0c;单台服务器足以满足基本的需求&#xff0c;但是随着互联网的发展&#xff0c;业务流量越来越大并且业务逻辑也跟着越来越复杂&#xff0c;单台服务器的性能及单点故障问题就凸显出来了&#xff0c…

VHDL语言基础-组合逻辑电路-基本逻辑门电路

数字电路中的四种基本操作是与、或、非及触发器操作&#xff0c;前三种为组合电路&#xff0c;后一种为时序电路。与非 、或非和异或的操作仍然是与、或、非的基本操作。与、或、非、与非、或非和异或等基本逻辑门电路为常用的门电路。 二输入与非门是一种常用的简单逻辑电路&a…

当下最流行的 ChatGPT :前世今生

GPT 不是凭空而出&#xff0c;它是经过了很多人的努力&#xff0c;以及很长一段时间的演化得来的。因此&#xff0c;梳理一下 GPT 的庞大 “家族” 还是很有必要的&#xff0c;看看他继承了什么&#xff0c;学习了什么&#xff0c;又改进了什么&#xff0c;这样也能更好地理解 …

C++设计模式(11)——桥接模式

亦称&#xff1a; Bridge 意图 桥接模式是一种结构型设计模式&#xff0c; 可将一个大类或一系列紧密相关的类拆分为抽象和实现两个独立的层次结构&#xff0c; 从而能在开发时分别使用。 问题 抽象&#xff1f; 实现&#xff1f; 听上去挺吓人&#xff1f; 让我们慢慢来&…

linux笔记 diff及patch的制作与使用

相关命令展示 为方便查阅博客使用&#xff0c;预先展示相关命令 diff命令 diff -uN old.txt new.txt > patch_test.patch单个文件&#xff0c;不需要使用-r参数 diff 选项参数 旧文件&#xff08;夹&#xff09; 新文件&#xff08;夹&#xff09; > 补丁diff命令的常…

PS快速入门系列

01-界面构成 1菜单栏 2工具箱 3工县属性栏 4悬浮面板 5画布 ctr1N新建对话框&#xff08;针对画布进行设置&#xff09; 打开对话框&#xff1a;ctrl0&#xff08;字母&#xff09; 画布三种显示方式切换&#xff1a;F 隐藏工具箱&#xff0c;工具属性栏&#xff0c;悬浮面板…

Linux perf probe 的使用(三)

文章目录前言一、Dynamic Tracing二、kprobes2.1 perf kprobe 的使用2.2 kprobe Arguments3.3 tcp_sendmsg()3.3.1 Kernel: tcp_sendmsg()3.3.2 Kernel: tcp_sendmsg() with size3.3.2 Kernel: tcp_sendmsg() line number and local variable三、uprobes的使用3.1 perf uprobe …

PTA L1-043 阅览室

前言&#xff1a;内容包括四大模块&#xff1a;题目&#xff0c;代码实现&#xff0c;大致思路&#xff0c;代码解读 题目&#xff1a; 天梯图书阅览室请你编写一个简单的图书借阅统计程序。当读者借书时&#xff0c;管理员输入书号并按下S键&#xff0c;程序开始计时&#xf…

Java NIO学习(一):Java NIO概述

一、 IO 概述IO 的操作方式通常分为几种&#xff1a;同步阻塞 BIO、同步非阻塞 NIO、异步非阻塞 AIO。&#xff08;1&#xff09;在 JDK1.4 之前&#xff0c;我们建立网络连接的时候采用的是 BIO 模式。&#xff08;2&#xff09;Java NIO&#xff08;New IO 或 Non Blocking I…

【C语言】速刷日记

这里总结10道C语言经典题型问题&#xff0c;有兴趣可以刷刷看。1.递归问题12.递归问题23.短路求值问题4.字符数组定义问题5.二维数组元素访问问题6.指针问题7.二维数组地址问题8.前置与后置问题9.求1的个数问题10.求1的个数移位操作符1.递归问题1 给定 fun 函数如下&#xff0…

Fluid-架构详细解析

前言Fluid 是云原生分布式数据集编排和加速引擎&#xff0c;主要服务于云原生场景下的数据密集型应用&#xff0c;例如大数据应用、AI 应用等。其目标是为AI与大数据云原生应用提供一层高效便捷的数据抽象&#xff0c;将数据从存储抽象出来&#xff0c;以便实现&#xff1a;通过…

服务调用分布式session

目录一、nginx动静分离二、服务调用1、创建配置zmall-cart购物车模块2、创建配置zmall-order订单模块3、服务调用三、spring session实战1、什么是Spring Session2、为什么要使用Spring Session3、错误案例展示4、配置spring-session四、二级域名问题五、用户登录一、nginx动静…