详解css position 5种不同的值的用法


Posted in HTML / CSS onJuly 30, 2019

position属性

position属性指定用于元素的定位方法的类型(静态,相对,固定,绝对或粘性)。 有五种不同的值:
 

•static
•relative
•fixed
•absolute
•sticky

然后使用top,bottom,left和right属性定位元素。但是,除非首先设置position属性,否则这些属性将不起作用。根据位置值,它们的工作方式也不同。

position:static;

默认情况下,HTML元素定位为静态。静态定位元素不受top,bottom,left和right属性的影响。 元素position:static;没有以任何特殊方式定位; 它总是根据页面的正常流程定位:

这个<div>元素的position:static;

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>css</title>
    <style>
        div.static {
            position: static;
            border: 3px solid #73AD21;
        }
    </style>
</head>
<body>
<h2>position: static;</h2>
<p>一个位置为position:static; 没有任何特殊的定位; 它是始终根据页面的正常流程定位:</p>
<div class="static">
    这个div元素的位置为:static;
</div>
</body>
</html>

position:relative;

具有position:relative;相对于其正常位置定位的元素。设置相对定位元素的top,bottom,left和right属性将使其远离其正常位置进行调整。其他内容不会被调整以适应元素留下的任何空白。

这个<div>元素的position:relative;

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>css</title>
    <style>
        div.relative {
            position: relative;
            left: 30px;
            border: 3px solid #73AD21;
        }
    </style>
</head>
<body>
<h2>position: relative;</h2>
<p>position:relative的元素; 相对于其正常位置定位:</p>
<div class="relative">
    这个div元素有position: relative;
</div>
</body>
</html>

 

position:fixed;

元素position:fixed;相对于视口定位,这意味着即使页面滚动,它也始终保持在同一位置。top,bottom,left和right属性用于定位元素。固定元素不会在页面中留下通常位于其中的间隙。注意页面右下角的固定元素。

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>css教程(jc2182.com)</title>
    <style>
        div.fixed {
            position: fixed;
            bottom: 0;
            right: 0;
            width: 300px;
            border: 3px solid #73AD21;
        }
    </style>
</head>
<body>
<h2>position:fixed;</h2>
<p>position:fixed; 相对于视口定位,这意味着即使页面滚动,它也始终保持在同一位置:</p>
<div class="fixed">
    这个div元素有position: fixed;
</div>
</body>
</html>

 

position:absolute;

具有position:absolute;相对于最近定位的祖先定位的元素(而不是相对于视口定位,如fixed)。然而; 如果绝对定位元素没有定位祖先,它将使用文档正文,并随页面滚动一起移动。 注意: “定位”元素的位置是除了static之外的任何元素。

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>css教程(jc2182.com)</title>
    <style>
        div.relative {
            position: relative;
            width: 400px;
            height: 200px;
            border: 3px solid #73AD21;
        }
        div.absolute {
            position: absolute;
            top: 80px;
            right: 0;
            width: 200px;
            height: 100px;
            border: 3px solid #73AD21;
        }
    </style>
</head>
<body>
<h2>position: absolute;</h2>
<p>position:absolute;的元素; 相对于最近定位的祖先定位(而不是相对于视口定位,如fixed):</p>
<div class="relative">这个div元素有 position: relative;
    <div class="absolute">这个div元素有 position: absolute;</div>
</div>
</body>
</html>

 

position:sticky;

position:sticky;根据用户的滚动位置定位元素。粘性元素在relative和之间切换fixed,具体取决于滚动位置。它被相对定位,直到在视口中满足给定的偏移位置 - 然后它“粘住”到位(如位置:fixed)。

注意: Internet Explorer,Edge 15及更早版本不支持粘性定位。Safari需要-webkit-前缀(参见下面的示例)。您还必须指定的至少一个top,right,bottom或left为粘稠的定位工作。

在此示例中,top: 0当您到达其滚动位置时,粘性元素会粘到页面顶部。

<!DOCTYPE html>
<html>
<head>
    <style>
        div.sticky {
            position: -webkit-sticky;
            position: sticky;
            top: 0;
            padding: 5px;
            background-color: #cae8ca;
            border: 2px solid #4CAF50;
        }
    </style>
</head>
<body>
<p>尝试在此框架内<b>滚动</b>以了解粘性定位的工作原理。</p>
<p>注意:IE/Edge15及更早版本不支position: sticky;。</p>
<div class="sticky">我很粘!</div>
<div style="padding-bottom:2000px">
    <p>在此示例中,当您到达其滚动位置时,粘性元素会粘到页面顶部(顶部:0)。</p>
    <p>向上滚动以消除粘性。</p>
    <p>Some text to enable scrolling.. Lorem ipsum dolor sit amet, illum definitiones no quo, maluisset concludaturque et eum, altera fabulas ut quo. Atqui causae gloriatur ius te, id agam omnis evertitur eum. Affert laboramus repudiandae nec et. Inciderint efficiantur his ad. Eum no molestiae voluptatibus.</p>
    <p>Some text to enable scrolling.. Lorem ipsum dolor sit amet, illum definitiones no quo, maluisset concludaturque et eum, altera fabulas ut quo. Atqui causae gloriatur ius te, id agam omnis evertitur eum. Affert laboramus repudiandae nec et. Inciderint efficiantur his ad. Eum no molestiae voluptatibus.</p>
    <p>Some text to enable scrolling.. Lorem ipsum dolor sit amet, illum definitiones no quo, maluisset concludaturque et eum, altera fabulas ut quo. Atqui causae gloriatur ius te, id agam omnis evertitur eum. Affert laboramus repudiandae nec et. Inciderint efficiantur his ad. Eum no molestiae voluptatibus.</p>
    <p>Some text to enable scrolling.. Lorem ipsum dolor sit amet, illum definitiones no quo, maluisset concludaturque et eum, altera fabulas ut quo. Atqui causae gloriatur ius te, id agam omnis evertitur eum. Affert laboramus repudiandae nec et. Inciderint efficiantur his ad. Eum no molestiae voluptatibus.</p>
