定位


定位:通过定位可以将元素摆放在页面中任意位置

语法:position属性设置元素的定位

可选值:static:默认值,开启定位

    relative开启相对定位

    absolute开启绝对定位

    fixed开启固定定位

相对定位:当元素设置position:relative;开启元素的相对定位

1           开启相对定位,元素不会发生任何变化

2           开启相对定位后,元素不会脱离文档流

3           相对定位的元素,是相对于其在文档流中的位置进行定位的

4           相对定位会使元素提升一个层级(可以遮盖其他块)

5           相对定位不会改变元素的性质,块还是块,行内还是行内

当元素开启定位后,可以通过四个方向的偏移量(offset)来控制元素的位置:

  top:元素与其定位位置的顶部距离

  bottom:元素与其定位位置的底部距离

  left:元素与其定位位置的左侧距离

  right:元素与其定位位置的右侧距离

绝对定位:(难点:参照物??)当元素设置position:absolute;开启元素的绝对定位

1           绝对定位会完全脱离文档流

2           绝对定位会改变元素的性质,行内变块,块宽高被内容撑开

3           开启绝对定位后若不设置偏移量,元素的位置不发生变化,位置还在那里

4           绝对定位会相对于离它最近的开启了定位的祖先元素进行定位

5           绝对定位会使元素提升一个层级(层级优先级:文档流<浮动<定位)

<div class=’box1’>

  <div class=’box2’>

  <div class=’box3’></div></div>

</div>

定位时的参照物:

  若box2设置absolute,box3与box2原点对齐;若box2未开,box1开,与box1对齐;否则与body对齐

若所有祖先元素都未开启绝对定位,则相对于HTML标签进行定位

一般情况,我们为一个元素开启绝对定位,会同时为它的父辈元素开启相对定位

绝对定位元素会相对于它的包含块进行定位

 

包含块:

  对于绝对定位元素来说,包含块就是离它最近的开启定位的块元素

  若没有开启定位的祖先元素,则其包含块是网页中的初始包含块(html为初始包含块)

开启绝对定位后,布局的公式新加入四个属性:

水平方向:

left+margin-left+border-left+padding-left+width+padding-right+border-right+margin-right+right=包含块的宽度

绝对定位元素水平方向布局的等式:auto+auto+0+0+200px+0+0+auto+auto=500px

垂直方向:

top+margin-top+border-top+padding-top+height+padding-bottom+border-bottom+margin-bottom+bottom=包含块的高度

  此时有五个值可设置为auto:left/right/margin-left/margin-right/width

在包含块中居中:

left:0;

right:0;

margin:0 auto;

全部居中(上下左右)

position:absolute;

left:0;

right:0;

top:0;

bottom:0;

Margin:auto;

固定定位:当元素设置position:fixed;开启元素的绝对定位

  特点与绝对定位一样,不同点:相对于浏览器的窗口(视口)进行定位

粘滞定位:电话部:王,李---粘滞其姓

.l1{

position:sticky;     l1标签的内容黏贴

top:0;

background-color:#bfa;

}

.l1{              l2标签的内容黏贴

position:sticky;

top:20px;

background-color:#bfa;

}

层级:开启定位元素会提升一个层级,定位元素层级可以同z-index来设置,z-index需要一个整数作为参数,值越大层级越高

父元素的层级再高,也不会盖住子元素;

若z-index的值相等,则后面元素会盖住前边元素;使用z-index时,需要开启 定位;

position:relative;

z-index:n;

设置不透明颜色度:方法一:opacity:0-1;(不,完全透)------0.5:半透明   元素整个透明(文字)

            方法二:rgba(0,0,0,0.5)                 只是颜色透明

