CSS 的定位方式和含义
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 的定位方式和含义的更多相关文章
- CSS特例定位方式
同级向下一个元素定位,一个+表示下一个元素,++表格下下个元素 input[name='name1'] +input td:eq(0)表示第一个td元素,此定位方式限于执行js,在selenium时用 ...
- CSS 中定位方式有几种,说明他们的意义
1.static 默认定位方式 显示为没有设置定位时的位置 2.fixed(固定定位) 他所相对固定的对象是可视窗口,与其他无关.以浏览器窗口作为参考进行定位 3.relative(相对定位) 元 ...
- css中对position的几种定位方式的最佳诠释
关于元素的position定位的理解,牛客网的hardy给出了一个比较好的理解: 在html中网页可以看成一个立体的空间,一个完整的页面是由很多个页面堆积形成的,如上图所示 CSS中Positio ...
- css定位方式有哪几种?
复杂的网页布局都是通过各种网页元素灵活定位实现的,网页中的各种元素定位都有自己的特点.下面我们来看一下css的几种定位方式. float定位(即浮动定位): 这种定位方式很简单,只需规定一个浮动的方向 ...
- 定位方式 及CSS高级技巧
定位 background-position 背景位置 浮动,在一个浮字上面,我们的定位,在一个位上.CSS离不开定位,特别是后面的JS特效,天天和定位打交道. 为什么要使用定位? 元素的定位属性 元 ...
- 使用CSS进行定位
CSS中通过使用position属性,有4种不同类型的定位方式,这会影响元素框生成的方式. position属性值的含义: static:静态定位 元素框正常生成.块级元素生成一个矩形框,作为文档流的 ...
- 【WEB自动化】【第一节】【Xpath和CSS元素定位】
目前自动化测试开始投入WEB测试,使用RF及其selenium库,模拟对WEB页面进行操作,此过程中首先面对的问题就是对WEB页面元素的定位,几乎所有的关键字都需要传入特定的WEB页面元素,因此掌握常 ...
- CSS Position 定位属性
本篇文章主要介绍元素的Position属性,此属性可以设置元素在页面的定位方式. 目录 1. 介绍 position:介绍position的值以及辅助属性. 2. position 定位方式:介绍po ...
- htnl中的遮罩层以及定位方式
在页面显示遮罩层,例如:一个div的css样式: $msk.css({ "top":"0", "left":"0", & ...
随机推荐
- setTimeout使用闭包功能,实现定时打印数值
我们这次使用setTimeout来实现一个按照时间定时,依次打印数值的例子.其实在早期的时候,也是我经常犯的一个错误,或者实现这种能力,似乎js比较牵强,其实是我的错,哈哈!没能理解JS强大之处.我们 ...
- Jetty使用教程(一)——开始使用Jetty
一.Jetty简介 1.1 什么是Jetty Jetty是一个提供HHTP服务器.HTTP客户端和javax.servlet容器的开源项目. 这个入门教程分为五个部分: 第一部分部分重点介绍如何使 ...
- MongoDB 安装
年初换了个硬盘空间更大的vps,这下终于可以装MongoDB了. 1 配置包管理系统(yum) 建立 /etc/yum.repos.d/mongodb-org-3.2.repo文件.内容如下: [mo ...
- [Linux]在linux中,常常用到ctrl和其他按键组合,常用的有哪些及意义呢
在linux中,常常用到ctrl和其他按键组合,常用的有哪些及意义呢? Ctrl+c 结束正在运行的程序 Ctrl+d 结束输入或退出shell Ctrl+s 暂停屏幕输出[锁住终端] Ctrl+q ...
- MongoDB学习笔记(1):MongoDB简介
1. MongoDB的特点: (1) 易于使用 MongoDB是一个面向文档的数据库,非关系型数据库.通过在文档中嵌入式文档和数据,面向对象的方法能够仅使用一条记录来表现复杂的层次关系.文档的键和值不 ...
- python 线程之threading(五)
在学习了Event和Condition两个线程同步工具之后还有一个我认为比较鸡肋的工具 semaphores 1. 使用semaphores的使用效果和Condition的notify方法的效果基本相 ...
- [自动运维]oracle自动备份
数据是应用的核心部分,程序坏了换台机器重新发布就可以,但数据一旦丢失,造成的损失将不可挽回,程序发布到生产后,数据的备份便显得尤为重要,由于不一定所有的服务均有资金完成高级的备份如RAC和DG,在我们 ...
- [SDOI2013]方程
...最近考了一道数学题.是典型的隔板问题. P.S.最近八中oj上面没有系统地刷过题 题面可以直接转化为m个球分到n个箱子,每个箱子至少放1个,前n1个箱子的球数必须满足全部小于等于A[i],接着n ...
- 有了门面,程序会更加体面!- pos软件基于三层架构 -09
续上篇) 大鸟说道:“实际上没有学过设计模式去理解三层架构会有失偏颇的,毕竟分层是更高一级别的模式,所谓的架构模式.不过在程序中,有意识的遵循设计原则,却也可以有效的做出好的设计.” ...
- ios 单例设计模式
单例模式的意思就是只有一个实例.单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例.这个类称为单例类.单例可用性非常高,用于登录用户管理等可供全局调用. + (AccountMa ...