css的calc方法主要用途是啥呢?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了css的calc方法主要用途是啥呢?相关的知识,希望对你有一定的参考价值。

1. 执行数学运算
CSS3 的 calc() 函数允许我们在属性值中执行数学操作。例如,我们可以使用 calc() 指定一个元素宽的固定像素值为多个数值的和。
2. 实现居中效果
使用 calc() 给我们提供另一个垂直居中元素的解决方案。如果我们知道元素的尺寸,一个典型的解决方案是使用负外边距移动自身距离高与宽的一半
3. 创建根栅格尺寸
使用 rem,calc() 函数能够用来创建一个基于视口的栅格。我们可以设置根元素的字体大小作为视口宽度的一部分。
4. 提高计算清晰度

使用 calc(),我们还能做很多的事情,它是 CSS 中很有用的新特性之一。
参考技术A calc()函数是CSS中少有的可以实现动态计算功能的方法,通常这类计算都需要javascript语言脚本来实现。而calc()函数通过CSS方式实现数学逻辑计算,可以在同样的计算效果下,大幅度减少JS语言的使用,实现编程的简洁和简便。 参考技术B 用于计算父容器的宽、高,实现动态控制。个人愚见!

Javassist。主要思想是啥,真正的用途是啥?

【中文标题】Javassist。主要思想是啥,真正的用途是啥?【英文标题】:Javassist. What is the main idea and where real use?Javassist。主要思想是什么,真正的用途是什么? 【发布时间】:2011-11-09 23:39:49 【问题描述】:

我知道 Javassist 是一个 Java 库,它提供了一种操作应用程序的 Java 字节码的方法。

好的,但为什么我们需要操作字节码?

有什么真实的例子吗? 任何真正的应用程序,javassist 在哪里使用?

【问题讨论】:

【参考方案1】:

字节码操作是有用且必要的,尤其是当您没有某些项目的源代码时。假设您只有某个项目的字节码(如 jar 文件),但您想以某种方式更改代码的行为,字节码操作库可以在这种情况下提供帮助。字节码操作的好处是你不需要重新编译你的代码,操作后可以直接执行。

我使用字节码操作来进行一些程序分析。给定一个库,我想知道在运行时调用了库中的哪些方法。我可以使用字节码操作在方法的开头插入System.out.println("method_name"); 语句。所以在运行时,它会打印出调用了哪些方法。

一些字节码操作库是:

ASM ByteBuddy BCEL

【讨论】:

关于实际项目:我知道,playFramework 使用了 Javaassist。在这种情况下,我们有源代码......而且我认为,Hibernate 也使用 javassist。【参考方案2】:

一个常见的应用是在运行时生成代理类,即在运行时创建一个子类来拦截所有的方法调用。例子:

Hibernate 使用代理拦截实体上的方法调用以实现延迟加载,即在第一次访问时从数据库中获取对象。

Spring 框架 uses Proxies to implement its AOP support,其中包括支持声明式事务。它还使用代理来执行适当的范围界定。

EJB 使用代理来实现容器管理的事务、授权检查以及应用用户定义的拦截器。

CDI 实现还必须代理托管 bean 以确保正确的作用域。我怀疑他们也使用了字节码工程库。

最近使用 Javassist 实现了方法返回值的透明缓存,通过拦截所有方法调用并仅在第一次调用时委托给超级实现。

注意java.lang.reflect.Proxy可以在运行时生成代理类,但只能实现接口,不能扩展类。以上所有用例都需要类的代理。

【讨论】:

【参考方案3】:

ASM 项目的用户页面列出了几十个使用 ASM 进行字节码分析和操作的广泛使用的 Java 项目和框架。 http://asm.ow2.org/users.html

【讨论】:

【参考方案4】:

扩展 Meriton 的答案并提供一个真实的使用示例:

Hibernate-core (5.2.8.Final) 使用 javaassit (3.20.0-GA):

https://mvnrepository.com/artifact/org.hibernate/hibernate-core/5.2.8.Final

【讨论】:

以上是关于css的calc方法主要用途是啥呢?的主要内容,如果未能解决你的问题,请参考以下文章

Javassist。主要思想是啥,真正的用途是啥?

CSS中“初始”值的用途是啥?

Lambda表达式的主要用途是啥?

mini-css-extract-plugin 模块的 chunkFilename 的用途是啥?

4. stringtokenizer类的主要用途是啥? 该类有哪几个重要的方法?

Java 中 main() 方法中 public static 关键字的用途是啥?