广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >css中position属性及z-index属性怎么用
  • 804
分享到

css中position属性及z-index属性怎么用

2024-04-02 19:04:59 804人浏览 独家记忆
摘要

这篇文章给大家分享的是有关CSS中position属性及z-index属性怎么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。在网页设计中,position属性的使用是非常重要的

这篇文章给大家分享的是有关CSS中position属性及z-index属性怎么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

在网页设计中,position属性的使用是非常重要的。有时如果不能认识清楚这个属性,将会给我们带来很多意想不到的困难。

position属性共有四种不同的定位方法,分别是static、fixed、relative、absolute。最后将会介绍和position属性密切相关的z-index属性。

第一部分:position: static

static定位是html元素的默认值,即没有定位,元素出现在正常的流中,因此,这种定位就不会收到top,bottom,left,right的影响。

如html代码如下:

<div class="wrap">

    <div class="content"></div>

</div>

css代码如下:

.wrap{width: 300px;height: 300px; background: red;}

.content{position: static; top:100px; width: 100px;height: 100px; background: blue;}

效果图如下:

css中position属性及z-index属性怎么用

我们发现,虽然设置了static以及top,但是元素仍然出现在正常的流中。

第二部分:fixed定位

fixed定位是指元素的位置相对于浏览器窗口是固定位置,即使窗口是滚动的它也不会滚动,且fixed定位使元素的位置与文档流无关,因此不占据空间,且它会和其他元素发生重叠。

html代码如下:

<div class="content">我是使用fix来定位的!!!所以我相对于浏览器窗口,一直不动。</div>

css代码如下:

body{height:1500px; background: green; font-size: 30px; color:white;}

.content{ position: fixed; right:0;bottom: 0; width: 300px;height: 300px; background: blue;}

效果图如下:

css中position属性及z-index属性怎么用

即右下角的div永远不会动,就像经常弹出来的广告!!!

值得注意的是:fixed定位在IE7和IE8下需要描述!DOCTYPE才能支持。

第三部分:relative定位

相对定位元素的定位是相对它自己的正常位置的定位。

关键:如何理解其自身的坐标呢?

让我们看这样一个例子,hmtl如下:

<h3>这是位于正常位置的标题</h3>

<h3 class="pos_bottom">这个标题相对于其正常位置向下移动</h3>

<h3 class="pos_right">这个标题相对于其正常位置向右移动</h3>

css代码如下:

.pos_bottom{position:relative; bottom:-20px;}

.pos_right{position:relative;left:50px;}

效果图如下:

css中position属性及z-index属性怎么用

即bottom:-20px;;向下移动。 left:50px;向右移动。

即可以理解为:移动后是移动前的负的位置。

比如上例中,移动后是移动前负的bottom:-20px;即移动后是移动前bottom:20px;也就是说,移动后是移动前的向下20px;

又如:left:50px;移动后是移动前左边的-50px;那么也就是说移动后是移动前的右边的50px。

即:移动后对于移动前:如果值为负数,则直接换成整数;如果值为整数,则直接改变相对方向。

弄清楚了relative是如何移动的,下面我们看一看移动之后是否会产生其他的影响。

html代码如下:

<h3>这是一个没有定位的标题</h3>

<h3 class="pos_top">这个标题是根据其正常位置向上移动</h3>

<p><b>注意:</b> 即使相对定位元素的内容是移动,预留空间的元素仍保存在正常流动。</p>

css代码如下:

h3.pos_top{position:relative;top:-35px;}

效果图如下:

css中position属性及z-index属性怎么用

根据之前的说法,top:-35px;值是负数,则直接换成正数,即移动后相对与移动前向上偏移了35px;我们发现于上,移动后和上面的元素发生了重叠;于下,即使相对元素的内容移动了,但是预留空间的元素仍然保存在正常流动,也就是说相对移动之后,不会对下面的其他元素造成影响。

第四部分:absolute定位

绝对定位的元素相对于最近的已定位父元素,如果元素没有已定位的父元素,那么它的位置相对于<html>。

下面举几个例子:

例子1:

<title>绝对定位</title>

