目录
方法1:使用位置属性
父母
儿童1
孩子2
方法2:使用CSS网格
首页 web前端 css教程 如何在CSS中堆叠元素

如何在CSS中堆叠元素

Apr 13, 2025 am 09:48 AM

如何在CSS中堆叠元素

如果您想在网络上创建出色且独特的视觉体验,最终将需要两个元素重叠或存在于同一位置。您甚至可能只需要将它们放置在附近或彼此之间。让我们探讨两种不同的方法来实现这一目标,一种是具有位置属性,另一种具有CSS网格。

方法1:使用位置属性

您可能已经知道这个立场:绝对;无论您想要的位置,都将绝对放在页面上。在这种情况下,我们绝对将孩子定位到页面的左上。无论父母在哪里,孩子都将被绝对放在那个角落。

 。孩子 {
  ...
  位置:绝对;
  顶部:0;
  左:0;
} 
登录后复制

看到笔
CSS堆叠,莎拉·德拉斯纳(Sarah Drasner)的绝对1(@sdras)
在Codepen上。

但这很脆!如果您要在页面上放置某些东西,然后再出现其他事情,该怎么办?也许您在左上角一直想要的导航中有一个图标,但是第三方进来并放入横幅广告。 (我不是在提倡横幅广告,但确实存在。)这将导航推向下来,现在图标不合适。

或者,假设您想制作一个可以在多个地方使用的独立组件。无论您在何处使用它,您都需要重复使用并在其自身上下文中工作。

如果我们放置位置:相对;在父元素上,其内部的任何位置:绝对;将绝对放置,相对于包含单元!

 。孩子 {
  / * ... */
  位置:绝对;
  顶部:0;
  左:0;
}

.parent {
  位置:相对;
} 
登录后复制

看到笔
CSS堆叠,Sarah Drasner的绝对2(@sdras)
在Codepen上。

好的。

如果我们想将两个元素彼此堆叠在一起,我们可以使用相同的前提。在这里,我们将在彼此之间堆叠两个子元素,并以150个像素分开。我们将看到它们现在包含在同一父母中,并保持在其中。

登录后复制
登录后复制

父母

儿童1

孩子2

登录后复制
登录后复制
 。孩子 {
  位置:绝对;
  顶部:0;
}

.Child-1 {
  左:0;
}

.Child-2 {
  左:150px;
}

.parent {
  位置:相对;
} 
登录后复制

看到笔
CSS堆叠,Sarah Drasner的绝对3(@sdras)
在Codepen上。

这是一个小校园,但是我已经使用了多年了,但我仍然掌握它。它跨浏览器始终如一地工作,甚至可以帮助您实现最奇怪和最独特的位置。

方法2:使用CSS网格

重叠元素,堆叠它们或修改其位置的另一种好方法是CSS网格,具体取决于您需要支持的距离(您可以与Caniuse进行检查)。

我们可以将一些需要的东西放在这样的容器中:

 .parent {
  显示:网格;
  网格板柱:250px 1fr;
  网格板行:150px 1fr;
}

。孩子 {
  网格区域:1/1 / 2/2;
} 
登录后复制

看到笔
CSS堆叠,莎拉·德拉斯纳(Sarah Drasner)(@sdras)的网格1
在Codepen上。

而且,如果一个要素应堆叠在另一个元素上,我们可以将它们放在完全相同的网格区域中。我们还使用边距稍微抵消它们。

 .parent {
  显示:网格;
  网格板柱:250px 1fr;
  网格板行:150px 1fr;
}

。孩子 {
  网格区域:1/1 / 2/2;
}

.Child-2 {
  左键:200px;
} 
登录后复制

看到笔
CSS堆叠,莎拉·德拉斯纳(Sarah Drasner)(@sdras)的网格2
在Codepen上。

如果您发现这种技术难以可视化,我创建了一个CSS网格发电机,希望可以更清楚地看到事物。

有很多使用这些技术的地方!您可以堆叠,层和偏移元素。您可以进行导航,页脚。您几乎可以创建几乎任何类型的布局,在其中您想对元素放置在页面上的方式进行更多的细粒度控制。

以上是如何在CSS中堆叠元素的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

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

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

热门话题

Java教程
1653
14
CakePHP 教程
1413
52
Laravel 教程
1305
25
PHP教程
1251
29
C# 教程
1224
24
带有粘性定位的堆叠卡和一点点的杂物 带有粘性定位的堆叠卡和一点点的杂物 Apr 03, 2025 am 10:30 AM

前几天,我发现了科里·金尼文(Corey Ginnivan)网站上的这一点,当您滚动时,彼此之间的卡片堆放集。

Google字体可变字体 Google字体可变字体 Apr 09, 2025 am 10:42 AM

我看到Google字体推出了新设计(Tweet)。与上一次大型重新设计相比,这感觉更加迭代。我几乎无法分辨出区别

如何使用HTML,CSS和JavaScript创建动画倒计时计时器 如何使用HTML,CSS和JavaScript创建动画倒计时计时器 Apr 11, 2025 am 11:29 AM

您是否曾经在项目上需要一个倒计时计时器?对于这样的东西,可以自然访问插件,但实际上更多

HTML数据属性指南 HTML数据属性指南 Apr 11, 2025 am 11:50 AM

您想了解的有关HTML,CSS和JavaScript中数据属性的所有信息。

如何通过CSS选择第一个类名为item的子元素? 如何通过CSS选择第一个类名为item的子元素? Apr 05, 2025 pm 11:24 PM

在元素个数不固定的情况下如何通过CSS选择第一个指定类名的子元素在处理HTML结构时,常常会遇到元素个数不�...

为什么Flex布局中的紫色斜线区域会被误认为是'溢出空间”? 为什么Flex布局中的紫色斜线区域会被误认为是'溢出空间”? Apr 05, 2025 pm 05:51 PM

关于Flex布局中紫色斜线区域的疑问在使用Flex布局时,你可能会遇到一些令人困惑的现象,比如在开发者工具(d...

使Sass更快的概念证明 使Sass更快的概念证明 Apr 16, 2025 am 10:38 AM

在一个新项目开始时,Sass汇编发生在眼睛的眨眼中。感觉很棒,尤其是当它与browsersync配对时,它重新加载

在前端开发中,如何使用CSS和JavaScript实现类似Windows 10设置界面的探照灯效果? 在前端开发中,如何使用CSS和JavaScript实现类似Windows 10设置界面的探照灯效果? Apr 05, 2025 pm 10:21 PM

在前端开发中如何实现类似Windows...

See all articles