CSS面试题及详细答案140道之(21-40)

前后端面试题》专栏集合了前后端各个知识模块的面试题,包括html,javascript,css,vue,react,java,Openlayers,leaflet,cesium,mapboxGL,threejs,nodejs,mangoDB,MySQL,Linux… 。

前后端面试题-专栏总目录

在这里插入图片描述

文章目录

  • 一、本文面试题目录
        • 21. 解释`nth-child()`伪类。
        • 22. 如何创建一个三角形?
        • 23. `transform`属性的主要用途是什么?
        • 24. `transition`与`animation`有何区别?
        • 25. 解释`keyframes`。
        • 26. 如何让背景图片固定不动?
        • 27. 解释`linear-gradient`函数。
        • 28. 什么是伪类和伪元素?
        • 29. 如何在CSS中实现圆角?
        • 30. 解释`box-shadow`属性。
        • 31. 在CSS中如何使用变量?
        • 32. 解释一下`calc()`函数的作用。
        • 33. 在CSS中如何设置字体图标?
        • 34. 什么是CSS Sprites?它们的好处是什么?
        • 35. 解释`content`属性的作用。
        • 36. 什么是CSS Reset和Normalize.css?
        • 37. 如何实现垂直居中的布局?
        • 38. 解释`inherit`, `initial`, 和 `unset` 关键字的区别。
        • 39. 如何创建一个带有圆角和阴影效果的按钮?
        • 40. 解释`flex-grow`, `flex-shrink`, 和 `flex-basis`?
  • 二、140道面试题目录列表

一、本文面试题目录

21. 解释nth-child()伪类。

答:nth-child(n)选择器用于匹配其父元素下的第n个子元素。可以使用公式如even, odd, 或者更复杂的表达式如2n+1来选择特定模式的子元素。例如:

li:nth-child(2n) { background-color: lightgray; } /* 选择偶数项 */
22. 如何创建一个三角形?

答:可以通过设置宽高为0,并利用边框颜色和透明度来创建视觉上的三角形效果。例如,创建一个向右的三角形:

.triangle {width: 0;height: 0;border-top: 50px solid transparent;border-bottom: 50px solid transparent;border-left: 100px solid black;
}
23. transform属性的主要用途是什么?

答:transform属性允许对元素执行旋转、缩放、倾斜或平移操作。例如:

div {transform: rotate(45deg); /* 顺时针旋转45度 */
}
24. transitionanimation有何区别?

答:transition用于在状态改变时创建平滑过渡效果,适用于简单的动画;而animation提供了更强大的功能,可以定义多个关键帧,创建复杂的动画序列。例如:

/* transition */
button:hover { transition: all 0.3s ease; }/* animation */
@keyframes bounce {0%, 100% { transform: translateY(0); }50% { transform: translateY(-20px); }
}
element { animation: bounce 2s infinite; }
25. 解释keyframes

答:@keyframes规则用于定义动画的关键帧集合,描述动画从开始到结束的变化过程。例如:

@keyframes slidein {from { margin-left: 100%; width: 300%; }to { margin-left: 0%; width: 100%; }
}
26. 如何让背景图片固定不动?

答:使用 background-attachment: fixed; 属性可以让背景图片相对于视口固定,不会随页面滚动而移动。例如:

body {background-image: url('image.jpg');background-attachment: fixed;
}
27. 解释linear-gradient函数。

答:linear-gradient()函数用于创建线性渐变背景,可以从一个颜色平滑过渡到另一个颜色。例如:

div {background: linear-gradient(to right, red, yellow);
}
28. 什么是伪类和伪元素?

答:伪类(如:hover)用于定义元素的状态(如悬停状态),而伪元素(如::before)用于插入虚拟内容或选择元素的部分内容(如首字母)。例如:

a:hover { color: blue; } /* 伪类 */
p::first-letter { font-size: 2em; } /* 伪元素 */
29. 如何在CSS中实现圆角?

答:使用 border-radius 属性可以轻松地给元素添加圆角。例如:

div {border-radius: 10px; /* 所有角均为10px的圆角 */
}
30. 解释box-shadow属性。

答:box-shadow属性用于给元素添加阴影效果,可以设置水平偏移、垂直偏移、模糊半径、扩散半径及颜色。例如:

div {box-shadow: 10px 10px 5px gray;
}

No.大剑师精品GIS教程推荐
0地图渲染基础- 【WebGL 教程】 - 【Canvas 教程】 - 【SVG 教程】
1Openlayers 【入门教程】 - 【源代码+示例 300+】
2Leaflet 【入门教程】 - 【源代码+图文示例 150+】
3MapboxGL【入门教程】 - 【源代码+图文示例150+】
4Cesium 【入门教程】 - 【源代码+综合教程 200+】
5threejs【中文API】 - 【源代码+图文示例200+】

31. 在CSS中如何使用变量?

答:通过CSS变量(也称为自定义属性),例如:

:root {--main-bg-color: #4d4e53;
}
body {background-color: var(--main-bg-color);
}
32. 解释一下calc()函数的作用。