<style>                body{background:green;}

    .parent{ width: 500px;height: 500px;background: #ccc;}

    .son{ width: 300px;height: 300px;background: #aaa;}

    span{position: absolute; right: 30px; background: #888;}

</style>
<div class="parent">

    <div class="son">

        <span>什么?</span>

    </div>

</div>

效果如下:

css中position属性及z-index属性怎么用

即我只在span中设置了position:absolute;而在其父元素中都没有,于是它的位置是相对于html的。

例2:

.son{position: relative; width: 100px;height: 100px;background: #aaa; }

相较于上一个例子,我只修改了class为son的元素的css,设置为position:relative;效果图如下:

css中position属性及z-index属性怎么用

于是,我们发现现在span的位置是相对于设有position属性的class为son的父元素的。

例3:

.parent{position: absolute; width: 300px;height: 300px;background: #ccc;}

这个例子我只是修改了第一个例子中的css--设置了position:absolute;效果如下:

css中position属性及z-index属性怎么用

于是我们发现,现在span的定位是相对于具有position:absolute的属性的class为parent的父元素。

例4:

.parent{position:fixed; width: 300px;height: 300px;background: #ccc;}

相对于例1,我添加了fixed的position属性,发现结果和例3是一模一样的。

例5:

.parent{position:static; width: 300px;height: 300px;background: #ccc;}

相对于例1,我添加了static的position属性(即html的默认属性),结果和例1是一样的。

综上所述,当某个absolute定位元素的父元素具有position:relative/absolute/fixed时,定位元素都会依据父元素而定位,而父元素没有设置position属性或者设置了默认属性,那么定位属性会依据html元素来定位。

第五部分:重叠的元素--z-index属性

首先声明:z-index只能在position属性值为relative或absolute或fixed的元素上有效。

基本原理是:z-index的值可以控制定位元素在垂直于显示屏幕方向(z轴)上的堆叠顺序(stack order),值大的元素发生重叠时会在值小的元素上面。

下面我们通过几个例子继续来理解这个属性。

例1:

css中position属性及z-index属性怎么用

  即son1和son2是parent的两个子元素,效果图如下:

css中position属性及z-index属性怎么用

这是没有使用z-index,我们发现son2在son1之上,这是因为son2在html中排在了son1之后,所以后来者将前者覆盖,如果我们颠倒以下两者的顺序,就会发现蓝色(son1)在上了。

例2:

在son1中加入z-index:1;可以发现效果如下:

css中position属性及z-index属性怎么用

也就是说son2的index值是小于1的。

如果我们给son2也加上z-index:1;呢?结果得到黄色(son2)就在上面了。(因为一旦z-index值相等,情况就和都不设置index值一样了)

例3:

在son2中加入z-index:5;可以发现效果如下:

css中position属性及z-index属性怎么用

即黄色(son2)又在上面了,这个很简单,不作过多讨论。

例4:

在父元素添加z-index:10;

在son1和son2添加z-index:5; 这样理论上父元素就会在上面(黄色覆盖蓝色和黄色);

结果如下:

css中position属性及z-index属性怎么用

结果没有变!!!!! 这就说明父元素和子元素不能做z-index的比较!!!但真的是这样吗?看下一个例子:

例5:

把两个子元素的z-index值同时设置为-5;父元素不设置z-index属性。结果如下:

css中position属性及z-index属性怎么用

成功!!说明在父元素和子元素之间还是可以作比较的!!!只是需要我们把子元素的z-index值设为负数。

例6:

我们在例5的基础上再给父元素添加一个z-index:10,讲道理~应该也可以得到和例5相同的结果吧!!

css中position属性及z-index属性怎么用

然而.... 看来我们不能设置父元素的z-index值,否则就不能出现我们想要的效果。下面再看一个有趣的例子!

例7:

我们根据例6的经验不设置父元素的值,现在设置son1(蓝色)的z-index为5,son2的z-index为-5,看下面的结果:

css中position属性及z-index属性怎么用

即son1在最上面,父元素在中间,son2在最下面。

对于z-index的探索就这样结束了吗??当然没有,看下面几个更为有趣的例子吧。

例8:

代码如下:

css中position属性及z-index属性怎么用

效果如下:

css中position属性及z-index属性怎么用

虽然parent1和parent2分别是son1和son2的父元素,按照我们之前的理解,父元素是不可添加z-index值的,否则会导致错误。但是这里parent1和parent2相对于body又是子元素,他俩是同级的,所以就可以进行比较了。且此时parent1的子元素son1(蓝色)在上。

例9:

如果我们在例7的基础上,把parent2的z-index值设为20,就会发现如下效果:

css中position属性及z-index属性怎么用

即parent2在上的同时son2也会同时在上。这也就是所谓的“拼爹”了!!

例10.同样在例7的基础上,我们不设置parent1和parent2和son2的index值,而只设置son1的z-index值为10,效果如下:

css中position属性及z-index属性怎么用

即原本在下面的蓝色son1被提上来了,而没有把父元素(parent1)提上了,诶,不孝顺啊!!

例11.显然,在例10的基础上,如果我们把son2的index值设置的比son1的大,如20,那么son2就会覆盖son1了,并且都在两个父元素只上了!!

效果如下图:

css中position属性及z-index属性怎么用

例12.当然,如果我们把两个son的z-index都设置位负数如-5,那么两者就都会被父元素所覆盖:

css中position属性及z-index属性怎么用

感谢各位的阅读!关于“css中position属性及z-index属性怎么用”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

--结束END--

本文标题: css中position属性及z-index属性怎么用

本文链接: https://www.lsjlt.com/news/80974.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • css中position属性及z-index属性怎么用
    这篇文章给大家分享的是有关css中position属性及z-index属性怎么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。在网页设计中,position属性的使用是非常重要的...
    99+
    2022-10-19
  • CSS中position和z-index属性如何使用
    本篇文章给大家分享的是有关CSS中position和z-index属性如何使用,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。深入理解CSS中的...
    99+
    2022-10-19
  • CSS 层叠属性解读:z-index 和 position
    在CSS中,布局和样式的设计是非常重要的。而在设计中,经常需要对元素进行层叠和定位。两个重要的CSS属性,即z-index和position,可以帮助我们实现这些需求。本文将深入探讨这两个属性并提供具体的代码示例。一、z-index 属性z...
    99+
    2023-10-21
    z-index position 层叠属性
  • CSS 层叠属性解析:z-index 和 position
    在CSS中,z-index和position是两个常用的层叠属性,用于控制元素的叠放顺序和定位方式。本文将详细解析这两个属性,并提供相关代码示例。一、z-index属性z-index属性用于控制元素的叠放顺序。它接受一个整数值作为参数,数值...
    99+
    2023-10-21
    z-index 关键词:CSS position 层叠属性
  • CSS 下拉菜单属性解析:position 和 z-index
    在网页设计中,下拉菜单是一个常见的组件,用于展示更多选项或者隐藏一些内容。为了实现一个完善的下拉菜单,掌握 position 和 z-index 属性是非常重要的。本文将详细解析这两个属性,并提供具体代码示例。一、position 属性po...
    99+
    2023-10-21
    下拉菜单 CSS 属性解析
  • 怎么在CSS中使用z-index属性
    本篇文章为大家展示了怎么在CSS中使用z-index属性,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。默认的摆放规则假定元素没有指定z-index属性,那么元素按照如下顺序叠放(从底到顶) ...
    99+
    2023-06-09
  • css中的z-index属性怎么使用
    这篇文章给大家分享的是有关css中的z-index属性怎么使用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。   z-index描述如下。   z-index:value; ...
    99+
    2022-10-19
  • CSS中z-index属性有什么用
    小编给大家分享一下CSS中z-index属性有什么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!   z-index描述如下...
    99+
    2022-10-19
  • CSS 下拉菜单属性优化技巧:position 和 z-index
    在网页设计中,下拉菜单是常见的交互元素之一。通过下拉菜单,用户可以方便地选择所需的选项,提升用户体验。然而,当页面中存在多个下拉菜单时,它们的位置和层叠关系可能会产生问题。为了解决这些问题,我们可以通过使用 CSS 中的 position ...
    99+
    2023-10-21
    过渡效果 浮动 媒体查询
  • CSS z-index属性的作用是什么
    CSS z-index属性用于控制元素的堆叠顺序,即确定元素在垂直方向上的显示顺序。元素的堆叠顺序决定了哪个元素覆盖其他元素。具有较...
    99+
    2023-09-05
    CSS
  • 如何理解CSS属性中的z-index
    这篇文章主要讲解了“如何理解CSS属性中的z-index”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何理解CSS属性中的z-index”吧!如果你不是一...
    99+
    2022-10-19
  • CSS中position属性怎么用
    这篇文章主要为大家展示了“CSS中position属性怎么用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“CSS中position属性怎么用”这篇文章吧。目前几...
    99+
    2022-10-19
  • CSS的position属性怎么用
    这篇文章将为大家详细讲解有关CSS的position属性怎么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。 经过使用 position 属性,我们可以选择 ...
    99+
    2022-10-19
  • z-index属性指的是什么
    这篇文章主要介绍z-index属性指的是什么,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!z-index属性是css中用于设置元素的堆叠顺序的一种属性,拥有更高堆叠顺序的元素总是会处于堆叠顺序较低的元素的前面,并且元...
    99+
    2023-06-14
  • position属性怎么在CSS中使用
    这篇文章将为大家详细讲解有关position属性怎么在CSS中使用,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。CSS中的定位模式规定了一个盒子在总体的布局上应该处于什么位置以及对周围的盒子...
    99+
    2023-06-08
  • css中position的属性怎么使用
    今天小编给大家分享一下css中position的属性怎么使用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。CSS中posit...
    99+
    2023-07-04
  • 怎么在CSS中使用position属性
    这期内容当中小编将会给大家带来有关怎么在CSS中使用position属性,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。【DIV+CSS布局之position属性:absolute】意思是:他的意思是绝对定...
    99+
    2023-06-09
  • CSS的position属性怎么使用
    这篇文章主要介绍“CSS的position属性怎么使用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“CSS的position属性怎么使用”文章能帮助大家解决问题。CSS:position属性Posi...
    99+
    2023-07-04
  • css中position属性的概述及应用
    这篇文章主要介绍“css中position属性的概述及应用”,在日常操作中,相信很多人在css中position属性的概述及应用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”css中position属性的概述...
    99+
    2023-06-08
  • CSS中position属性有什么用
    本篇文章为大家展示了CSS中position属性有什么用,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。position属性常用的取值static、relative以...
    99+
    2022-10-19
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作