HTML基础-04的更多相关文章

  1. javaSE基础04

    javaSE基础04 一.三木运算符 <表达式1> ? <表达式2> : <表达式3> "?"运算符的含义是: 先求表达式1的值, 如果为真, ...

  2. javascript基础04

    javascript基础04 1.循环语句 1.While 语句: while (exp) { //statements; } var i = 1; while(i < 3){ alert(i) ...

  3. Linux命令工具基础04 磁盘管理

    Linux命令工具基础04 磁盘管理 日程磁盘管理中,我们最常用的有查看当前磁盘使用情况,查看当前目录所占大小,以及打包压缩与解压缩: 查看磁盘空间 查看磁盘空间利用大小 df -h -h: huma ...

  4. Linux基础04

    ** Linux基本操作常用命令(四) ** Linux系统管理命令 1.top:查看系统资源,每隔三秒刷新一次,按q:退出浏览状态 2.free:查看内存信息,-m,以MB单位显示 3.netsta ...

  5. Spring 框架基础(04):AOP切面编程概念,几种实现方式演示

    本文源码:GitHub·点这里 || GitEE·点这里 一.AOP基础简介 1.切面编程简介 AOP全称:Aspect Oriented Programming,面向切面编程.通过预编译方式和运行期 ...

  6. Java入门 - 语言基础 - 04.对象和类

    原文地址:http://www.work100.net/training/java-object-class.html 更多教程:光束云 - 免费课程 对象和类 序号 文内章节 视频 1 概述 2 J ...

  7. Java知识系统回顾整理01基础04操作符05赋值操作符

    一.赋值操作 赋值操作的操作顺序是从右到左 int i = 5+5; 首先进行5+5的运算,得到结果10,然后把10这个值,赋给i public class HelloWorld { public s ...

  8. Java知识系统回顾整理01基础04操作符01算术操作符

    一.算数操作符类别 基本的有: + - * / % 自增 自减: ++ -- 二.基本算数操作符 + - * / 基本的加 减 乘 除 public class HelloWorld { public ...

  9. python基础04 运算

    数学运算 print 2+2  #加法 print 1.3-4 #剪法 print 3*5 #乘法 print 4.5/1.5 #除法 print 3**2   #乘方 print 10%3   #求 ...

  10. C#基础04

    介绍:泛型介绍,索引,Foreach遍历的解释,yield方法,path文件操作,Directory类基本操作<目录> 一:泛型   百度资料:泛型是 2.0 版 C# 语言和公共语言运行 ...

随机推荐

  1. 为Dark模拟做出的一些微小的贡献

    这几周经过liners大佬的指导,发现自己的代码实现能力确实太过于垃圾,所以根据他的指示,我应该去多多练习一下Dark模拟,但是最近刚刚入手Dark模拟的我感到非常的吃力,所以本人今天写博客一篇来讲述 ...

  2. 尝鲜刚发布的 SpringFox 3.0.0,以前造的轮子可以不用了...

    最近 SpringFox 3.0.0 发布了,距离上一次大版本2.9.2足足有2年多时间了.可能看到这个名字,很多读者会有点陌生.但是,只要给大家看一下这两个依赖,你就知道了! <depende ...

  3. Substance Designer学习资料参考及学习入门感受

    先奉上大佬写的: 名称:Substance Designer 萌新入门流程 地址:https://zhuanlan.zhihu.com/p/56194917 作者:ShadowjackLeeSD小菜鸡 ...

  4. Python 简明教程 --- 24,Python 文件读写

    微信公众号:码农充电站pro 个人主页:https://codeshellme.github.io 过去的代码都是未经测试的代码. 目录 无论是哪种编程语言,IO 操作都是非常重要的部分.I 即Inp ...

  5. ajax工作原理/实例

    ajax是什么? 是一种创建交互式网页应用的一种网页技术.简单来说,就是向服务器发起请求,获得数据使交互性和用户体验更好. ajax不是一种新的技术,是一些技术的集合体.有 1.XHTML和CSS 2 ...

  6. 5万字长文:Stream和Lambda表达式最佳实践-附PDF下载

    目录 1. Streams简介 1.1 创建Stream 1.2 Streams多线程 1.3 Stream的基本操作 Matching Filtering Mapping FlatMap Reduc ...

  7. Spring Boot AOP的使用

    简单来说讲,动态地将代码切入到类的指定方法.指定位置上的编程思想就是面向切面的编程. 目录 AOP几个术语 AOP Demo 引入Maven依赖 一个简单的Controller 定义切面类 调用服务 ...

  8. .NET Core学习笔记(7)——Exception最佳实践

    1.为什么不要给每个方法都写try catch 为每个方法都编写try catch是错误的做法,理由如下: a.重复嵌套的try catch是无用的,多余的. 这一点非常容易理解,下面的示例代码中,O ...

  9. Python环境搭建及中文编码

    Python 官方下载地址:https://www.python.org/downloads/ 64 位下载客户端  32 位下载客户端 在安装之后,可能在桌面上看不到图标.这时可以到开始菜单下寻找 ...

  10. 如果你大学上过编程课,一定被老师提醒过:不要使用 goto 语句!

    如果你上过编程课,一定被老师提醒过:不要使用goto语句! 因为goto语句不仅让代码的可读性很差,随意的跳出还会给程序带来安全隐患. 但是这种几乎被现代编程明令禁止的语句,在计算机诞生之初却司空见惯 ...