搜索
首页web前端css教程ATOZ CSS:翻译与位置相对之间的差异

ATOZ CSS:翻译与位置相对之间的差异

钥匙要点

  • > CSS位置之间的主要区别:相对和转换:transpate()它们如何影响其他元素的布局。位置:相对改变了元素在文档流中的位置,可能会影响其他元素,而转换:transpate()移动元素而不影响其他元素的布局。
  • > CSS变换:Translate()由于使用GPU(图形处理单元)加速而通常是动画的首选,这会导致动画和更好的性能。还值得注意的是,这两种方法之间的基于百分比的值的行为不同,翻译成元素计算的宽度或高度的百分比。
  • >
  • > CSS位置:相对和变换:Translate()可以在同一元素上使用。这种组合允许精确放置元素在页面上,并进一步修改该位置。这使它们成为元素放置的强大工具集。
本文是我们ATOZ CSS系列的一部分。您可以在此处找到该系列的其他条目。 您可以在此处查看有关Translatex的相应视频的完整成绩单和屏幕录像。

欢迎参加我们的ATOZ CSS系列!在本系列中,我将探索不同的CSS值(和属性),每个CSS值(和属性)以不同的字母开始。我们知道有时屏幕截图还不够,因此在本文中,我们添加了有关翻译和位置之间差异的快速提示。

>

x用于翻译和位置ATOZ CSS:翻译与位置相对之间的差异>

>有许多CSS属性用于将元素放在页面上。其中包括大型布局属性,例如浮点,边距和填充物,以及更细粒度的工具,例如位置和translate()。 在表面上,位置:相对和变换:transpate()似乎以一种相似的方式起作用,但是有一些微妙的差异很重要,因此我们为工作选择了合适的工具。

翻译和位置之间有什么区别:相对?

在这篇文章中,我们将查看这些方法的这些方法之间的许多差异,但首先,让我澄清这些各种属性的作用。

如果我们设置了位置:相对元素,我们可以使用它为

>绝对

>内部定位元素创建边界。这可能是对相对定位的更常见的用法,但不是我们在这里讨论的用途。

>

如果我们将位置结合在一起:相对与偏移属性之一的顶部,底部,左或右相对,则元素将从其原始位置移动在布局中,同时保留曾经占用的文档中的空间。该元素将被移至新层,其“图层顺序”或其堆叠顺序可以通过Z-Index属性进行控制。

<span><span>.thing</span> {
</span>  <span>position: relative;
</span>  <span>top: 100px;
</span>  <span>left: 50px;
</span><span>}</span>
>在上面的示例中,元素将从顶部移动100px,距其原始位置的左侧50px。

使用转换时:转换(x,y),我们得到的视觉结果与使用相对位置非常相似。通过以下片段可以实现与上述相同的结果:

在这种情况下,我们将沿X轴和100px沿Y轴翻译该元素的坐标。最终结果在视觉上与以前的位置示例相同。

<span><span>.thing</span> {
</span>  <span>transform: translate(50px, 100px);
</span><span>}</span>
>那么,为什么我们有两种做同样的事情的方法?好吧,这些方法之间存在一些差异……

>

>浏览器支持

位置是CSS2属性,而转换是CSS3属性。结果,浏览器支持存在差异,尽管实际上唯一不支持2D变换的浏览器是IE8及以下。 如果您需要支持IE的旧版本,则不是您的转换。

gpu加速度

>转换属性将在可能的情况下使用硬件加速度,因此,如果在元素上也使用任何动画或过渡,则使用Translate()在位置上使用绩效好处。>

如果您想将元素作为过渡或密钥帧动画的一部分移动,请使用翻译而不是位置(这既适用于绝对和相对定位)。有关此的深度,包括解释和性能分析,请查看Paul Irish的这段视频。

基于百分比的值的行为不同

这两种放置元素方法之间的一个主要区别是它们如何响应基于百分比的值。

进行以下标记和样式:

这两个元素都从其左边缘的50%偏移。

红色框的左边缘将距其父容器的边缘50%。

蓝色框的左边缘将距其父容器的左边缘100px。此距离是因为200px的50%为100px。

用翻译设置百分比值时,将百分比测量为计算宽度或高度的元素的百分比。

>

>请参阅codepen上的sitepoint(@sitepoint)的笔vyyxgj。

>将位置结合在一起

的最后一点是,由于位置和转换是两个不同的属性,因此我们可以将它们结合在一起。这使我们能够将绝对定位组合在一起,以将元素放置在页面上非常特定的位置,然后通过变换修改该位置。

>一个例子可能是使定位的元素上下动画。或者我们可以将定位与翻译结合在一起以实现灵活的垂直中心。

因此,尽管可以使用这两种放置元素的方法来获得相似的结果,但存在一些显着差异,并且结合了每种方法的优势使它们成为了非常强大的工具集。

经常询问有关CSS翻译与位置的问题(常见问题解答)

