番外02:前端八股文面试题-CSS篇
一:CSS基础
1:CSS选择器及其优先级
2:display的属性值及其作用
属性值 | 作用 |
none | 元素不显示,并且会从文档流中移除 |
block | 块类型,默认元素为父元素宽度,可设置宽高,换行显示 |
inline | 行内元素类型,默认宽度为内容宽度,不可设置宽高,同行显示 |
inline-block | 默认宽度为内容宽度,可以设置宽高,同行显示 |
list-item | 像块类型元素一样显示,并添加样式列表标记 |
table | 此元素会作为块级表格来显示 |
inherit | 规定应该从父元素继承dispaly属性的值 |
3:display的block、inline和inline-block的区别
(1)block:会独占一行 🔜 多个元素另起一行 🔜 可以设置width,height,margin和padding属性
(2)inline:元素不会独占一行 🔜 设置width,height无效 🔜 水平方向可设置margin和padding 🔜 垂直方向不可以。
(3)inline-block:对象设置为inline对象 🔜 对象的内容作为block呈现
(4)行内元素和块级元素的特点
1):行内元素
- 设置宽高无效
- 可以设置水平方向的margin和padding,垂直方向不可以
- 不会自动换行
2):块级元素
- 可以设置宽高
- 设置margin和padding都有效
- 可以自动换行
- 多个块状,默认排列从上到下
4:隐藏元素的方法有哪些
属性值 | 占据空间 | 响应绑定监听事件 |
display:none | 不会在页面中占据位置 | 不响应 |
visibility:hidden | 占据空间 | 不响应 |
opacity:0 | 占据空间 | 响应 |
position:absolute | 元素移除可视区域 | - |
z-index:负值 | 元素被其余元素遮盖 | - |
clip/clip-path | 占据位置 | 不响应 |
transform:scale(0,0) | 占据位置 | 不响应 |
5:link和@import的区别
两者都是外部引用CSS的方式,区别如下:
link | @import |
XHTML标签,除了加载CSS外,还可以定义RSS等事务 | 只能加载CSS |
引用CSS时,页面载入时同时加载 | 页面完全载入以后加载 |
无兼容问题 | 低版本浏览器不支持 |
支持使用JavaScript控制DOM去改变样式 | 不支持 |
6:display:none与visibility:hidden的区别
两个属性都是让元素隐藏,不可见
(1)在渲染树中
display:none 元素从渲染树中消失,不会占据空间
visibility:hidden 不会让元素从渲染树中消失,会占据响应的空间
(2)是否继承属性
display:none 非继承属性 🔜 子孙节点会随着父节点从渲染树消失 🔜 修改子节点的属性也无法显示。
visibility:hidden 继承属性 🔜 子孙节点消失继承了hidden 🔜 设置visibility:visible
可以让子孙节点显示.
(3)修改文档流 🔜 display会重排 🔜 visibility会重绘
(4)使用读屏器 🔜 display:none的内容不会被读取 🔜 visibility:hidden的内容会读取
7:伪元素和伪类的区别和作用?
伪元素:内容元素的前后插入额外的元素和样式,这些元素并不会在文档中生成
伪类:将特殊的效果添加到特定选择器上
总结:伪类是通过在元素选择器上加⼊伪类改变元素状态,⽽伪元素通过对元素的操作进⾏对元素的改变。
8: 对盒模型的理解
CSS3中盒模型分为两种:标准盒子模型、IE盒子模型
四部分组成:margin,border,padding,content
标准盒模型和IE盒模型的区别在于设置width和height时,所对应的范围不同:
- 标准盒模型的width和height属性的范围只包含了content,
- IE盒模型的width和height属性的范围包含了border、padding和content。
可以通过修改元素的box-sizing属性来改变元素的盒模型
-
box-sizeing: content-box
表示标准盒模型(默认值) -
box-sizeing: border-box
表示IE盒模型(怪异盒模型)
9:margin和padding的使用场景
(1)需要在border外侧添加空白,且空白处不需要背景(色)时:margin
(2)需要在border内测添加空白,且空白处需要背景(色)时:padding
10:z-index属性在什么情况下会失效
(1)父元素position为relative时,子元素的z-index失效。
(2)元素没有设置position,属性为非static属性
(3)元素设置z-index的同时还设置了float浮动
二:页面布局
1:常见的CSS布局单位
px,%,em.rem,vw/vh
(1)px:页面布局的基础 🔜 终端屏幕所能显示的最小区域
(2)%:可以使得浏览器组件中的宽高 🔜 随着浏览器的变化而变化
(3)em,rem:
em:相对于父元素
rem:相对于根元素
(4)vw / vh与视图窗口有关的单位
2:px,em,rem的区别及使用场景
px:固定的像素,一旦设置了就无法适应页面大小而改变
em和rem相对于px更具灵活性 🔜 相对长度单位 🔜 长度不是固定的,更适用于响应式布局
em相对于父元素,rem相对于根元素
3:两栏布局的实现
左边一栏宽度固定,右边一栏宽度自适应
(1)浮动 🔜 左边元素宽度设置200px,向左浮动 🔜 右边元素margin-left:200px,宽度auto
(2)flex布局 🔜 左边固定宽度200px 🔜 右边设置为flex:1
4:三栏布局的实现
左右两栏宽度固定,中间自适应布局
(1)绝对定位:左右两栏设置为绝对定位,中间设置对应方向大小的margin的值
(2)flex布局:左右栏设置固定大小,中间一栏设置flex:1
(3)利用浮动:左右栏设置固定大小 + 设置对应方向的浮动 🔜 中间一栏设置左右两个方向的margin
5:水平垂直居中的实现
(1)绝对定位:top:50%,left:50%;transform:translate(-50%,-50%)
(2)绝对定位:四方向设置为0 🔜 margin:auto(宽高固定)
(3)flex布局:align-item:center / justify-content:center
6:对flex布局的理解及其使用场景
(1)flex-direction属性决定主轴的方向
(2)flex-wrap:一条轴线排不下,如何换行
(3)flex-flow:flex-direction和flex-wrap属性的简写形式
(4)justify-content:定义了项目在主轴上的对齐方式
(5)align-items:项目在交叉轴上的如何对齐
(6)align-content:多根轴线的对齐方式
flex布局是CSS3新增的一种布局方式,可以通过将一个元素的display属性值设置为flex从而使它成为一个flex容器,它的所有子元素都会成为它的项目。一个容器默认有两条轴:一个是水平的主轴,一个是与主轴垂直的交叉轴。可以使用flex-direction来指定主轴的方向。可以使用justify-content来指定元素在主轴上的排列方式,使用align-items来指定元素在交叉轴上的排列方式。还可以使用flex-wrap来规定当一行排列不下时的换行方式。对于容器中的项目,可以使用order属性来指定项目的排列顺序,还可以使用flex-grow来指定当排列空间有剩余的时候,项目的放大比例,还可以使用flex-shrink来指定当排列空间不足时,项目的缩小比例。
相关文章:

