图层的定位 | 学习笔记

简介: 快速学习图层的定位

开发者学堂课程【零基础学前端 HTML+CSS:图层的定位】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/398/detail/5145


图层的定位

内容介绍

一、CSS 定位

二、CSS 定位机制

三、CSS position 属性

 

盒子模型的定位,就是 Positioning 的定位,之前学习过盒子的浮动,光有浮动还不够,因为经常要调整 div 的位置,一些细节的位置,不能总是靠 margin 这种去调整,肯定得调它的偏移量,margin 是它的一个外边框,就是一个边距,并不是一个位置,所以现在出现了一个专门调整它的位置。

 

一、CSS 定位

1、CSS 定位( Positioning)属性允许对元素进行定位。

2、为定位和浮动提供了一些属性,利用这些属性,可以建立列示布局,将布局的一部分与另一部分重叠,还可以完成多年来通常需要使用多个表格才能完成的任务。定位更多是基于嵌套的定位,一个大的 div,里面嵌套一个小的 div,想让它居左的时候有一定的距离,居右时有一定的距离,这是调整的意义所在。

 

二、CSS 定位机制

1、CSS 有三种基本的定位机制:普通流、浮动和绝对定位。

2、除非专门指定,否则所有框都在普通流中定位。普通刘中的元素的位置由元素在( X )HTML 中的位置决定。

3、浮动流就是它本身已经浮动起来了,在浮动的基础上,再对元素进行定位。

4、块级框从上到下一个接一个排列,框之间的垂直距离是由框的垂直外边距计算出来。

 

三、CSS position 属性

1、通过使用 position 属性,可以选择4种不同类型的定位,这会影响元素框生成的方式。

(1)新建一个 position 的定位,普通流就是它还没有浮动起来,浮动起来就是浮动流,引入 float.html 里面的代码。

<div id=" f1" >浮动1</div>

<div id=" f2" >浮动2</div>

<div id=" f3" >浮动3</div>

在这个代码之上进行一些修改。先运行一下浮动的代码,三个框。

(2)首先改变一下,都让它居左边,浮动起来以后,希望红色上面和下面产生一些距离,可以用定位把位置做出改变。

2、position 属性值的含义:

(1)static 元素框正常生成。块级元素生成一个矩形框,作为文档流的一部分,行内元素则会创建一个或多个杭匡,置于父元素中。

(2)relative 元素框偏移某个距离。元素仍保持其未定位的形状,它原本所占的空间仍保留。

(4)在这里面它有相对定位和绝对定位,默认值是 static ,相当于原本的一个位置,所以不用单独写它,本身就是一个默认值,所以现在可以写一个 relative ,偏移某个距离,元素仍保持其未定位的形状,并不是给它删掉,在代码里面增加一个 position 相对定位,再单独增加上下左右四个属性,执行就可以看到这个元素改变浮动的位置,但是并没有影响右边的浮动属性,左边产生一个距离,上边也产生一个距离,下边和右边也是有的。位置都保留起来了,因为他们之间不是一个图层,所以互不影响,这是一个相对调整的位置,相对于浏览器。

f3 里面可以包含一个 f4 的属性。

<div id="f3">

<div id=" f4">绝对定位</div>

让 f3 也浮动起来,让它浮动到左边,

Float:left;

f4 调小一点,50 像素乘 50 像素,加一个背景颜色。绝对定位 f4 其实是被嵌套在f3 里面的,为了清楚一些,可以在 f3 打上一点文字。

<div id=" f1 >浮动1</div>

<div id=" f2">浮动2</div>

<div id="f3">

F3333333333333333

<div id=" f4">绝对定位F4</div>

复制到 f4。

#f4 {

width: 50px;

height: 50px;

background-color: #c0c0c0 :

position: relative;

top: 100px ;

bot tom: 100px ;

left: 100px;

right:100px;
}

可以看到它是相对于 f3。

image.png

(5)absolute 元素框从文档流完全删除,并相对于其包含块定位。包含块可能是文档中的另一个元素或者是初始包含块。元素原先在正常文档流中所占的空间会关闭,就好像元素原来不存在一样。元素定位后生成一个块级框,而不论原来它在正常流中生成何种类型的框。

绝对定位的属性。

