首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

聊聊 CSS 隐藏元素 10 种实用方法

这是一个在初级 web 前端面试中可能常会提及问题,聊这个话题不仅仅只是讨论“茴”字有几种写法,更是能从一个简单问题中体现出你 CSS 边界能力,本文提炼十种最实用方法,希望对你有所帮助。...content-visibility: hidden; 设置元素内容可见性,设置元素本身不受影响。...hidden 隐藏效果与 display: none 类似,但实际浏览器只是跳过了内容渲染,保留着内容渲染状态,性能上有优势。...图片 这两种方法并不使元素本身消失,只是看不见了而已。 移行变换 scale(0) / skew(90deg) 通过2D变换来达到隐藏,占据空间,不可交互。...circle(0px) 利用裁剪创建元素显示区域,区域外会隐藏,占据空间,不可交互(这里我用 circle 是因为它参数最少) clip-path: circle(0px); 图片 z-index

74220

JAVA变量作用域

对于在作用域里定义名字,作用域同时决定“可见性”以及“存在时间”。在C,C++和Java里,作用域是由花括号位置决定。...所以假若使用下面这段代码: 1 { 2 String s = new String("a string"); 3 } /* 作用域终点 */ 那么句柄s,也就是引用会在作用域终点处消失。...然而,s指向String对象依然占据内存空间。在上面这段代码里,我们没有办法继续使用这个对象,因为指向它唯一一个句柄已经超出了作用域边界。...Java 有一个特别的“垃圾收集器”,它会查找用 new 创建所有对象,并辨别其中哪些不再被引用。随后,它会自动释放由那些闲置对象占据内存,以便能由新对象使用。...这意味我们根本不必操心内存回收问题。只需简单地创建对象,一旦不再需要它们,它们就会自动离去。这样做可防止在 C++里很常见一个编程问题:由于程序员忘记释放内存造成“内存溢出”。

1.3K40
您找到你想要的搜索结果了吗?
是的
没有找到

2022高频前端面试题——CSS篇

flex-basis属性定义在分配多余空间之前,项目占据主轴空间(main size)。...参考回答: 结构:display:none: 会让元素完全从渲染树中消失,渲染时候不占据任何空间, 不能点击, visibility: hidden:不会让元素从渲染树消失,渲染元素继续占据空间,只是内容不可见...,不能点击 opacity: 0: 不会让元素从渲染树消失,渲染元素继续占据空间,只是内容不可见,可以点击 继承:display: none和opacity: 0:是非继承属性,子孙节点消失由于元素从渲染树消失造成...降级(功能衰减)意味往回看;而渐进增强则意味朝前看,同时保证其根基处于安全地带。 22. CSS3 新增那些东西?...为了消除它们之间歧义,我们将其归为三大类: 完全隐藏:元素从渲染树中消失,不占据空间。 视觉上隐藏:屏幕中不可见,占据空间。 语义上隐藏:读屏软件不可读,但正常占据空。

1.4K30

图解浏览器

,如果从一个页面打开了一个新页面,新打开页面与当前页面属于同一个站点的话,那么新页面会复用当前页面的渲染进程。...新生区中使用了 Scavenge 算法,该算法会把新生区空间划分为两个区域,一半是对象区域,一半是空闲区域。 副垃圾回收工作流程如下: 首先对对象区域中垃圾进行标记。...主垃圾回收器 负责老生区中垃圾回收,老生区中对象占用空间大,对象存活时间长。 除了上文说到新生区中晋升对象,一些大对象也会直接被分配到老生区。...在上图中,有一个元素在一帧中占据一半。然后,在下一帧中,元素下移口高度 25%。...在上图中,最大口尺寸是高度,不稳定元素已经移动了口高度 25%,所以距离分数是 0.25。

1.5K30

阿里Java架构师面试高频300题:集合+JVM+Redis+并发+算法+框架等(含答案)

(或者 GC 对象判定方法) 垃圾回收优点和原理。并考虑 2 种回收机制 垃圾回收基本原理是什么?垃圾回收器可以马上回收内存?有什么办法主动通知虚拟机进行垃圾回收?...并发编程28题 Synchronized 用过,其原理是什么? 你刚才提到获取对象锁,这个“锁”到底是什么?如何确定对象锁? 什么是重入性,为什么说 Synchronized 是重入锁?...乐观锁实现原理又是什么?什么是 CAS,它有什么特性? 乐观锁一定就是好? 跟 Synchronized 相比,重入锁 ReentrantLock 其实现原理有什么不同?...除了 ReetrantLock,你接触过 JUC 中哪些并发工具? 请谈谈 ReadWriteLock 和 StampedLock。 如何让 Java 线程彼此同步?你了解过哪些同步器?...既然 volatile 能够保证线程间变量可见性,是不是就意味基于 volatile 变量运算就是并发安全? 请对比下 volatile 对比 Synchronized 异同。

