CSS的position属性完全解析

CSS的position属性完全解析

什么是position属性?

position是CSS中用来设置元素定位方式的属性,它有五种取值分别是:

  • static
  • relative
  • absolute
  • fixed
  • sticky

static

staticposition属性的默认值,元素不受top, right, bottom, left or z-index影响,即便设置了它们也不会生效。

relative

relative相对于元素自身正常位置进行定位。被定位的元素仍然根据文档流进行排列,其它元素仍然会占据原有的位置不受影响。当你设置top, right, bottom, left或z-index的时候,被定位的元素的位置会发生变化。

示例代码:

div.relative {
  position: relative;
  left: 30px;
  top: 50px;
}

absolute

absolute相对于最近的已定位祖先元素进行定位,如果没有已定位的祖先元素,则相对于文档的body元素。被定位元素从文化流中脱离,不再占据原来的位置,所以其它元素位置会被改变。

示例代码:

div.parent {
  position: relative;
}

div.child {
  position: absolute;
  top: 30px;
  right: 50px;
}

fixed

fixed相当于一种特殊的绝对定位,而且是相对于浏览器窗口来计算位置。元素无论如何滚动,都会常驻在屏幕上的指定位置。和absolute一样,元素也从文化流中脱离,不影响其它元素。

示例代码:

div.fixed {
  position: fixed;
  bottom: 10px;
  right: 10px;
}

sticky

sticky是一个新属性,还未广泛使用。它做的事情类似于fixed,sticky是相对于其它元素进行定位,但是具体的定位方式又和relative非常相似。在满足特定条件时,元素会固定在一个位置,但是随后又会继续按照正常的relative方式进行定位。

示例代码:

div.sticky {
  position: sticky;
  top: 0;
}

总结

以上是position属性的五种值的说明,它是CSS中用来定位元素位置的属性,切记在设置元素定位时不要滥用position属性,否则会将文档流打乱带来不良的排版效果。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:CSS的position属性完全解析 - Python技术站

(0)
上一篇 2023年6月9日
下一篇 2023年6月9日

相关文章

  • Vue3使用Swiper实现轮播图示例详解

    Vue3使用Swiper实现轮播图的过程相对简单。下面详细讲解一下怎么实现。 使用npm安装Swiper Swiper是轮播图的一个开源的JavaScript库。使用npm安装Swiper,需要在终端运行以下命令: npm install swiper 引入Swiper和样式文件 在Vue组件中引入Swiper和样式文件。具体方法如下: import Swi…

    css 2023年6月10日
    00
  • js实现用滚动条来放大缩小图片的代码

    下面我来详细讲解一下“js实现用滚动条来放大缩小图片的代码”的实现过程。 1. 编写html结构 首先,我们需要准备一张图片和一个滚动条,并将它们放到一个包含样式的html结构中。 <style> #scrollbar { width: 100%; height: 10px; background-color: #ccc; } #slider {…

    css 2023年6月10日
    00
  • 浅谈css3新单位vw、vh、vmin、vmax的使用详解

    浅谈CSS3新单位vw、vh、vmin、vmax的使用详解 CSS3新增了四个相对于窗口尺寸的单位:vw、vh、vmin、vmax。这些单位可以帮助我们更好地控制和布局我们的网页元素。下面就详细介绍一下每种单位的用法和示例。 vw vw表示相对于视口宽度的百分比,1vw等于视口宽度的1%。使用vw可以让元素的尺寸随着视口的变化而变化。例如,想将一个元素的宽度…

    css 2023年6月10日
    00
  • CSS实现 Google Material Design 文本输入框风格(推荐)

    实现 Google Material Design 文本框风格的方法有很多种,但是本攻略将重点介绍使用 CSS 实现的方法。以下是实现过程: 步骤 1:HTML 结构 首先,我们需要定义一个基本的 HTML 结构,包含一个输入框和一个标签(label),如下所示: <div class="input-wrapper"> &lt…

    css 2023年6月10日
    00
  • 用CSS3绘制三角形的简单方法

    要用CSS3绘制三角形,有多种方法可供选择,以下是其中一种简单易懂的方法: 方法一:使用border绘制三角形 使用border属性设置三角形的样式,一共需要设置三个边框值分别对应三角形的三条边,并且其中两条边的颜色要与背景色相同,这样就会在三角形的两侧形成空隙,使三角形成为一个封闭的图形。 .triangle { width: 0; height: 0; …

    css 2023年6月10日
    00
  • JavaScript解析JSON

    JavaScript解析JSON的步骤: 将JSON字符串转换为对象 通过对象属性访问JSON数据 组合JSON数据 以下是JavaScript解析JSON的完整攻略: 1. 将JSON字符串转换为对象 JavaScript中有一个JSON对象,它有两个方法:JSON.parse() 和 JSON.stringify()。其中,JSON.parse()用于将…

    Web开发基础 2023年3月30日
    00
  • 模拟QQ心情图片上传预览示例

    下面是“模拟QQ心情图片上传预览示例”的完整攻略,包含两条示例说明。 基本思路 本示例中,我们的基本思路是通过JS和HTML5的File API来实现图片上传和预览。具体实现步骤如下: 通过input元素获取用户选择的图片文件。 将图片文件通过FileReader对象转化为DataURL。 将DataURL赋值给Image元素的src属性,生成预览图片。 代…

    css 2023年6月10日
    00
  • JavaScript实现简易聊天对话框(加滚动条)

    下面是JavaScript实现简易聊天对话框(加滚动条)的完整攻略。 简介 这个项目的目标是实现一个简易的聊天对话框,用户可以在对话框内输入消息,同时页面支持滚动条。 准备工作 首先,我们需要准备一个HTML模板和CSS文件,用于布局和样式调整。模板如下: <!DOCTYPE html> <html lang="en"&…

    css 2023年6月10日
    00
合作推广
合作推广
分享本页
返回顶部