> CSS翻译与位置之间的主要区别是什么?

> CSS翻译和位置之间的主要区别在于它们如何操纵元素的位置。 CSS位置会改变元素在文档流中的位置,这意味着它可以影响其他元素的布局。另一方面,CSS转换是一个转换函数,它可以移动元素而不会影响其他元素的布局。它更改了视觉渲染位置,而不是文档流中的实际位置。

我何时应该使用CSS翻译而不是位置?影响其他元素的布局。它对动画也有益,因为它可以促进更好的性能和更顺畅的动画。这是因为Translate使用GPU(图形处理单元),它在渲染图形和动画方面更有效。

我可以同时使用CSS翻译和位于同一元素上吗?您可以在同一元素上同时使用CSS翻译和位置。但是,重要的是要了解它们如何共同努力。位置属性将首先影响元素在文档流中的位置,然后翻译函数将从该位置移动元素。

>

为什么CSS翻译经常被推荐用于动画? CSS翻译通常建议用于动画,因为它使用了GPU,这在渲染图形和动画方面更有效。这会导致动画更顺畅,而CPU(中央处理单元)的使用量更少,这可以改善网页的整体性能。

>

CSS是否可以通过所有类型的位置值转换工作? CSS转换具有所有类型的位置值 - 静态,相对,绝对,固定和粘性。不管位置值如何,翻译功能将从其位置移动。

>我可以将哪些单元用于CSS翻译?

与CSS翻译,您可以使用像素值,百分比和视口单元。百分比相对于元素本身的大小,而不是其父元素。这使您可以更灵活地对元素的运动。 CSS位置,不建议使用。这是因为更改位置属性可以触发布局变化,这可能会对性能产生负面影响。对于动画,CSS翻译是更好的选项。

> CSS翻译如何影响元素的z索引?> 我可以使用CSS翻译以对角线移动元素吗? ,您可以使用CSS翻译来对角线移动元素。您可以通过在翻译函数中指定x和y值来做到这一点。例如,Translate(50px,50px)会向右移动50像素,并将50像素向下移动,有效地创建对角线运动。 CSS转换会影响元素的可单击区域? 🎜>不,CSS翻译不会影响元素的可单击区域。即使元素的视觉渲染已通过翻译移动。

以上是ATOZ CSS:翻译与位置相对之间的差异的详细内容。更多信息请关注PHP中文网其他相关文章!

声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
揭开屏幕读取器的神秘面纱:可访问的表格和最佳实践揭开屏幕读取器的神秘面纱:可访问的表格和最佳实践Mar 08, 2025 am 09:45 AM

这是我们在形式可访问性上进行的小型系列中的第三篇文章。如果您错过了第二篇文章,请查看“以:focus-visible的管理用户焦点”。在

使用智能表单框架创建JavaScript联系表格使用智能表单框架创建JavaScript联系表格Mar 07, 2025 am 11:33 AM

本教程演示了使用智能表单框架创建外观专业的JavaScript表单(注意:不再可用)。 尽管框架本身不可用,但原理和技术仍然与其他形式的建筑商相关。

将框阴影添加到WordPress块和元素将框阴影添加到WordPress块和元素Mar 09, 2025 pm 12:53 PM

CSS盒子阴影和轮廓属性获得了主题。让我们查看一些在真实主题中起作用的示例,以及我们必须将这些样式应用于WordPress块和元素的选项。

使用GraphQL缓存使用GraphQL缓存Mar 19, 2025 am 09:36 AM

如果您最近开始使用GraphQL或审查了其优点和缺点,那么您毫无疑问听到了诸如“ GraphQl不支持缓存”或

使您的第一个自定义苗条过渡使您的第一个自定义苗条过渡Mar 15, 2025 am 11:08 AM

Svelte Transition API提供了一种使组件输入或离开文档(包括自定义Svelte Transitions)时动画组件的方法。

优雅且酷的自定义CSS卷轴:展示柜优雅且酷的自定义CSS卷轴:展示柜Mar 10, 2025 am 11:37 AM

在本文中,我们将深入研究滚动条。我知道,这听起来并不魅力,但请相信我,一个精心设计的页面是齐头并进的

展示,不要说展示,不要说Mar 16, 2025 am 11:49 AM

您花多少时间为网站设计内容演示文稿?当您撰写新的博客文章或创建新页面时,您是在考虑

NPM命令是什么?NPM命令是什么?Mar 15, 2025 am 11:36 AM

NPM命令为您运行各种任务,无论是一次性或连续运行的过程,例如启动服务器或编译代码。

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热工具

MinGW - 适用于 Windows 的极简 GNU

MinGW - 适用于 Windows 的极简 GNU

这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。

mPDF

mPDF

mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),

WebStorm Mac版

WebStorm Mac版

好用的JavaScript开发工具

Atom编辑器mac版下载

Atom编辑器mac版下载

最流行的的开源编辑器

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

功能强大的PHP集成开发环境