定位


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

语法: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. 集训 T2-监考老师

    大致题意: 找出一个位置可以选出最大的"横排总和+竖列总和". 基本思路 利用前缀和的思想在读入的时候把每一列每一行的总和都算出来, 然后暴力枚举每一个点,每一个点的答案就是这一行 ...

  2. 我和ABP vNext 的故事

    Abp VNext是Abp的.NET Core 版本,但它不仅仅只是代码重写了.Abp团队在过去多年社区和商业版本的反馈上做了很多的改进.包括性能.底层的框架设计,它融合了更多优雅的设计实践.不管你是 ...

  3. WPF 有缩放时显示线条的问题

    公司项目已经开发好几年了,用的WPF开发的,期间遇到好多问题,都是些小细节.很久没有写博客了,以后有时间还是需要写写博客啊!作为分享也好.记录也好,利人利己嘛. 今天主要说一下显示线条的问题,因为我们 ...

  4. Alink漫谈(十四) :多层感知机 之 总体架构

    Alink漫谈(十四) :多层感知机 之 总体架构 目录 Alink漫谈(十四) :多层感知机 之 总体架构 0x00 摘要 0x01 背景概念 1.1 前馈神经网络 1.2 反向传播 1.3 代价函 ...

  5. 构建私有的verdaccio npm服务

    用了很长一段时间的cnpmjs做库私有库,发现两个问题 1. 最开始是mysql对表情emoij的支持不好,但由于数据库没办法调整所以只好把第三方库都清掉,只留私有库 2. mac 上面cnpm in ...

  6. emwin显示汉字使用vs studio仿真和使用keil编写烧录的不同

    我用emwin是在新唐的开发板上练习的,所有我就去官网下了开发板的资料,别的开发板应该也有对应的资料,这些软件网上应该很容易搜得到 然后用GUIBuilder构建一个界面,再用FontArchitec ...

  7. 360随身WiFi3:纯净版无线网卡驱动下载及安装教程(Windows10版本)

    对于不带无线网卡的台式机,买一个360随身WiFi当无线网卡是很省钱的方法.但是这个随身WiFi3用的芯片较为奇葩,Win10下不太好找驱动.什么,你问我为啥不用360官网上的驱动?那个“驱动”装了之 ...

  8. PHP fopen() 函数

    定义和用法 fopen() 函数打开一个文件或 URL. 如果 fopen() 失败,它将返回 FALSE 并附带错误信息.您可以通过在函数名前面添加一个 '@' 来隐藏错误输出. 语法 fopen( ...

  9. PHP money_format() 函数

    实例 en_US 国际格式: <?php高佣联盟 www.cgewang.com$number = 1234.56;setlocale(LC_MONETARY,"en_US" ...

  10. CF582D Number of Binominal Coefficients 库默尔定理 数位dp

    LINK:Number of Binominal Coefficients 原来难题都长这样.. 水平有限只能推到一半. 设\(f(x)\)表示x中所含p的最大次数.即x质因数分解之后 p的指标. 容 ...