当属性值改成 absolute,运行可以发现绝对定位的值,跑到了页面的外面,如果单独写 position:absolute;absolute 属性,那么它的值参考它的 body,最外框的属性,body 就是浏览器的框,所以它是参考浏览器的框居左或居上,变成一个绝对值。

image.png

如果想让它变成一个相对的值,需要在f3的负级的面板里增加一个 position: relative,所以再刷新的时候,相对于这个位置做了一个绝对的定位。

增加了一个 top:100px;可以看到它的位置还在这。

(6)fixed 元素框的表现类似于将 position 设置为 absolute ,不过其包含块是视窗本身。

比如这个页面内容有点多,增加很多个 br 标签, 可以发现浮动 2 元素一直是不动的,当滚动条向下滚动的时候,内容一直在这个位置,这个可以经常在网站上面看到,网站上有一些菜单,就浮动在这个位置上面,或者上面有一个广告,或者右下角的广告,一直是浮动在这个位置,不管怎么拉菜单,位置都不发生改变,那个就是设置 fixed。

在 f2 设置

#f2{

width: 200px ;

height: 200px;

background-color : green ;

float: left;

position: fixed;

top: 0px ;

left: 500px;

}

可以看到它是一个绝对的位置,当浏览器进行滚动的时候,浮动 2 的面板,永远都在这个位置上不动,针对于浏览器它是一个绝对的值。

image.png

这就是四种浮动的状态。

相关文章
|
10月前
|
定位技术
高德地图进阶开发实战案例(6):添加自定义图片覆盖物图层获取可视范围经纬度的解决方案
高德地图进阶开发实战案例(6):添加自定义图片覆盖物图层获取可视范围经纬度的解决方案
181 0
|
5月前
|
测试技术 定位技术
【sgDragMoveTile】自定义组件:拖拽瓦片图、地图、大图,滚动条对应同步滚动
【sgDragMoveTile】自定义组件:拖拽瓦片图、地图、大图,滚动条对应同步滚动
|
5月前
|
测试技术
【sgTileImage】自定义组件:瓦片图拖拽局部加载、实现以鼠标为中心缩放
【sgTileImage】自定义组件:瓦片图拖拽局部加载、实现以鼠标为中心缩放
|
10月前
|
定位技术
echarts. registerMap选项specialAreas将地图中的部分区域缩放到合适的位置,可以使得整个地图的显示更加好看
echarts. registerMap选项specialAreas将地图中的部分区域缩放到合适的位置,可以使得整个地图的显示更加好看
70 0
|
10月前
|
JSON 定位技术 API
百度地图高级开发:获取某范围半径圆形区域检索覆盖物内的所有标注的解决方案(1)
百度地图高级开发:获取某范围半径圆形区域检索覆盖物内的所有标注的解决方案(1)
165 0
|
11月前
图片和文件预览组件(部分源码),可拖动,缩小,放大。 #41
图片和文件预览组件(部分源码),可拖动,缩小,放大。 #41
90 0
|
定位技术
在地图上基于OpenLayers实现点/线/面静态的绘制显示
在地图上基于OpenLayers实现点/线/面静态的绘制显示
537 0
在地图上基于OpenLayers实现点/线/面静态的绘制显示
|
JavaScript 前端开发 开发者
分类页 -iscroll 区域滚动|学习笔记
快速学习 分类页 -iscroll 区域滚动
82 0
|
前端开发 JavaScript 容器
分享个小案例-Fixed定位的框选功能
最近项目涉及到一个支持批量操作的小需求,交互上需要使用框选来触发。在查阅了一些资料后发现,网上的方案基本都是基于绝对定位布局的,此方案如果是针对全局(在body上)的框选,还是可用的。但是现实需求里几乎都是针对某个区域的框选。如果用绝对定位实现就比较繁琐了,需要调整定位原点。下面介绍一种基于Fixed定位的框选实现。
136 0
分享个小案例-Fixed定位的框选功能
|
Windows
《Photoshop图层调整深度剖析》—第2章2.1节添加调整图层
<span style='letter-spacing:1px'>本节书摘来自异步社区《Photoshop图层调整深度剖析》一书中的第2章2.1节添加调整图层,作者【美】Scott Valentine,更多章节内容可以访问云栖社区“异步社区”公众号查看。</span>
1807 0