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的单位 字体属性 文本属性 定 ... 
随机推荐
- XML序列化反序列化
			using System; using System.Collections.Generic; using System.IO; using System.Xml.Serialization; nam ... 
- 测试平台系列(90) 编写oss客户端
			大家好~我是米洛! 我正在从0到1打造一个开源的接口测试平台, 也在编写一套与之对应的教程,希望大家多多支持. 欢迎关注我的公众号米洛的测开日记,获取最新文章教程! 回顾 上一节我们编写了在线执行测试 ... 
- 矩池云助力科研算力免费上"云",让 AI 教学简单起来
			矩池云是一个专业的国内深度学习云平台,拥有着良好的深度学习云端训练体验,和高性价比的GPU集群资源.而且对同学们比较友好,会经常做一些大折扣的活动,最近双十一,全场所有的RTX 2070.Platin ... 
- 'javac' 不是内部或外部命令,也不是可运行的程序或批处理文件
			记录在配置环境变量中被 Path 环境坑的一次前提:保证自己电脑中jdk环境配置都没有问题,即JAVA_HOME.Path.CLASSPATH均配置成功. 在这里我就不操作如何配置环境变量了,百度上面 ... 
- [链表]LeetCode 25 K组一个翻转链表
			LeetCode 25 k组一个翻转链表 TITLE 示例 1: 输入:head = [1,2,3,4,5], k = 2 输出:[2,1,4,3,5] 示例 2: 输入:head = [1,2,3, ... 
- web自动化之selenium(六)利用坐标点定位
			这是通过第三发库实现对元素的定位,因为在无法定位元素的时候,只能通过外部来定位,此时就可以使用pyautogui模块,操作鼠标,模拟人进行操作 # 使用注意事项,不要过于的依赖它 1.使用时需要在通过 ... 
- 2.9 C++STL map/multimap容器详解
			文章目录 2.9.1 引入 2.9.2 代码示例 map案列 multimap案列 2.9.3 代码运行结果 总结 2.9.1 引入 map相对于set区别,map具有键值和实值,所有元素根据键值自动 ... 
- github:git clone下载加速以及vim-plug下载插件加速
			git clone 下载加速 1. 先在github将仓库地址复制下来 2. git clone时将https://github.com/* 改为https://gitclone.com/github ... 
- 【Linux】apt软件管理和远程登录
			镜像下载.域名解析.时间同步请点击 阿里云开源镜像站 1. apt 介绍 apt 是 Advanced Packaging Tool 的简称,是一款安装包管理工具.在 Ubuntu 下,可以使用 ap ... 
- 如何在MySQL中增加一列
			如果想在一个已经建好的表中添加一列,可以使用诸如: alter table TABLE_NAME add column NEW_COLUMN_NAME varchar(255) not null; 这 ... 
