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. setTimeout使用闭包功能,实现定时打印数值

    我们这次使用setTimeout来实现一个按照时间定时,依次打印数值的例子.其实在早期的时候,也是我经常犯的一个错误,或者实现这种能力,似乎js比较牵强,其实是我的错,哈哈!没能理解JS强大之处.我们 ...

  2. Jetty使用教程(一)——开始使用Jetty

    一.Jetty简介 1.1 什么是Jetty Jetty是一个提供HHTP服务器.HTTP客户端和javax.servlet容器的开源项目.   这个入门教程分为五个部分: 第一部分部分重点介绍如何使 ...

  3. MongoDB 安装

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

  4. [Linux]在linux中,常常用到ctrl和其他按键组合,常用的有哪些及意义呢

    在linux中,常常用到ctrl和其他按键组合,常用的有哪些及意义呢? Ctrl+c 结束正在运行的程序 Ctrl+d 结束输入或退出shell Ctrl+s 暂停屏幕输出[锁住终端] Ctrl+q ...

  5. MongoDB学习笔记(1):MongoDB简介

    1. MongoDB的特点: (1) 易于使用 MongoDB是一个面向文档的数据库,非关系型数据库.通过在文档中嵌入式文档和数据,面向对象的方法能够仅使用一条记录来表现复杂的层次关系.文档的键和值不 ...

  6. python 线程之threading(五)

    在学习了Event和Condition两个线程同步工具之后还有一个我认为比较鸡肋的工具 semaphores 1. 使用semaphores的使用效果和Condition的notify方法的效果基本相 ...

  7. [自动运维]oracle自动备份

    数据是应用的核心部分,程序坏了换台机器重新发布就可以,但数据一旦丢失,造成的损失将不可挽回,程序发布到生产后,数据的备份便显得尤为重要,由于不一定所有的服务均有资金完成高级的备份如RAC和DG,在我们 ...

  8. [SDOI2013]方程

    ...最近考了一道数学题.是典型的隔板问题. P.S.最近八中oj上面没有系统地刷过题 题面可以直接转化为m个球分到n个箱子,每个箱子至少放1个,前n1个箱子的球数必须满足全部小于等于A[i],接着n ...

  9. 有了门面,程序会更加体面!- pos软件基于三层架构 -09

    续上篇)        大鸟说道:“实际上没有学过设计模式去理解三层架构会有失偏颇的,毕竟分层是更高一级别的模式,所谓的架构模式.不过在程序中,有意识的遵循设计原则,却也可以有效的做出好的设计.”   ...

  10. ios 单例设计模式

    单例模式的意思就是只有一个实例.单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例.这个类称为单例类.单例可用性非常高,用于登录用户管理等可供全局调用. + (AccountMa ...