详解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 相关文章推荐
移动端rem布局的两种实现方法
Jan 03 HTML / CSS
非常震撼的纯CSS3人物行走动画
Feb 24 HTML / CSS
CSS3点击按钮实现背景渐变动画效果
Oct 19 HTML / CSS
利用HTML5+css3+jquery+weui实现仿微信聊天界面功能
Jan 08 HTML / CSS
HTML5中语义化 b 和 i 标签
Oct 17 HTML / CSS
html5画布旋转效果示例
Jan 27 HTML / CSS
three.js模拟实现太阳系行星体系功能
Sep 03 HTML / CSS
VSCode 自定义html5模板的实现
Dec 05 HTML / CSS
video下autoplay属性无效的解决方法(添加muted属性)
May 19 HTML / CSS
HTML5获取当前地理位置并在百度地图上展示的实例
Jul 10 HTML / CSS
HTML基础-标签分类(闭合标签,空标签,块级元素,行内元素,行级块元素,可替换元素)
Mar 31 HTML / CSS
纯CSS3实现div按照顺序出入效果
Jul 15 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
迅雷下载《中学科技》怀旧期刊下载
2021/02/27 无线电
PHP_MySQL教程-第一天
2007/03/18 PHP
Zend Studio for Eclipse的java.lang.NullPointerException错误的解决方法
2008/12/06 PHP
你可能不知道PHP get_meta_tags()函数
2014/05/12 PHP
深入解析PHP的Yii框架中的event事件机制
2016/03/17 PHP
用Laravel Sms实现laravel短信验证码的发送的实现
2018/11/29 PHP
Jquery截取中文字符串的实现代码
2010/12/22 Javascript
新鲜出炉的js tips提示效果
2011/04/03 Javascript
JSON.stringify 语法实例讲解
2012/03/14 Javascript
JS判断页面加载状态以及添加遮罩和缓冲动画的代码
2012/10/11 Javascript
js关闭父窗口时关闭子窗口
2013/04/01 Javascript
通过AJAX的JS、JQuery两种方式解析XML示例介绍
2013/09/23 Javascript
给应用部分的js代码设定一个统一的入口
2014/06/15 Javascript
分享我的jquery实现下拉菜单心的
2015/11/29 Javascript
Bootstrap组件学习之导航、标签、面包屑导航(精品)
2016/05/17 Javascript
AngularJS入门教程之路由与多视图详解
2016/08/19 Javascript
浅谈js键盘事件全面控制
2016/12/01 Javascript
HTML5+jQuery实现搜索智能匹配功能
2017/03/24 jQuery
vscode中vue-cli项目es-lint的配置方法
2018/07/30 Javascript
浅谈React之状态(State)
2018/09/19 Javascript
layer提示框添加多个按钮选择的实例
2019/09/12 Javascript
vue项目中js-cookie的使用存储token操作
2020/11/13 Javascript
python网络编程学习笔记(二):socket建立网络客户端
2014/06/09 Python
一文总结学习Python的14张思维导图
2017/10/17 Python
Python爬虫实现爬取京东手机页面的图片(实例代码)
2017/11/30 Python
Python求出0~100以内的所有素数
2018/01/23 Python
python实现宿舍管理系统
2019/11/22 Python
Python爬虫之Selenium实现关闭浏览器
2020/12/04 Python
jupyter 添加不同内核的操作
2021/02/06 Python
英国知名美妆护肤在线商城:Zest Beauty
2018/04/24 全球购物
优秀毕业生求职信范文
2014/01/02 职场文书
班级读书活动总结
2014/06/30 职场文书
公司人事任命通知
2015/04/20 职场文书
2015年司机工作总结
2015/04/23 职场文书
详解Go语言Slice作为函数参数的使用
2021/07/02 Golang
mysql中数据库覆盖导入的几种方式总结
2022/03/25 MySQL