</div>
</body>
</html>

 

在线体验一下达到其滚动位置

所有CSS定位属性

属性 描述
bottom 设置定位框的底部边缘
clip 剪辑一个绝对定位的元素
left 设置定位框的左边缘
position 指定元素的定位类型
right 设置定位框的右边缘
top 设置定位框的上边缘
z-index 设置元素的堆栈顺序

总结

以上所述是小编给大家介绍的css position 5种不同的值的用法 ,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

HTML / CSS 相关文章推荐
CSS3 media queries + jQuery实现响应式导航
Sep 30 HTML / CSS
css图标制作教程制作云图标
Jan 19 HTML / CSS
CSS3中box-shadow的用法介绍
Jul 15 HTML / CSS
利用css3-animation实现逐帧动画效果
Mar 10 HTML / CSS
CSS3实现王者匹配时的粒子动画效果
Apr 12 HTML / CSS
IE支持HTML5的解决方法
Oct 20 HTML / CSS
CSS3 画基本图形,圆形、椭圆形、三角形等
Sep 20 HTML / CSS
html5如何在Canvas中实现自定义路径动画示例
Sep 18 HTML / CSS
canvas因为图片资源不在同一域名下而导致的跨域污染画布的解决办法
Jan 18 HTML / CSS
canvas学习总结三之绘制路径-线段
Jan 31 HTML / CSS
使用canvas压缩图片上传的方法示例
Feb 07 HTML / CSS
html实现弹窗的实例
Jun 09 HTML / CSS
CSS Houdini实现动态波浪纹效果
Jul 30 #HTML / CSS
使用css实现android系统的loading加载动画
Jul 25 #HTML / CSS
使用CSS3实现input多选框自定义样式的方法示例
Jul 19 #HTML / CSS
详解css3中 text-fill-color属性
Jul 08 #HTML / CSS
解决margin 外边距合并问题
Jul 03 #HTML / CSS
css3实现蒙版弹幕功能
Jun 18 #HTML / CSS
CSS3中媒体查询结合rem布局适配手机屏幕
Jun 10 #HTML / CSS
You might like
PHP自动选择 连接本地还是远程数据库
2010/12/02 PHP
php像数组一样存取和修改字符串字符
2014/03/21 PHP
PHP中的switch语句的用法实例详解
2015/10/21 PHP
详解 PHP加密解密字符串函数附源码下载
2015/12/18 PHP
利用PHP将图片转换成base64编码的实现方法
2016/09/13 PHP
php大小写转换函数(strtolower、strtoupper)用法介绍
2017/11/17 PHP
JS+CSS模拟可以无刷新显示内容的留言板实例
2015/03/03 Javascript
js获取及判断键盘按键的方法
2015/12/01 Javascript
vue拦截器Vue.http.interceptors.push使用详解
2017/04/22 Javascript
VUE长按事件需求详解
2017/10/18 Javascript
vue2.0.js的多级联动选择器实现方法
2018/02/09 Javascript
vue 开发一个按钮组件的示例代码
2018/03/27 Javascript
jQuery操作动画完整实例分析
2020/01/10 jQuery
基于Vue实现微前端的示例代码
2020/04/24 Javascript
[16:19]教你分分钟做大人——风暴之灵
2015/03/11 DOTA
Python下Fabric的简单部署方法
2015/07/14 Python
Python Requests 基础入门
2016/04/07 Python
Python+Selenium自动化实现分页(pagination)处理
2017/03/31 Python
python保存数据到本地文件的方法
2018/06/23 Python
对python实时得到鼠标位置的示例讲解
2018/10/14 Python
使用 Visual Studio Code(VSCode)搭建简单的Python+Django开发环境的方法步骤
2018/12/17 Python
详解Python logging调用Logger.info方法的处理过程
2019/02/12 Python
Python 实现还原已撤回的微信消息
2019/06/18 Python
Python Gitlab Api 使用方法
2019/08/28 Python
Python之关于类变量的两种赋值区别详解
2020/03/12 Python
如何用 Python 制作 GitHub 消息助手
2021/02/20 Python
欧洲最大的婴幼儿服装及内衣公司:Petit Bateau(小帆船)
2016/08/16 全球购物
英国最大的宠物商店:Pets at Home
2019/04/17 全球购物
Vilebrequin美国官方网上商店:法国豪华泳装品牌
2020/02/22 全球购物
初中生三年学习生活的自我评价
2013/11/03 职场文书
医务人员竞聘职务自我评价分享
2013/11/08 职场文书
女生抽烟检讨书
2014/10/05 职场文书
水电工程师岗位职责
2015/02/13 职场文书
护士2015年终工作总结
2015/04/29 职场文书
民间借贷借条范本
2015/05/25 职场文书
生产实习心得体会范文
2016/01/22 职场文书