CSS - 定位属性position使用详解(static、relative、fixed、absolute)
position 属性介绍
(1)position 属性自 CSS2 起就有了,该属性规定元素的定位类型。所有主流浏览器都支持 position 属性。
(2)position 的可选值有四个:static、relative、absolute、fixed。下面分别进行介绍。(其实还有个 inherit,不过这个是 IE 特有的,这里就不做讨论)
<h3 id="position: static(默认值)"> position: static(默认值)</h3>
1,基本介绍
(1)static 是默认值。表示没有定位,或者说不算具有定位属性。
(2)如果元素 position 属性值为 static(或者未设 position 属性),该元素出现在正常的流中(忽略 top, bottom, left, right 或者 z-index 声明)。
2,使用样例
css:
<style>
div {
width: 200px;
height: 100px;
background-color: #C9FFFF;
}
</style>
html:
<div></div>
<input type="text"/>
我们不设置元素的 postion 属性值,那么默认的显示效果如下:
<div class="position-static"></div> <input type="text"/>
<h3 id="position: relative(相对定位)"> position: relative(相对定位)</h3>
1,基本介绍
(1)relative 生成相对定位的元素,相对于其正常位置进行定位。
(2)相对定位完成的过程如下:
首先按默认方式(static)生成一个元素(并且元素像层一样浮动了起来)。
然后相对于以前的位置移动,移动的方向和幅度由 left、right、top、bottom 属性确定,偏移前的位置保留不动。
2,样例代码
下面代码将文本输入框 position 设置为 relative(相对定位),并且相对于默认的位置向右、向上分别移动 15 个像素。
css:
div {
width: 200px;
height: 100px;
background-color: #C9FFFF;
}
input {
position: relative;
left: 15px;
top: -15px;
}
html:
<div></div>
<input type="text" />
运行效果如下:
详情见我的博客: https://alex-0407.github.io/b...
1,基本介绍
(1)absolute 生成绝对定位的元素。
(2)绝对定位的元素使用 left、right、top、bottom 属性相对于其最接近的一个具有定位属性的父元素进行绝对定位。
(3)如果不存在这样的父元素,则相对于 body 元素,即相对于浏览器窗口。
2,样例代码
下面代码让标题元素相对于它的父容器做绝对定位(注意父容器 position 要设置为 relative)。
同时通过 top 属性让标题元素上移,使其覆盖在父容器的上边框。
最后通过 left 和 margin-left 配合实现这个绝对定位元素的水平居中。
css:
#box {
width: 200px;
height: 100px;
-webkit-box-flex:1;
border: 1px solid #28AE65;
border-radius:6px;
padding: 20px;
position: relative;
font-size: 12px;
}
#title {
background: #FFFFFF;
color: #28AE65;
font-size: 15px;
text-align: center;
width: 70px;
height: 20px;
line-height: 20px;
position: absolute;
top: -10px;
left: 50%;
margin-left: -35px;
}
html:
<div id="box">
<div id="title">标题</div>
欢迎访问我的博客
</div>
运行效果如下,标题元素虽然是在边框容器的内部。但由于其使用绝对定位,并做位置调整,最后显示效果就是覆盖在父容器边框上。
详情见我的博客: https://alex-0407.github.io/b...
1,基本介绍
(1)fixed 生成绝对定位的元素,该元素相对于浏览器窗口进行定位。
(2)固定定位的元素不会随浏览器窗口的滚动条滚动而变化,也不会受文档流动影响,而是始终位于浏览器窗口内视图的某个位置。
2,样例代码
(1)下面代码让输入框位于浏览器窗口的底部。
css:
input {
position: fixed;
bottom: 10px;
}
html:
<ol>
<li>数据</li><li>数据</li><li>数据</li><li>数据</li><li>数据</li><li>数据</li>
<li>数据</li><li>数据</li><li>数据</li><li>数据</li><li>数据</li><li>数据</li>
<li>数据</li><li>数据</li><li>数据</li><li>数据</li><li>数据</li><li>数据</li>
<li>数据</li><li>数据</li><li>数据</li><li>数据</li><li>数据</li><li>数据</li>
</ol>
<input type="text" />
(2)可以看到不管滚动条如何滚动,输入框始终处于窗口的最下方。
详情见我的博客: https://alex-0407.github.io/b...
更多angular1/2/4/5、ionic1/2/3/4、react、vue、微信小程序、nodejs等技术文章、视频教程和开源项目,请扫一扫下面的二维码关注微信公众号——全栈弄潮儿。
福利专区:扫码关注,免费领取淘宝天猫内部优惠券
本文转载于:猿2048→https://www.mk2048.com/blog/blog.php?id=h0kkh1222kj
CSS - 定位属性position使用详解(static、relative、fixed、absolute)的更多相关文章
- CSS中属性position位置详解功能讲解与实例分析
position有五个值:static.relative.absolute.fixed.inherit. static 是默认值.就是按正常的布局流从上到下从左到右布局,平常我们做网页制作时,没有指定 ...
- CSS定位属性Position详解
CSS中最常用的布局类属性,一个是Float(CSS浮动属性Float详解),另一个就是CSS定位属性Position. 1. position:static 所有元素的默认定位都是:position ...
- CSS属性:定位属性(图文详解)
本文最初发表于博客园,并在GitHub上持续更新前端的系列文章.欢迎在GitHub上关注我,一起入门和进阶前端. 以下是正文. CSS的定位属性有三种,分别是绝对定位.相对定位.固定定位. posit ...
- CSS定位属性position相关介绍
position属性用来定义元素的定位方式. 定位相关属性值 1.static 默认值 2.absolute 绝对定位 3.fixed 固定定位 4.relative 相对定位 5.sticky 粘性 ...
- css 定位属性position的使用方法实例-----一个层叠窗口
运行结果: <!DOCTYPE html> <html> <head> <title>重叠样式窗口</title> <style ty ...
- 关于CSS定位属性 position 的使用
CSS中一般通过浮动和定位来对标签进行位置操作.下面我们来讨论一下定位的用法和需要注意的地方. 1.首先,说一下position的几个属性值 (1)none属性值,这个是定义不进行定位,默认为不定位, ...
- CSS学习笔记:定位属性position
目录 一.定位属性简介 二.各属性值的具体功能 1. relative 2. absolute 3. fixed 三.三种定位属性的效果总结 参考资料:https://www.bilibili.com ...
- css 之position用法详解
css 之position用法详解: http://www.jb51.net/web/77495.html
- CSS样式----CSS属性:字体属性和文本属性(图文详解)
本文最初于2015-10-04发表于博客园,并在GitHub上持续更新前端的系列文章.欢迎在GitHub上关注我,一起入门和进阶前端. 以下是正文. 本文重要内容 CSS的单位 字体属性 文本属性 定 ...
随机推荐
- 面向对象编程(C++篇2)——构造
目录 1. 引述 2. 详述 2.1. 数据类型初始化 2.2. 类初始化 1. 引述 在C++中,学习类的第一课往往就是构造函数.根据构造函数的定义,构造函数式是用于初始化类对象的数据成员的.无论何 ...
- 文件IO示例程序
系统调用实现 open close write等等 /* #include <unistd.h> ssize_t read(int fd, void *buf, size_t count) ...
- 使用 yapi-to-typescript 生成接口响应数据的 TS 类型声明
TS 是越写越爽,但是很不爽的是接口响应数据一堆,每次要去手写很麻烦. 最近正好后端接口文档从一个垃圾工具切换到了 Yapi,然后去搜了下可以通过接口文档自动生成 TS 类型声明,就自己搞了下,还是很 ...
- react 16.8版本新特性以及对react开发的影响
Facebook团队对社区上的MVC框架都不太满意的情况下,开发了一套开源的前端框架react,于2013年发布第一个版本. react最开始倡导函数式编程,使用function以及内部方法React ...
- linux定时任务 - at定时任务
at命令是一次性定时计划任务,at的守护进程atd会以后台模式运行,检查作业队列来运行作业.atd守护进程会检查系统上的一个特殊目录来获取at命令的提交的作业,默认情况下,atd守护进程每60秒检查一 ...
- Guava中这些Map的骚操作,让我的代码量减少了50%
原创:微信公众号 码农参上,欢迎分享,转载请保留出处. Guava是google公司开发的一款Java类库扩展工具包,内含了丰富的API,涵盖了集合.缓存.并发.I/O等多个方面.使用这些API一方面 ...
- 浅浅的聊一下 WebSocket
第一次看到 ws:// 和 wss:// 时候,感觉好高级啊,还有这种协议. Websocket 历史 WebSocket是在2008年6月诞生的1.经由IEFT标准化后,2009年chrome 4第 ...
- java的三大特性----封装、集成、多态
当我们被问到你对java的封装.继承.多态是什么看法的时候,你会想到什么? 想到的会不会是封装就是将类的成员属性用privet修饰一下,达到私有化的目的,只暴露方法,从而达到成员变量私有化的目的. 而 ...
- 命令行安装django以及新建项目及应用
1:安装django项目,使用pip命令进行安装,默认安装的是最高版本,可以使用pip install django==1.1.11进行指定版本安装 2:新建django项目 2.1:首先切换到创建项 ...
- MySQL8.0降级安装5.7
本文旨在自我学习使用,如有任何疑问请及时联系博主 前言 基于OpenHarmony的FA数字管家服务端 默认情况下,Ubuntu20.04安装MySQL的版本为8.0.但8.0更加严格的加密规则,使得 ...