答:calc()函数允许你在CSS中执行简单的数学运算来确定属性值。例如:

div {width: calc(100% - 100px); /* 宽度为100%减去100px */
}
33. 在CSS中如何设置字体图标?

答:通常使用Web字体(如Font Awesome)并通过@font-face引入,然后使用伪元素或直接在HTML中添加相应的类名来显示图标。例如:

@font-face {font-family: 'FontAwesome';src: url('fontawesome-webfont.eot');
}
.icon {font-family: 'FontAwesome';content: "\f007"; /* 显示特定图标 */
}
34. 什么是CSS Sprites?它们的好处是什么?

答:CSS Sprites是一种将多个小图标合并成一张大图的技术,减少HTTP请求次数,从而提高页面加载速度。好处包括减少服务器负载和加快页面渲染速度。

35. 解释content属性的作用。

答:主要用于:before:after伪元素中,用于插入生成的内容。例如:

span::before {content: "Before ";
}
36. 什么是CSS Reset和Normalize.css?

答:CSS Reset清除浏览器默认样式,使所有浏览器的默认样式一致;而Normalize.css保留有用的默认样式并标准化不同浏览器之间的差异,提供更一致的基础。

37. 如何实现垂直居中的布局?

答:可以使用Flexbox (align-items: center; justify-content: center;) 或者Grid (place-items: center;) 等方法。例如:

.container {display: flex;align-items: center;justify-content: center;height: 100vh;
}
38. 解释inherit, initial, 和 unset 关键字的区别。

答:inherit继承父级属性值;initial重置为默认值;unset如果属性可继承则表现如同inherit,否则如同initial。例如:

div {color: unset; /* 根据上下文决定是否继承 */
}
39. 如何创建一个带有圆角和阴影效果的按钮?

答:结合border-radiusbox-shadow属性,例如:

button {border-radius: 5px;box-shadow: 0px 2px 5px rgba(0, 0, 0, .2);padding: 10px 20px;
}
40. 解释flex-grow, flex-shrink, 和 flex-basis

答:这些是Flexbox中的属性:

  • flex-grow:定义项目的放大比例,默认为0。
  • flex-shrink:定义项目的缩小比例,默认为1。
  • flex-basis:定义项目的基础大小,默认为auto。例如:
.item {flex-grow: 1;flex-shrink: 1;flex-basis: auto;
}

二、140道面试题目录列表

文章序号CSS面试题140道
1CSS面试题及详细答案140道(1-20)
2CSS面试题及详细答案140道(21-40)
3CSS面试题及详细答案140道(41-60)
4CSS面试题及详细答案140道(61-80)
5CSS面试题及详细答案140道(81-100)
6CSS面试题及详细答案140道(101-120)
7CSS面试题及详细答案140道(121-140)

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

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

相关文章

篇四 tcp,udp客户端服务器编程模型

一 前言 本篇内容主要介绍tcp,udp客户端服务器编程的基础API和示例代码。 二 APIAPI用途使用方socket创建套接字,这是网络通信的桥梁Tcp,udp客户端,服务器bind绑定本地IP地址和端口Tcp,udp客户端,服务器listen监听端口&#xff0c…

ESP32学习笔记_Components(1)——使用LED Strip组件点亮LED灯带

LED strip ESP32-S3 的 RMT(Remote Control Transceiver,远程控制收发器)外设最初设计用于红外收发,但由于其数据格式的灵活性,RMT 可以扩展为通用的信号收发器,能够发送或接收多种类型的信号;…

无人机抛投模块分析

一、设计核心要点1. 结构轻量化与强度平衡 材料选择:主体采用航空铝、碳纤维复合材料,降低自重并保证承重强度。 机械传动优化:齿轮-齿条传动替代传统丝杆结构,简化机构并提升可靠性。 模块化设计:支持多仓位独立控…

【硬件-笔试面试题】硬件/电子工程师,笔试面试题-33,(知识点:二极管结温,热阻,二极管功耗计算)

目录 1、题目 2、解答 步骤一:明确热阻的相关公式 步骤二:计算二极管的功耗 步骤三:计算二极管的结温 3、相关知识点 一、热阻的定义 二、二极管功耗的计算 三、结温的计算 题目汇总版--链接: 【硬件-笔试面试题】硬件…

【LeetCode 热题 100】79. 单词搜索——回溯

Problem: 79. 单词搜索 给定一个 m x n 二维字符网格 board 和一个字符串单词 word 。如果 word 存在于网格中,返回 true ;否则,返回 false 。 单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格…

ARM SMMUv3控制器注册过程分析(八)

1.概述 ARM SMMUv3控制器初始化及设备树分析(七)中描述了IOMMU控制器初始化过程。SMMU驱动最后调用iommu_device_register将其注册到内核中,下面分析一下SMMU控制器注册过程中都做了那些工作。 如下图所示,SMMU控制器注册过程中…

Idefics3:构建和更好地理解视觉-语言模型:洞察与未来方向

