第八篇 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 定位: ...
随机推荐
- LC 562. Longest Line of Consecutive One in Matrix
Given a 01 matrix M, find the longest line of consecutive one in the matrix. The line could be horiz ...
- GitHub:Google
ylbtech-GitHub:Google 1.返回顶部 · horenso 探しやすいコードで漢字直接入力 Perl Apache-2.0 94710Updated on 19 Apr · ...
- python 连接mysql数据库:pymysql
示例:import pymysql conn=pymysql.connect( host="127.0.0.1", #数据库IP port=3306, #数据库端口 user=&q ...
- 有关命令行的vue操作
1.安装node.js ,通过node -v 和 npm -v 来查看node 和 npm 版本. 2. 安装bower,bower 可以说是(前端)包管理器 npm install bower ...
- 由STL map调用clear后,内存不返还给操作系统的问题出发,探讨glibc malloc/free行为(转)
1. 问题 我们的程序有几十个线程,每个线程拥有一个std::map,每个线程都要向自己的std::map中插入大量的数据,但每个数据只有几十字节:当使用完std::map,调用map.clear() ...
- 性能测试之JMeter远程模式
性能测试之JMeter远程模式 事实上,你的JMeter客户端机器是不能表现出完美的压力请求,来模拟足够多的用户或由于网络限制去向服务施加压力,一种解决方法是通过一个JMeter去控制多个/远程JMe ...
- JSP 简单标签extends SimpleTagSupport
1.控制JSP页面某一部分内容是否执行 public void doTag() this.getJspBody().invoke(null);执行 空白,不执行 2.控制JSP页面内容重复执行 pac ...
- JAVA学习记录<一>
一: JAVA初体验: 1.JAVA简介: 2.环境搭建: 3:MyEclipse的使用简介: 4:程序的移植:项目的导入,导出. 5:学习JAVA的经验: 多写,多问,总结和复习!!!
- MYSQL中重命名procedure的一种方法
最近有用到对存储过程(procedure)重命名的功能,在网上找了一下资料都没有讲到在mysql中是如何实现的,当然可以删掉再重建,但是应该有别的方法,在"mysql"这个数据库( ...
- Linux后台运行python程序并输出到日志文件
后台运行python程序并标准输出到文件 现在有test.py程序要后台部署, 里面有输出内容 使用命令: nohup python -u test.py > test.log 2>&am ...