详解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 相关文章推荐
表单button的outline在firefox浏览器下的问题
Dec 24 HTML / CSS
纯CSS3打造动感漂亮时尚的扇形菜单
Mar 18 HTML / CSS
CSS3的常见transformation图形变化用法小结
May 13 HTML / CSS
html5本地存储_动力节点Java学院整理
Jul 12 HTML / CSS
html5 兼容IE6结构的实现代码
May 14 HTML / CSS
网易微博Web App用HTML5开发的过程介绍
Jun 13 HTML / CSS
使用html5 canvas 画时钟代码实例分享
Nov 11 HTML / CSS
基于HTML5的WebGL经典3D虚拟机房漫游动画
Nov 15 HTML / CSS
AmazeUI 点击元素显示全屏的实现
Aug 25 HTML / CSS
html5 拖拽及用 js 实现拖拽功能的示例代码
Oct 23 HTML / CSS
使用layui框架实现点击左侧导航切换右侧内容且右侧选项卡跟随变化的效果
Nov 10 HTML / CSS
Unicode中的CJK(中日韩统一表意文字)字符小结
Dec 06 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
如何批量替换相对地址为绝对地址(利用bat批处理实现)
2013/05/27 PHP
php判断字符串在另一个字符串位置的方法
2014/02/27 PHP
PHP图片加水印实现方法
2016/05/06 PHP
thinkphp3.2中实现phpexcel导出带生成图片示例
2017/02/14 PHP
php实现微信扫码支付
2017/03/26 PHP
jquery multiSelect 多选下拉框
2010/07/09 Javascript
Array.prototype.concat不是通用方法反驳[译]
2012/09/20 Javascript
JavaScript自定义方法实现trim()、Ltrim()、Rtrim()的功能
2013/11/03 Javascript
js写的方法实现上传图片之后查看大图
2014/03/05 Javascript
JS定义网页表单提交(submit)的方法
2015/03/20 Javascript
JS中生成随机数的用法及相关函数
2016/01/09 Javascript
zTree异步加载展开第一级节点的实现方法
2017/09/05 Javascript
js canvas画布实现高斯模糊效果
2018/11/27 Javascript
React 使用Hooks简化受控组件的状态绑定
2019/03/18 Javascript
解决vue组件没显示,没起作用,没报错,但该显示的组件没显示问题
2020/09/02 Javascript
[01:10]DOTA2次级职业联赛 - Fly战队宣传片
2014/12/01 DOTA
python用字典统计单词或汉字词个数示例
2014/04/22 Python
Python中Numpy包的安装与使用方法简明教程
2018/07/03 Python
Python项目 基于Scapy实现SYN泛洪攻击的方法
2019/07/23 Python
python实现超市商品销售管理系统
2019/10/25 Python
浅谈python的elementtree模块处理中文注意事项
2020/03/06 Python
Python ATM功能实现代码实例
2020/03/19 Python
Python BeautifulReport可视化报告代码实例
2020/04/13 Python
python argparse模块通过后台传递参数实例
2020/04/20 Python
Python enumerate() 函数如何实现索引功能
2020/06/29 Python
分享CSS3制作卡片式图片的方法
2016/07/08 HTML / CSS
HTML5 File接口在web页面上使用文件下载
2017/02/27 HTML / CSS
Bootstrap File Input文件上传组件
2020/12/01 HTML / CSS
国外平面设计素材网站:The Hungry JPEG
2017/03/28 全球购物
英国最大的电子零件及配件零售商:Partmaster
2017/04/24 全球购物
仓库班组长岗位职责
2013/12/12 职场文书
党员2014两会学习心得体会
2014/03/17 职场文书
护士实习求职信
2014/06/22 职场文书
学校学习雷锋活动总结
2014/07/03 职场文书
酒店采购员岗位职责
2015/04/03 职场文书
Spring boot admin 服务监控利器详解
2022/08/05 Java/Android