第八篇 CSS定位
CSS定位
<div id="div1">我是定位,相对定位</div>
#div1{
position: relative;
background-color:#dedede;
}
#div1{
position: relative;
background-color:#dedede;
top:20px;
left:50px;
}
<div id="div1">我是定位,相对定位</div>
<div id="div2">我不是定位,没有任何属性,看我位置</div>
为了区分,在div1下面添加一个div2,同学在页面上测试代码会发现,它们的位置...是同行的,如果将div1里面的top值20改成50呢,试试效果:
#div1{
position: relative;
background-color:#dedede;
top:50px;
left:50px;
}
这样的话,div1就在div2的下面去了,而且还能完全的看到div2的所有内容。之前的内容只能看到几个字,后面的都被div1挡住了,这里就关系到了层次。
同学们还发现没有,div1的位置改变了,但是div2依旧是基于它夸了行,没有占用div1原本的位置,也没有因为div1移动了top:50px 而往下面走。div2的位置就等于是,就是基于了div1原本的位置下方跨了一次行。
这里就是“相对定位”的特性,它虽然使用了left和top改变了位置,但是它本身占用的位置是不会改变的,其他的元素也不能占用它本身的位置。
我们可以再来试一下相对定位,这个位置是不是真的,别的元素不会占用,那么我们给它设置一个高:
#div1{
height: 200px;
}
在div1里加一个高,那么效果就会发生改变,div2也会跟着往下面走,是因为,它没有“移动”,它的div元素是在div1下面的,就会一直基于div1跨一次行,跟着老师做到这里,有同学疑问,div2的内容又被压着了,怎么看到全部的内容呢?“position”定位,它还有一个属性:z-index 层次,它的值为数字,可以为负数,不需要单位:
#div1{
z-index: -1;
}
<div id="div3">我是绝对定位</div>
#div3{
position: absolute;
}
#div3{
top:10px;
left: 10px;
}
#div3{
left: 2000px;
}
<div id="div4">普通的div,什么都不设置</div>
<div id="div5">
我是父亲元素,我还是相对定位
<div id="div5-1">
我是绝对定位,我是div5的下一代
</div>
</div>
#div5{
position: relative;
width: 500px;
height: 300px;
background-color: aqua;
}
#div5-1{
position: absolute;
left: 20px;
top:5px;
}
#div5-1{
position: absolute;
left: 0px;
top:0px;
background-color: red;
}
<div id="div6">我是固定定位</div>
<div style="height:2000px;我高度2000px,是为了测试固定定位</div>
#div6{
position: fixed;
}
#div6{
position: fixed;
top: 0;
left: 0;
}
第八篇 CSS定位的更多相关文章
- HTML5学习笔记(八):CSS定位
CSS 定位 (Positioning) 属性允许你对元素进行定位. 定位和浮动 CSS 为定位和浮动提供了一些属性,利用这些属性,可以建立列式布局,将布局的一部分与另一部分重叠.定位的基本思想很简单 ...
- Selenium2+python自动化-八种元素定位(Firebug和Firepath)
前言 自动化只要掌握四步操作:获取元素,操作元素,获取返回结果,断言(返回结果与期望结果是否一致),最后自动出测试报告.本篇主要讲如何用firefox辅助工具进行元素定位.元素定位在这四个环节中 ...
- CSS 定位
一.CSS 定位和浮动 它们代替了多年来的表格布局. 定位的思想很简单,相对于正常位置.相对于父元素.另一个元素甚至是浏览器窗口的位置. 浮动在 CSS1 中被首次提出.浮动不完全是定位, ...
- Python之路【第十八篇】:Web框架们
Python之路[第十八篇]:Web框架们 Python的WEB框架 Bottle Bottle是一个快速.简洁.轻量级的基于WSIG的微型Web框架,此框架只由一个 .py 文件,除了Pytho ...
- 第八篇 :微信公众平台开发实战Java版之如何网页授权获取用户基本信息
第一部分:微信授权获取基本信息的介绍 我们首先来看看官方的文档怎么说: 如果用户在微信客户端中访问第三方网页,公众号可以通过微信网页授权机制,来获取用户基本信息,进而实现业务逻辑. 关于网页授权回调域 ...
- CSS定位:几种类型的position定位的元素
当人们刚接触布局的时候都比较倾向于使用定位的方式.因为定位的概念看起来好像比较容易掌握.表面上你确切地指定了一个块元素所处的位置那么它就会坐落于那里.可是定位比你刚看到的时候要稍微复杂一点.对于定位来 ...
- 前端总结·基础篇·CSS(一)布局
目录 这是<前端总结·基础篇·CSS>系列的第一篇,主要总结一下布局的基础知识. 一.显示(display) 1.1 盒模型(box-model) 1.2 行内元素(inline) &am ...
- 前端总结·基础篇·CSS(二)视觉
前端总结系列 前端总结·基础篇·CSS(一)布局 前端总结·基础篇·CSS(二)视觉 前端总结·基础篇·CSS(三)补充 前端总结·基础篇·CSS(四)兼容 目录 一.动画(animation)(IE ...
- selenium自动化测试——常见的八种元素定位方法
selenium常用的八种元素定位方法 1.通过 id 定位:find_element_by_id() 2.通过 name 定位:find_element_by_name() 3.通过 tag 定位: ...
随机推荐
- JDBC插入数据,获取自增长值
package com.loaderman.demo.c_auto; public class Dept { private int id; private String deptName; publ ...
- JAVA VUser
JAVA VUser 一.java虚拟用户协议 java虚拟用户脚本主要有Java Vuser.Corba-Java.RMI-Java.EJB等类型.这些类型的虚拟用户脚本均可以用java语言来手工编 ...
- 配置文件中间件:config-lite
config-lite 是一个轻量的读取配置文件的模块. config-lite 会根据环境变量(NODE_ENV)的不同从当前执行进程目录下的 config 目录加载不同的配置文件. 如果不设置 N ...
- 使用Navicat为Oracle导入函数后函数显示红叉
上图是plsql中的截图 有可能是Navicat没有缓存过程,刷新试一试,不行的话,对导入的函数进行重新编译即可. 还发现一个问题是,Navicat导出的脚本里面,函数部分竟然没有参数和返回值,让我很 ...
- 14 count(*)
14 count(*) count(*)实现方式 首先要声明,在不同的mysql引擎中,count(*)有不同的实现方式. --myisam引擎把一个表的总行数存在了磁盘,因此执行count(*)的时 ...
- JavaScript DOM 编程艺术(第二版) 初读学习笔记
这本书留给我的印象就是结构.表现和行为层的分离,以及书后面部分一直在强调的最佳实践原则:平稳退化,逐步增强,向后兼容以及性能考虑. 要注意这不是一本JavaScript入门书籍~ 2.1 准备工作 用 ...
- 如何把本地文件上传至github?
(都说git好用,但我觉得git把我弄得像个git……在反反复复用git bash的命令行上传失败了N次之后,终于可以用命令行把文件上传到GitHub了 这中间,还要感谢网络上的各种git教程!!!) ...
- 强大的BeautifulSoup
Beautiful Soup 是一个可以从HTML或XML文件中提取数据的Python库·它能够通过你喜欢的转换器实现惯用的文档导航 安装BeautifulSoup 推荐使用Beautiful Sou ...
- C#作业系统中的安全系统
比赛条件 编写多线程代码时,总是存在竞争条件的风险.当一个操作的输出取决于其控制之外的另一个过程的定时时,发生竞争条件. 竞争条件并不总是一个错误,但它是不确定行为的来源.当竞争条件确实导致错误时,可 ...
- nginx reload的原理
nginx启动时,会启动两个进程: 一个是Master进程和worker进程.改变配置后nginx做的事1)改变了nginx配置之后,HUP signal的信号需要发送给主进程.2)主进程首先会检测新 ...