90000

码仔漫画:来自JVM灵魂拷问:“你是什么垃圾?”(上)

,这样一直占据现实“内存”。...“活着”? 在0-1世界里,所谓“垃圾回收”,就是指收回那些不可能再被任何途径使用对象所占内存空间,释放了这些内存可以给需要对象使用。 那么JVM里是怎么来分?...或者说哪些对象是需要被回收? 主要是问一句:“活着”? 要回收,先要判断是不是可以回收,就是这个对象“活着”? 主要有两种算法来判断: 引用计数法 可达性分析法。 列个表看看~ ?...比如一把椅子靠背坏了,椅子轮子还是好,但这轮子不能拆下来挪为他用,所以椅子靠背和它轮子是互相引用,但是除了它们自己,没有外界引用它们。...按照上面的例子,坏了椅背和没坏轮子都属于椅子对象(object5),但是椅子本身不被使用,就没有引用到它们引用链。 ? ? ? 可以做GC Roots对象 这个大图是不是挺熟悉? ?

41440

「腾讯」Java高级工程师面试高频题:JVM+Redis+并发+算法+框架

(或者 GC 对象判定方法) 垃圾回收优点和原理。并考虑 2 种回收机制 垃圾回收基本原理是什么?垃圾回收器可以马上回收内存?有什么办法主动通知虚拟机进行垃圾回收?...并发编程28题 Synchronized 用过,其原理是什么? 你刚才提到获取对象锁,这个“锁”到底是什么?如何确定对象锁? 什么是重入性,为什么说 Synchronized 是重入锁?...乐观锁实现原理又是什么?什么是 CAS,它有什么特性? 乐观锁一定就是好? 跟 Synchronized 相比,重入锁 ReentrantLock 其实现原理有什么不同?...除了 ReetrantLock,你接触过 JUC 中哪些并发工具? 请谈谈 ReadWriteLock 和 StampedLock。 如何让 Java 线程彼此同步?你了解过哪些同步器?...既然 volatile 能够保证线程间变量可见性,是不是就意味基于 volatile 变量运算就是并发安全? 请对比下 volatile 对比 Synchronized 异同。

3K60

终于等到你,新虚拟键盘API 即将到来,快来先睹为快吧!

你能预料到会发生什么? 浏览器将向上滚动以使输入框在键盘上方,因此粘性标题和浮动按钮将消失。 它看起来与以下内容相似: 这是移动浏览器中默认行为。...在技术术语中,可见部分被称为口,而隐藏部分以及当前可见部分则是布局口。 主要问题是当虚拟键盘激活时,可视大小会缩小。...你可能会对由于标题和固定底部存在而导致空间减少感到困惑。我们可以使用垂直媒体查询来在垂直空间足够情况下显示标题。...请观看以下视频以了解问题感觉: 使用虚拟键盘 API 比较函数 根据虚拟键盘见性来改变按钮形态 这可能是一个无用用例或示例,但当一个功能被充分利用时,看到发生事情是很有趣。...我心里想,为什么不把CSS比较函数和虚拟键盘值混合在一起呢?我试了一下,结果真行。 请查看下面的视频: 这是怎么运作

29020

一线互联网大厂真实面试题集锦

(或者 GC 对象判定方法) 垃圾回收优点和原理。并考虑 2 种回收机制 垃圾回收基本原理是什么?垃圾回收器可以马上回收内存?有什么办法主动通知虚拟机进行垃圾回收?...并发编程28题 Synchronized 用过,其原理是什么? 你刚才提到获取对象锁,这个“锁”到底是什么?如何确定对象锁? 什么是重入性,为什么说 Synchronized 是重入锁?...乐观锁一定就是好? 跟 Synchronized 相比,重入锁 ReentrantLock 其实现原理有什么不同? 那么请谈谈 AQS 框架是怎么回事儿?...既然 volatile 能够保证线程间变量可见性,是不是就意味基于 volatile 变量运算就是并发安全? 请对比下 volatile 对比 Synchronized 异同。...你用 Spring Boot 实现? 什么是 Spring Profiles? 什么是 Spring Batch? 什么是 FreeMarker 模板?