番外02:前端八股文面试题-CSS篇
一:CSS基础 1:CSS选择器及其优先级 2:display的属性值及其作用 属性值作用none元素不显示,并且会从文档流中移除block块类型,默认元素为父元素宽度,可设置宽高,换行显示inline行内元素类型&a…...

Redis Copilot:基于Redis为AI打造的副驾工具
我们最近发布了Redis Copilot,以帮助开发者更快地使用Redis构建应用。我们的使命是使应用程序快速运行,并简化构建过程。为此,Redis Copilot作为您的AI助手,能够让您更迅速地完成与Redis相关的任务。您今天就可以在Redis Insight中…...

JavaScript遍历对象的7种方式
注:纯手打,如有错误欢迎评论区交流! 转载请注明出处:https://blog.csdn.net/testleaf/article/details/145523427 编写此文是为了更好地学习前端知识,如果损害了有关人的利益,请联系删除! 本文章…...

如何避免NACK重传风暴
策略 1,10 次 NACK 模块对同一包号的最大请求次数,超过这个最大次数限制,会把该包号移出 nack_list,放弃对该包的重传请求。 策略 2,20 毫秒 NACK 模块每隔 20 毫秒批量处理 nack_list,获取一批请求包号…...

并发工具CountDownLatch、CyclicBarrier、Semaphore
文章目录 学习链接CountDownLatchCountDownLatch类的作用类的主要方法介绍图解await和countDown方法两个典型用法注意点总结示例CountDownLatchDemo1CountDownLatchDemo2CountDownLatchDemo1And2 CyclicBarrierCyclicBarrier循环栅栏CyclicBarrier和CountDownLatch的区别示例Cy…...

