CSS 的定位方式和含义

总结一下 CSS 的定位方式。CSS 的定位 position 是处理页面布局时非常重要的属性。

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

在没有指定的情况下,所有的 CSS 元素都在普通流中定位,在这种模式下,元素的位置由于浏览器根据元素在 html 文档中的位置决定,块级元素从上到下排列,行内元素水平排列。

<style>
div {
padding: 0;
margin: 0;
}
#div0 {
width: 200px;
padding: 10px;
}
</style>
<div id="div0" style="background-color: gray">
div0
<div id="div1" style="background-color: red">div1</div>
<div id="div2" style="background-color: green">div2</div>
<div id="div3" style="background-color: blue">div3</div>
</div>

得到的结果为:

通过使用元素的 CSS 的 position 属性,常用 4 种定位:static、relative、absolute、fixed ,以及一个浮动定位属性 float。

static 是默认的定位方式,即不对元素进行特殊的定位,由浏览器按照文档的处理进行自动定位。

relative 相对定位,元素从原始位置偏移某个距离,但仍然占用原来的空间。 div1 使用 relative 定位,进行向下向右偏移,如下

#div1 {
position: relative;
top: 20px;
left: 20px;
}

div1 仍然占用原来的空间,但位置已在原来的位置上进行了偏移,得到的结果为:

fixed 定位总是相对视窗的位置来定位,并且从文档流中脱离,会在页面的滚动时保留在相对视窗的位置,如下

#div1 {
position: fixed;
top: 20px;
left: 20px;
}

得到的结果为:

absolute 绝对定位,会把元素从正常文档中所占的空间关闭,然后相对其最近的某个已经进行过定位的祖先元素进行定位。如果祖先元素中没有进行过 position 的定位,那么就会相对 body 进行定位。进行 absolute 定位之后,元素总是生存一个块级框,不论原来是什么类型的元素。修改原来的文档,加上 div container ,定位为 relative ,处理 div1 ,使用 absolute 定位,如下

<style>
div {
padding: 0;
margin: 0;
}
#container {
position: relative;
padding: 30px;
}
#div0 {
width: 200px;
padding: 10px;
}
#div1 {
position: absolute;
top: 20px;
left: 20px;
}
</style>
<div id="container" style="background-color: cadetblue">
<div id="div0" style="background-color: gray">
div0
<div id="div1" style="background-color: red">div1</div>
<div id="div2" style="background-color: green">div2</div>
<div id="div3" style="background-color: blue">div3</div>
</div>
</div>

得到 div1 相对 container 的偏移定位

float 会使框进行浮动,向左或向右,直到碰到它包含框的边缘,元素不占用文档流的空间。如下

<style>
div {
padding: 0;
margin: 0;
}
#div0 {
width: 200px;
padding: 10px;
}
#div1 {
width: 100px;
float: right;
}
</style>
<div id="div0" style="background-color: gray">
div0
<div id="div1" style="background-color: red">div1</div>
<div id="div2" style="background-color: green">div2</div>
<div id="div3" style="background-color: blue">div3</div>
</div>

结果如下