83830

美团 Java 面试 154 道题分享!

(或者 GC 对象判定方法) 垃圾回收优点和原理。并考虑 2 种回收机制 垃圾回收基本原理是什么?垃圾回收器可以马上回收内存?有什么办法主动通知虚拟机进行垃圾回收?...并发编程28题 Synchronized 用过,其原理是什么? 你刚才提到获取对象锁,这个“锁”到底是什么?如何确定对象锁? 什么是重入性,为什么说 Synchronized 是重入锁?...乐观锁一定就是好? 跟 Synchronized 相比,重入锁 ReentrantLock 其实现原理有什么不同? 那么请谈谈 AQS 框架是怎么回事儿?...既然 volatile 能够保证线程间变量可见性,是不是就意味基于 volatile 变量运算就是并发安全? 请对比下 volatile 对比 Synchronized 异同。...你用 Spring Boot 实现? 什么是 Spring Profiles? 什么是 Spring Batch? 什么是 FreeMarker 模板?

1.3K40

美团JAVA面试154道题分享

(或者 GC 对象判定方法) 垃圾回收优点和原理。并考虑 2 种回收机制 垃圾回收基本原理是什么?垃圾回收器可以马上回收内存?有什么办法主动通知虚拟机进行垃圾回收?...并发编程28题 Synchronized 用过,其原理是什么? 你刚才提到获取对象锁,这个“锁”到底是什么?如何确定对象锁? 什么是重入性,为什么说 Synchronized 是重入锁?...乐观锁一定就是好? 跟 Synchronized 相比,重入锁 ReentrantLock 其实现原理有什么不同? 那么请谈谈 AQS 框架是怎么回事儿?...既然 volatile 能够保证线程间变量可见性,是不是就意味基于 volatile 变量运算就是并发安全? 请对比下 volatile 对比 Synchronized 异同。...你用 Spring Boot 实现? 什么是 Spring Profiles? 什么是 Spring Batch? 什么是 FreeMarker 模板?

1.8K21

字节一面:说说 Java 内存管理

一旦方法完成并返回,堆栈顶部就会弹出,并且活动范围会发生变化。 也许你注意到上图中显示多个堆栈内存。这是因为 Java 中堆栈内存是按线程分配。...Javadocs 声明,“所有对软访问对象软引用都保证在虚拟机抛出 OutOfMemoryError 之前已被清除。”...字符串是不可变,这意味每次对字符串执行操作时,实际上都会在堆上创建另一个对象。对于字符串,Java 在内存中管理一个字符串池。这意味 Java 尽可能存储和重用字符串。...老年代也可以被垃圾回收,但由于与伊甸园空间相比,它占据更大内存部分,因此不会经常发生。Metaspace (5)用于在 JVM 中存储有关已加载类元数据。...呈现图片实际上是一个 Java 8 应用程序。在 Java 8 之前,内存结构有点不同。元空间实际上称为 PermGen。空间。例如,在 Java 6 中,这个空间存储字符串池内存。

53520

Java基础11 对象引用

这里内存,指的是JVM (Java Virtual Machine)虚拟出来Java进程内存空间。内存堆和栈概念参考Linux从程序到进程。 ?...对象引用 栈读取速度比堆快,但栈上存储数据受到有效范围限制。在C语言中,当一次函数调用结束时,相应栈帧(stack frame)要删除,栈帧上存储参量和自动变量就消失。...我们必须寻求其他机制来复制对象。 垃圾回收 随着方法调用结束,引用和基本类型变量会被清空。由于对象存活于堆,所以对象所占据内存不会随着方法调用结束而清空。进程空间可能很快被不断创建对象占满。...Java内建有垃圾回收(garbage collection)机制,用于清空不再使用对象,以回收内存空间。...垃圾回收基本原则是,当存在引用指向某个对象时,那么该对象不会被回收; 当没有任何引用指向某个对象时,该对象被清空。它所占据空间回收。 ? 上图假设了某个时刻JVM中内存状态。

75980

《面试季》经典面试题-JVM篇(一)