温馨提示: 本篇文章已同步至"AI专题精讲" Idefics3:构建和更好地理解视觉-语言模型:洞察与未来方向 摘要 视觉-语言模型(VLMs)领域,接收图像和文本作为输入并输出文本的模型,正在快…

利用DeepSeek解决kdb+x进行tpch测试的几个问题及使用感受

上文其实没有成功运行tpch的22个标准查询中的任何一个,因为DeepSeek原始给出的导入语句有错,有一些表没有导入。 1.解决类型及长度问题导致的插入tbl文件到内存表失败。 kdbx的Reference card()提到的基本数据类型如下: Basic datatypes n …

SGLang 核心技术详解

SGLang 作为一个高性能的 LLM 服务框架,通过一系列先进的优化技术实现了卓越的推理性能。下面详细解释其核心功能组件: 1. RadixAttention 用于前缀缓存 核心概念 RadixAttention 是 SGLang 独创的前缀缓存机制,基于 Radix Tree(基…

精密全波整流电路(四)

精密全波整流电路(四) 背景说明 [[精密半波整流电路|半波整流]]虽然能实现交直流信号的转换,但是半波整流只能保留信号半个周期的能量,导致信号能量的利用率不高。 因此,在一些场合需要使用到全波整流电路。 同样的&…

深入解读Prometheus 2.33 Series Chunks压缩特性:原理与实践

深入解读Prometheus 2.33 Series Chunks压缩特性:原理与实践 随着监控指标规模不断增长,Prometheus的本地TSDB存储压力日益增大。为提升存储效率,Prometheus 2.33引入了Series Chunks压缩特性,对时间序列数据在写入和存储时进行深…

SpringBoot整合Liquibase提升数据库变更的可控性、安全性、自动化程度(最详细)

为什么要使用liquibase?- 团队协作与版本管理- 当多人(或多个小组)并行开发、对同一数据库结构进行变更时,如果仅靠手写 SQL 脚本,很 容易产生冲突或漏掉某些变更。- Liquibase 将所有 DDL/DML 操作以“changeset”形式纳入源码管…

数据写入因为汉字引发的异常

spark 数据写hive表,发生 查询分区异常问题 异常: 25107124 19 26.49 ERROR Hive: MelaException(message.Exception thrown when execuling quey. S ELECT DISTINCT ‘org apache.hadop.hive melastore .modelMpartion As"NUCLEUS TYPE,AONCREATE TIME,AO.LAST ACCE…

Springboot项目实现将文件上传到阿里云

Springboot项目实现将文件上传到阿里云 一、概述二、具体步骤 2.1引入阿里云工具 首先先建utils包,然后引入AliOSSUtils类,如下: package com.hechixueyuan.forestfiredetectionsystem.utils;import com.aliyun.oss.OSS; import com.aliyun.o…

如何理解 TCP 是字节流协议?详解

文章目录一、面向字节流二、粘包问题应用层如何解决粘包问题?一、面向字节流 使用 TCP socket 进行网络编程,Linux 内核会给每个 socket 都分配一个发送缓冲区和一个接收缓冲区 由于缓冲区的存在, TCP 读写不需要一一匹配,例如:…

面试问题总结——关于OpenCV(二)

最近小组在面试视觉算法工程师,顺便整理了一波关于OpenCV的面试题目。 有些知识点也不深入,对于写的不对的地方,欢迎指正。 目录 20.像素梯度如何计算? 21.关于开运算和闭运算的理解 22.开运算和闭运算有什么优缺点? 23.图像插值有哪些? 24.图像金字塔的原理 25.边缘检测…

目标导向的强化学习:问题定义与 HER 算法详解—强化学习(19)

目录 1、目标导向的强化学习:问题定义 1.1、 核心要素与符号定义 1.2、 核心问题:稀疏奖励困境 1.3、 学习目标 2、HER(Hindsight Experience Replay)算法 2.1、 HER 的核心逻辑 2.2、 算法步骤(结合 DDPG 举例…

2025 XYD Summer Camp 7.21 智灵班分班考 · Day1

智灵班分班考 Day1 时间线 8:00 在滨兰实验的远古机房中的一个键盘手感爆炸的电脑上开考。开 T1,推了推发现可以 segment tree 优化 dp,由于按空格需要很大的力气导致马蜂被迫改变。后来忍不住了顶着疼痛按空格。8:30 过了样例,但是没有大样…

基于多种主题分析、关键词提取算法的设计与实现【TF-IDF算法、LDA、NMF分解、BERT主题模型】

文章目录有需要本项目的代码或文档以及全部资源,或者部署调试可以私信博主一、项目背景二、研究目标与意义三、数据获取与处理四、文本分析与主题建模方法1. 传统方法探索2. 主题模型比较与优化3. 深度语义建模与聚类五、研究成果与应用价值六、总结与展望总结每文一…

MDC(Mapped Diagnostic Context) 的核心介绍与使用教程

关于日志框架中 MDC(Mapped Diagnostic Context) 的核心介绍与使用教程,结合其在分布式系统中的实际应用场景,分模块说明: 一、MDC 简介 MDC(映射诊断上下文) 是 SLF4J/Logback 提供的一种线程…