CSS 的定位方式和含义的更多相关文章

  1. CSS特例定位方式

    同级向下一个元素定位,一个+表示下一个元素,++表格下下个元素 input[name='name1'] +input td:eq(0)表示第一个td元素,此定位方式限于执行js,在selenium时用 ...

  2. CSS 中定位方式有几种,说明他们的意义

    1.static  默认定位方式 显示为没有设置定位时的位置 2.fixed(固定定位)  他所相对固定的对象是可视窗口,与其他无关.以浏览器窗口作为参考进行定位 3.relative(相对定位) 元 ...

  3. css中对position的几种定位方式的最佳诠释

    关于元素的position定位的理解,牛客网的hardy给出了一个比较好的理解: 在html中网页可以看成一个立体的空间,一个完整的页面是由很多个页面堆积形成的,如上图所示   CSS中Positio ...

  4. css定位方式有哪几种?

    复杂的网页布局都是通过各种网页元素灵活定位实现的,网页中的各种元素定位都有自己的特点.下面我们来看一下css的几种定位方式. float定位(即浮动定位): 这种定位方式很简单,只需规定一个浮动的方向 ...

  5. 定位方式 及CSS高级技巧

    定位 background-position 背景位置 浮动,在一个浮字上面,我们的定位,在一个位上.CSS离不开定位,特别是后面的JS特效,天天和定位打交道. 为什么要使用定位? 元素的定位属性 元 ...

  6. 使用CSS进行定位

    CSS中通过使用position属性,有4种不同类型的定位方式,这会影响元素框生成的方式. position属性值的含义: static:静态定位 元素框正常生成.块级元素生成一个矩形框,作为文档流的 ...

  7. 【WEB自动化】【第一节】【Xpath和CSS元素定位】

    目前自动化测试开始投入WEB测试,使用RF及其selenium库,模拟对WEB页面进行操作,此过程中首先面对的问题就是对WEB页面元素的定位,几乎所有的关键字都需要传入特定的WEB页面元素,因此掌握常 ...

  8. CSS Position 定位属性

    本篇文章主要介绍元素的Position属性,此属性可以设置元素在页面的定位方式. 目录 1. 介绍 position:介绍position的值以及辅助属性. 2. position 定位方式:介绍po ...

  9. htnl中的遮罩层以及定位方式

    在页面显示遮罩层,例如:一个div的css样式: $msk.css({ "top":"0", "left":"0", & ...

随机推荐

  1. MongoDB 安装

    年初换了个硬盘空间更大的vps,这下终于可以装MongoDB了. 1 配置包管理系统(yum) 建立 /etc/yum.repos.d/mongodb-org-3.2.repo文件.内容如下: [mo ...

  2. 如何快速地从mongo中提取数据到numpy以及pandas中去

    mongo数据通常过于庞大,很难一下子放进内存里进行分析,如果直接在python里使用字典来存贮每一个文档,使用list来存储数据的话,将很快是内存沾满.型号拥有numpy和pandas import ...

  3. CentOS 6.5 下 CDH 5.2.1 集群安装(一)

    集群节点数量3 个 192.168.1.170 cdh-master 192.168.1.171 cdh-slave-1 192.168.1.171 cdh-slave-2 一.安装CentOS6.5 ...

  4. android Context 持有导致的内存泄漏

    Context使用场景 为了防止Activity,Service等这样的Context泄漏于一些生命周期更长的对象,可以使用生命周期更长的ApplicationContext,但是不是所有的Conte ...

  5. ACM:UESTC - 649 括号配对问题 - stack

      UESTC - 649  括号配对问题 Time Limit: 1000MS   Memory Limit: 65535KB   64bit IO Format: %lld & %llu ...

  6. 【BZOJ】3309: DZY Loves Math

    题意 \(T(T \le 10000)\)次询问,每次给出\(a, b(1 \le a, b \le 10^7)\),求 \[\sum_{i=1}^{a} \sum_{j=1}^{b} f((i, j ...

  7. 【二分】POJ 2109

    谁骗我这是贪心TT 大概就是求k的n次方等于p时的k(k到10^9),由于,p的数据到了10^101,n到200,所以直接算估计T ?? 反正看完想到二分,其实数据要是再大点估计我这个二分不行. 网上 ...

  8. db2无法force掉备份连接的处理办法

    在数据库在线备份的时候会与Load和ALTER TABLE <表名> ACTIVATE NOT LOGGED INITIALLY WITH EMPTY TABLE发生冲突导致这两种操作被挂 ...

  9. .net core 关键概念

    startup       startup asp.net core 的入口,在构造函数中完成环境参数的配置. 其中Configure 方法是用来控制如何respond一个http请求的, 例如配置l ...

  10. 随鼠标轮动翻动层————jquery小练习

    闲来无事在网站上看见一个网页制作的不错,就仿照做来看看.特此记录下来. 亮点:随鼠标上下滚动,展示页面随之不同,翻动效果. 功能点:鼠标向上,向下判断事件. css 代码 html { overflo ...