,这个判断是非常花费时间,会严重影响GC效率 有分代管理机制,新创建对象存在新生代,经过多次回收仍然存活对象则放入老年代(默认是15次),因为新生代对象都是"朝生暮死",生命周期比较短,...在上面的堆结构图中可以看到,Hotspot虚拟机将新生代划分成了三块,一块占据最大空间Eden(伊甸)区和两块占据较小空间Survisor(幸存者)区,默认比例是:8:1:1。...元空间(MetaSpace): Hotspot虚拟机(也就是我们平常使用Oracle虚拟机)在JDK1.8版本移除了永久代,使用元空间替代它,元空间占用是系统内存,换个说法,只要系统内存空间充足...,方法区就会存在足够空间,但是,并不意味我们不需要对元空间大小做限制,因为它是占系统内存,如果无限大,不仅会影响系统其它应用使用,严重可能会导致系统崩溃。...2、元空间虚拟机不支持压缩操作. 六:程序计数器(Program Counter Register)   线程私有的,是占据一块小内存空间,作用是读取下一条需要执行字节码指令。

17910

Java基础:二、作用域(4)

作用域决定在其内定义明亮名见性和生命周期,在Java中,作用域由花括号位置决定 基本类型作用域 { int x = 12; // Only x available { int...q = 96; // Bath x & q available } // Only x available // q is "out of scope" } 对象作用域 Java...引用s在作用域终点就小时,然而,s指向String对象仍继续占据内存空间。...在上面的代码中,我们无法在这个作用域之后访问这个对象,因为对它唯一引用已超出了作用域范围,而对象回收,是通过Java垃圾回收器,它用来监视用new创建所有对象,并辨别哪些不会再被引用对象,随后...,释放这些对象内存空间,以便供其他新对象使用

28500

今年后端爆???

垃圾收集器会通过标记清除、标记复制、标记整理等算法来回收内存,将对象占用内存空间释放出来。...并发清除(Concurrent Sweep):清除未被标记对象,回收它们占用内存空间。 G1 垃圾收集器了解?...②、混合收集,在并发标记完成后,G1 会计算出哪些区域回收价值最高(也就是包含最多垃圾区域),然后优先回收这些区域。这种回收方式包括部分新生代区域和老年代区域。...选择回收成本低而收益高区域进行回收,可以提高回收效率和减少停顿时间。 ③、预测停顿,G1 在垃圾回收期间仍然需要「Stop the World」。...,线程 B 读取 x 时由于本地内存中 x 失效,就会从主内存中读取最新值,内存可见性达成!

11610

聊一聊 Python 中“垃圾”回收

- 内存泄漏也不是指你内存在物理上消失,而是意味代码在分配了某段内存后,因为设计错误,失去了对这段内存控制,从而造成了内存浪费。...循环回收 如果有两个对象,它们互相引用,并且不再被别的对象所引用,那么它们应该被垃圾回收?...图中把小黑圈视为全局变量,也就是把它作为root object,从小黑圈出发,对象1直达,那么它将被标记,对象2、3间接到达也会被标记,而4和5不可达,那么1、2、3就是活动对象,4和5是非活动对象会被...分代回收 分代回收是一种以空间换时间操作方式,Python将内存根据对象存活时间划分为不同集合,每个集合称为一个代,Python将内存分为了3“代”,分别为年轻代(第0代)、中年代(第1代)、老年代...垃圾回收是 Python 自带机制,用于自动释放不会再用到内存空间; 引用计数是其中最简单实现,不过切记,这只是充分非必要条件,因为循环引用需要通过不可达判定,来确定是否可以回收; Python

1.9K31

python学习9:Python 中“垃圾”回收

,所有的变量赋值都遵循对象引用机制。...- 内存泄漏也不是指你内存在物理上消失,而是意味代码在分配了某段内存后,因为设计错误,失去了对这段内存控制,从而造成了内存浪费。...循环回收 如果有两个对象,它们互相引用,并且不再被别的对象所引用,那么它们应该被垃圾回收?...图中把小黑圈视为全局变量,也就是把它作为root object,从小黑圈出发,对象1直达,那么它将被标记,对象2、3间接到达也会被标记,而4和5不可达,那么1、2、3就是活动对象,4和5是非活动对象会被...垃圾回收是 Python 自带机制,用于自动释放不会再用到内存空间; 引用计数是其中最简单实现,不过切记,这只是充分非必要条件,因为循环引用需要通过不可达判定,来确定是否可以回收; Python

45620
领券