css中position属性使用详解

yizhihongxing

CSS 中 position 属性使用详解

介绍

在 CSS 中,position 属性可以控制 HTML 元素的定位方式,可用于实现元素的绝对定位、相对定位、固定定位等效果。本文将详细介绍 position 属性的五个取值及其用法。

属性值

static

staticposition 的默认值,表示元素采用正常的文档流布局,不会应用 top、bottom、left、right 或 z-index 属性的值。

relative

relative 表示相对定位,元素相对于其正常位置的偏移量根据 top、bottom、left、right 属性的值决定。相对定位不会影响其他元素的布局。

#box1 {
  position: relative;
  top: 20px;
  left: 30px;
}

上述代码表示将 idbox1 的元素相对于其正常位置向下偏移 20px,向右偏移 30px

absolute

absolute 表示绝对定位,元素相对于其最近的已定位父元素或根元素(html)的偏移量根据 top、bottom、left、right 属性的值决定。如果没有已定位的父元素,则元素相对于根元素的偏移量决定。

#box2 {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

上述代码表示将 idbox2 的元素绝对定位在距离其最近的已定位父元素(或根元素)位置 50% 处,同时使用 transform 属性将元素自身向上、向左移动到中心位置。

fixed

fixed 表示固定定位,元素相对于浏览器窗口的偏移量根据 top、bottom、left、right 属性的值决定。元素不会随页面滚动而移动。

#box3 {
  position: fixed;
  top: 20px;
  right: 30px;
}

上述代码表示将 idbox3 的元素固定在页面窗口的右上角,距离窗口顶部 20px,距离窗口右侧 30px

sticky

sticky 表示粘性定位,元素在滚动到一定位置时变为固定定位。粘性定位需要结合 top、bottom、left、right 属性使用。

#box4 {
  position: sticky;
  top: 0;
}

上述代码表示将 idbox4 的元素粘贴在页面顶部,当页面滚动到一定位置时,元素变为固定定位。

示例

示例一

<body>
  <div class="container">
    <h1>Relative Positioning Example</h1>
    <div class="box1">Box One</div>
    <div class="box2">Box Two</div>
    <div class="box3">Box Three</div>
  </div>