十二. Redis 集群操作配置(超详细配图,配截图详细说明)
十二. Redis 集群操作配置(超详细配图,配截图详细说明) 文章目录 十二. Redis 集群操作配置(超详细配图,配截图详细说明)1. 为什么需要集群-高可用性2. 集群概述(及其搭建)3. Redis 集群的使用4. Redis 集群故障恢复5. Redis 集群的 Jedis 开发(使用Java…...

网络工程师 (26)TCP/IP体系结构
一、层次 四层: 网络接口层:TCP/IP协议的最底层,负责网络层与硬件设备间的联系。该层协议非常多,包括逻辑链路和媒体访问控制,负责与物理传输的连接媒介打交道,主要功能是接收数据报,并把接收到…...

TensorFlow域对抗训练DANN神经网络分析MNIST与Blobs数据集梯度反转层提升目标域适应能力可视化...
全文链接:https://tecdat.cn/?p39656 本文围绕基于TensorFlow实现的神经网络对抗训练域适应方法展开研究。详细介绍了梯度反转层的原理与实现,通过MNIST和Blobs等数据集进行实验,对比了不同训练方式(仅源域训练、域对抗训练等&am…...

保姆级教程--DeepSeek部署
以DeepSeek-R1或其他类似模型为例,涵盖环境配置、代码部署和运行测试的全流程: 准备工作 1. 注册 Cloud Studio - 访问 [Cloud Studio 官网](https://cloudstudio.net/),使用腾讯云账号登录。 - 完成实名认证(如需长期使用…...

机器学习之心的创作纪念日
机缘 今天,是我成为创作者的第1460天。 在这段时间里,获得了很大的成长。 虽然日常忙碌但还在坚持创作、初心还在。 日常 创作已经成为我生活的一部分,尤其是在我的工作中,创作是不可或缺的,创作都是核心能力之一。…...

VeryReport和FastReport两款报表软件深度分析对比
在当今数据驱动的商业环境中,报表软件已经成为企业管理和数据分析的重要工具。无论是中小型企业还是大型企业,都需要依赖高效的报表工具来快速生成、分析和展示数据。市面上有许多报表工具,其中VeryReport和FastReport是两款备受关注的报表软…...

libtorch的c++,加载*.pth
一、转换模型为TorchScript 前提:python只保存了参数,没存结构 要在C中使用libtorch(PyTorch的C接口),读取和加载通过torch.save保存的模型( torch.save(pdn.state_dict()这种方式,只保存了…...

去除 RequestTemplate 对象中的指定请求头
目录 目标实现获取 RequestTemplate 对象去除请求头 目标 去除 RequestTemplate 对象中的指定请求头,如 Authorization 等。 实现 获取 RequestTemplate 对象 获取 RequestTemplate 对象的方式有很多种,如 通过 feign 虚拟客户端配置器: …...

b s架构 网络安全 网络安全架构分析
目录 文章目录 目录网络安全逻辑架构 微分段(Micro-segmentation)防火墙即服务(Firewall asa Service ,FWaaS)安全网络网关(Secure web gateway)净化域名系统(Sanitized Domain Na…...

【DeepSeek论文精读】2. DeepSeek LLM:以长期主义扩展开源语言模型
欢迎关注[【AIGC论文精读】](https://blog.csdn.net/youcans/category_12321605.html)原创作品 【DeepSeek论文精读】1. 从 DeepSeek LLM 到 DeepSeek R1 【DeepSeek论文精读】2. DeepSeek LLM:以长期主义扩展开源语言模型 【DeepSeek论文精读】3. DeepS…...

Spring Boot和SpringMVC的关系
Spring Boot和SpringMVC都是Spring框架的一部分,但它们的作用和使用方式有所不同。为了更好地理解它们的关系,我们可以从以下几个方面进行详细说明: 1. SpringBoot的作用 SpringBoot是一个开源框架,它的目的是简化Spring应用程序…...

java基础4(黑马)
一、方法 1.定义 方法:是一种语法结构,它可以把一段代码封装成一个功能,以便重复使用。 方法的完整格式: package cn.chang.define;public class MethodDemo1 {public static void main(String[] args) {// 目标:掌…...

nodejs - vue 视频切片上传,本地正常,线上环境导致磁盘爆满bug
nodejs 视频切片上传,本地正常,线上环境导致磁盘爆满bug 原因: 然后在每隔一分钟执行du -sh ls ,发现文件变得越来越大,即文件下的mp4文件越来越大 最后导致磁盘直接爆满 排查原因 1、尝试将m3u8文件夹下的所有视…...

注意力机制(Attention Mechanism)和Transformer模型的区别与联系
注意力机制(Attention Mechanism) 和 Transformer 模型 是深度学习领域中的两个重要概念,虽然它们紧密相关,但有着明显的区别。下面我们将从 定义、作用、结构 和 应用 等多个维度来分析这两者的区别与联系。 1. 定义 注意力机制(Attention Mechanism): 注意力机制是一…...

C++,设计模式,【单例模式】
文章目录 一、模式定义与核心价值二、模式结构解析三、关键实现技术演进1. 基础版(非线程安全)2. 线程安全版(双重检查锁)3. 现代C++实现(C++11起)四、实战案例:全局日志管理器五、模式优缺点深度分析✅ 核心优势⚠️ 潜在缺陷六、典型应用场景七、高级实现技巧1. 模板化…...

C++:类和对象初识
C:类和对象初识 前言类的引入与定义引入定义类的两种定义方法1. 声明和定义全部放在类体中2. 声明和定义分离式 类的成员变量命名规则 类的访问限定符及封装访问限定符封装 类的作用域与实例化类的作用域类实例化实例化方式: 类对象模型类对象的大小存储…...

官网下载Redis指南
1.访问官网 https://redis.io/downloads/#stack 2.点击redis图标 拉到下面点击download 在新页面拉到最下面,点击install from source 找到需要的大版本后,点击releases page 最后点击下载需要的版本号即可...

活动预告 |【Part1】 Azure 在线技术公开课:迁移和保护 Windows Server 和 SQL Server 工作负载
课程介绍 通过 Microsoft Learn 免费参加 Microsoft Azure 在线技术公开课,掌握创造新机遇所需的技能,加快对 Microsoft 云技术的了解。参加我们举办的“迁移和保护 Windows Server 和 SQL Server 工作负载”活动,了解 Azure 如何为将工作负…...

【Linux系统编程】五、进程创建 -- fork()
文章目录 前言Ⅰ. 重温fork函数一、fork()的概念二、如何理解fork()有两个返回值 Ⅱ.fork的常规用法Ⅲ. fork调用失败的原因Ⅳ. 写时拷贝为什么存在写时拷贝❓❓❓ 前言 现阶段我们知道进程创建有如下两种方式,其实包括在以后的学习中这两种方式也是最常见的&#…...

深入解析 STM32 GPIO:结构、配置与应用实践
理解 GPIO 的工作原理和配置方法是掌握 STM32 开发的基础,后续的外设(如定时器、ADC、通信接口)都依赖于 GPIO 的正确配置。 目录 一、GPIO 的基本概念 二、GPIO 的主要功能 三、GPIO 的内部结构 四、GPIO 的工作模式 1. 输入模式 2. 输出模式 3. 复用功能模式 4. 模…...

深入探究 C++17 std::is_invocable
文章目录 一、引言二、std::is_invocable 概述代码示例输出结果 三、std::is_invocable 的工作原理简化实现示例 四、std::is_invocable 的相关变体1. std::is_invocable_r2. std::is_nothrow_invocable 和 std::is_nothrow_invocable_r 五、使用场景1. 模板元编程2. 泛型算法 …...

Vmware网络模式
一、Vmware虚拟网络 Vmware共支持创建20个虚拟网络,相当于现实生活的交换机,名称vmnet0-vmnet19 没创建一个虚拟网络。对应在物理机会自动生成相应的虚拟网卡 该虚拟网卡用于和对应的虚拟网络中的虚拟机通信 二、虚拟网络的工作模式 1、nat模式 …...

神经辐射场(NeRF):从2D图像到3D场景的革命性重建
神经辐射场(NeRF):从2D图像到3D场景的革命性重建 引言 在计算机视觉和图形学领域,如何从有限的2D图像中高效且准确地重建真实的3D场景,一直是一个重要的研究方向。传统的3D重建方法,如多视角几何、点云重建…...

深入解析AI技术原理
序言 在当今数字化时代,人工智能(AI)已经成为科技领域最炙手可热的话题之一。从智能家居到自动驾驶汽车,从医疗诊断到金融风险预测,AI的应用无处不在。然而,对于许多人来说,AI背后的技术原理仍然充满了神秘色彩。本文将深入探讨AI的核心技术原理,从基础理论到前…...

PDF 2.0 的新特性
近来闲来无事,就想着把PDF的新标准研究研究,略有所得,和大家分享一下。 PDF 2.0的主要新特性包括更高级的加密算法、改进的数字签名和权限管理机制、增强了对非罗马字符的支持,以及扩展了标签架构和3D建模语言“PRC”的支…...