</body>
.container {
  position: relative;
}
.box1 {
  position: relative;
  top: 20px;
  left: 30px;
}
.box2 {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.box3 {
  position: fixed;
  top: 20px;
  right: 30px;
}

上述代码表示将 .box1 元素相对于其父元素 .container 向下偏移 20px,向右偏移 30px,将 .box2 元素绝对定位在父元素 .container 中心位置,transform 属性实现居中,将 .box3 元素固定在页面窗口的右上角,距离窗口顶部 20px,距离窗口右侧 30px

示例二

<body>
  <div class="container2">
    <h1>Sticky Positioning Example</h1>
    <div class="box4">Box Four</div>
    <div class="content">
      <p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Sequi quisquam, dignissimos modi deleniti corporis odit itaque maxime. Deleniti in saepe, ea optio vel incidunt magnam quam eius illo omnis!</p>
      <p>Libero ipsam odit dolorem suscipit numquam dicta adipisci aspernatur ratione cumque laboriosam ex, commodi quaerat. In cum id minima magni aliquam unde libero omnis ducimus nam, recusandae placeat delectus.</p>
      <p>Iure aliquid exercitationem, blanditiis dolores amet similique laborum quia laboriosam aut facilis accusantium hic maxime eveniet cupiditate impedit! Voluptatibus, magnam pariatur libero officiis ducimus eaque numquam beatae fugit perspiciatis!</p>
    </div>
  </div>
</body>
.container2 {
  height: 400px;
  overflow-y: scroll;
}
.box4 {
  position: sticky;
  top: 0;
}
.content {
  margin-top: 300px;
}

上述代码表示将 .box4 元素粘贴在页面顶部,当页面滚动到一定位置时,元素变为固定定位。为了让页面产生滚动条,需要设置容器高度,并随着容器滚动,通过 margin-top 属性使内容始终在 .box4 元素下方(下移 300px)。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:css中position属性使用详解 - Python技术站

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

相关文章

  • 纯css实现多级折叠菜单折叠树效果

    下面是“纯CSS实现多级折叠菜单折叠树效果”的完整攻略: 什么是多级折叠菜单折叠树效果 多级折叠菜单折叠树效果是一种常用的导航菜单,它可以使页面更加结构化和易于导航。它具有如下特点: 可以展开/折叠子菜单 可以自动更改父菜单的状态 可以实现嵌套的多级菜单结构 如何实现多级折叠菜单折叠树效果 多级折叠菜单折叠树效果可以通过CSS中的checkbox和label…

    css 2023年6月9日
    00
  • css3中用animation的steps属性制作帧动画

    CSS3中的animation(动画)属性可以用来制作各种样式的动画,其中的steps属性可以帮助我们制作帧动画。下面是详细的制作过程: 定义关键帧 首先,我们需要定义关键帧。关键帧是动画中的重要状态,在制作帧动画时需要向CSS3指定这些状态。我们使用@keyframes规则来定义关键帧。 例如,我们要制作一个四八节跳舞的动画,我们需要定义八个关键帧,如下所…

    css 2023年6月10日
    00
  • 使用CSS媒体查询(Media Queries)和JavaScript判断浏览器设备类型的方法

    使用CSS媒体查询和JavaScript判断浏览器设备类型的方法可以用于响应式网站的开发,在不同设备上优化网站的布局和风格,提升用户体验。 使用CSS媒体查询 CSS媒体查询可以根据浏览器窗口大小的变化为不同的屏幕尺寸设置不同的样式。通过CSS媒体查询我们可以使用不同的样式设置来适配不同的设备,比如手机、平板、电脑等。 媒体查询语法 媒体查询定义了一个限制条…

    css 2023年6月10日
    00
  • JavaScript实现点击按钮切换网页背景色的方法

    下面是关于“JavaScript实现点击按钮切换网页背景色的方法”的完整攻略: 1. HTML结构 首先,在HTML页面中需要添加一个按钮和一个div元素,用于显示网页的背景色。 <!DOCTYPE html> <html> <head> <title>JavaScript实现点击按钮切换网页背景色</t…

    css 2023年6月9日
    00
  • JS组件系列之Bootstrap table表格组件神器【终结篇】

    下面就详细讲解一下《JS组件系列之Bootstrap table表格组件神器【终结篇】》的完整攻略。 1. 简介 本文将介绍 Bootstrap table 表格组件的使用方法,以及如何通过该组件快速地构建出符合需求的表格。 2. 安装 Bootstrap table 可以通过 npm 安装: npm install bootstrap-table 也可以通…

    css 2023年6月10日
    00
  • 使用HTML5技术开发一个属于自己的超酷颜色选择器

    下面是使用HTML5技术开发一个属于自己的超酷颜色选择器的完整攻略: 一、准备工作 创建一个HTML文件。 写入HTML骨架结构。 二、添加基础结构 添加色轮和饱和度条的父容器。 添加颜色选择器返回值的容器。 在页面中引入相关的CSS文件。 三、实现颜色选取的核心算法 在JavaScript中实现整个颜色选择器的核心算法,主要是通过计算RGB值和Hex值实现…

    css 2023年6月9日
    00
  • 20点提高网站访问速度缩短网页加载时间!

    当今互联网时代,用户对网站访问速度的要求越来越高,过长的加载时间不仅会影响用户体验,还会降低搜索引擎排名。因此,优化网站的速度变得越来越重要。 本篇攻略将从以下几个方面来讲解如何提高网站访问速度、缩短网页加载时间。 1. 压缩文件 文件压缩能够减少文件的体积,从而在保持文件不变的前提下缩短文件下载时间。常见的文件压缩格式有zip、gzip等。对于图片等资源文…

    css 2023年6月13日
    00
  • VUE-ElementUI 自定义Loading图操作

    下面是关于VUE-ElementUI 自定义Loading图操作的完整攻略及示例: 1. 什么是VUE-ElementUI自定义Loading图操作? 在web开发中,我们经常会遇到需要显示loading效果的场景,来提示用户当前正在加载中。VUE-ElementUI自带的Loading组件在满足一些基础需求的同时,也有不足的地方。因此,我们可以通过自定义L…

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