在实际开发页面布局时,运用position,对定位的块级元素的嵌套的效果总是不太理解,这里做了几个测试
一般的在w3c中我们可以很容易的获取定义:
static : 默认值。没有定位,元素出现在正常的流中(忽略 top, bottom, left, right 或者 z-index 声明)。
fixed :生成绝对定位的元素,相对于浏览器窗口进行定位。元素的位置通过 "left", "top", "right" 以及 "bottom" 属性进行规定。
inherit :规定应该从父元素继承 position 属性的值。
absolute : 生成绝对定位的元素,相对于 static 定位以外的第一个父元素进行定位。元素的位置通过 "left", "top", "right" 以及 "bottom" 属性进行规定。
relative : 生成相对定位的元素,相对于其正常位置进行定位。因此,"left:20" 会向元素的 LEFT 位置添加 20 像素。
总的来说 :
static呢,就是正常的文档流顺序,默认的,相当于没有定位!
fixed呢, 就是相对于浏览器窗口,就是你滚动条怎么滚动,他还是那个位置,就想是 “粘” 在窗口上了!
inherit呢, 就是从父元素继承 position 属性的值,
absolute呢,是脱离文档流的原来的位置是不继续占据了,如果他的父级元素中有已经定位了的不管是absolute的还是relative,它都会相对于他的父级元素来定位,如果他的父级元素中没有定位了的那么它就是相对于body来定位的。也就是说absolute的绝对是有参照物的!
relative呢,是不会脱离文档流的原来的位置也就继续占据了,它是只相对于自身原来的位置来定位的!
前三个是很容易理解的,对于absolute和relative的结合使用,做了几个测试
测试(absolute和relative)
1.单独的absolute和relative
2.relative中的relative,absolute中的relative
3.absolute中的absolute,relative中的absolute
<!DOCTYPE html><html><head> <title>position -- absolute -- relative</title></head><style> .test-a{ position: absolute; top:20px; left:60px; width:200px; height: 100px; background: red; } .test{ width:400px; height: 100px; background: green; } .test-r{ position:relative; top:50px; left:130px; background: yellow; width:160px; height: 180px; } .test-rr{ position: relative; top: 20px; left: 100px; width: 600px; height: 300px; background: blue; } .test-aa{ position: absolute; top: 24px; left: 34px; background: orange; } .test-aaa{ position: absolute; top: 24px; left: 34px; width:400px; height:200px; background: #18E457; } .test-aaaa{ position: absolute; top: 124px; left: 134px; width:400px; height:200px; background: yellow; } .test-rrr{ position: relative; top: 24px; left: 34px; width:400px; height:200px; background: yellow; } .test-rrr{ position: relative; top: 124px; left: 134px; width:400px; height:200px; background: red; } .test-r-a{ position: absolute; top: 124px; left: 134px; width:800px; height:800px; background: yellow; } .test-a-r{ position: relative; top: 124px; left: 134px; width:700px; height:700px; background: red; }</style><body> <div class="test-a">absolute</div> <div class="test">分割</div> <div class="test-r">relative</div> <h2 id="结合使用">结合使用</h2> <p>parentNode的position不是relative或absolute,那absolute的绝对对象是针对body的 parentNode的position 是relative或absolute,那absolute的绝对对象是针对parentNode的 也就是说absolute的绝对是有参照Node的 </p> <div class="test-rr"> absolute外的relative <div class="test-aa"> relative内的absolute,,,里面这个div是相对外面那个div定位的 </div> </div> <div class="test-aaa"> absolute外的absolute <div class="test-aaaa"> absolute内的absolute,,,,,,,,里面这个div是相对外面那个div定位的 </div> </div> <div class="test-rrr" > relative外的relative <div class="test-rrrr"> relative内的relative,,,,,,,,里面这个div是相对原来位置定位的 </div> </div> <div class="test-r-a"> relative外的absolute <div class="test"> <div class="test-a-r"> relative内的absolute,,,里面这个div是相对原来位置定位的 </div> </div> </div></body></html>
其实很多时候,网上的经验,很多很杂,自己实践一下,才能自己真正理解

HTML是一种用于构建网页的语言,通过标签和属性定义网页结构和内容。1)HTML通过标签组织文档结构,如、。2)浏览器解析HTML构建DOM并渲染网页。3)HTML5的新特性如、、增强了多媒体功能。4)常见错误包括标签未闭合和属性值未加引号。5)优化建议包括使用语义化标签和减少文件大小。

WebDevelovermentReliesonHtml,CSS和JavaScript:1)HTMLStructuresContent,2)CSSStyleSIT和3)JavaScriptAddSstractivity,形成thebasisofmodernWebemodernWebExexperiences。

HTML的作用是通过标签和属性定义网页的结构和内容。1.HTML通过到、等标签组织内容,使其易于阅读和理解。2.使用语义化标签如、等增强可访问性和SEO。3.优化HTML代码可以提高网页加载速度和用户体验。

htmlisaspecifictypefodyfocusedonstructuringwebcontent,而“代码” badlyLyCludEslanguagesLikeLikejavascriptandPytyPythonForFunctionality.1)htmldefineswebpagertuctureduseTags.2)“代码”代码“ code” code code code codeSpassSesseseseseseseseAwiderRangeLangeLangeforLageforLogageforLogicIctInterract

HTML、CSS和JavaScript是Web开发的三大支柱。1.HTML定义网页结构,使用标签如、等。2.CSS控制网页样式,使用选择器和属性如color、font-size等。3.JavaScript实现动态效果和交互,通过事件监听和DOM操作。

HTML定义网页结构,CSS负责样式和布局,JavaScript赋予动态交互。三者在网页开发中各司其职,共同构建丰富多彩的网站。

HTML适合初学者学习,因为它简单易学且能快速看到成果。1)HTML的学习曲线平缓,易于上手。2)只需掌握基本标签即可开始创建网页。3)灵活性高,可与CSS和JavaScript结合使用。4)丰富的学习资源和现代工具支持学习过程。

AnexampleOfAstartingTaginHtmlis,beginSaparagraph.startingTagSareEssentialInhtmlastheyInitiateEllements,defiteTheeTheErtypes,andarecrucialforsstructuringwebpages wepages webpages andConstructingthedom。


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

螳螂BT
Mantis是一个易于部署的基于Web的缺陷跟踪工具,用于帮助产品缺陷跟踪。它需要PHP、MySQL和一个Web服务器。请查看我们的演示和托管服务。

记事本++7.3.1
好用且免费的代码编辑器

MinGW - 适用于 Windows 的极简 GNU
这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。

PhpStorm Mac 版本
最新(2018.2.1 )专业的PHP集成开发工具

SublimeText3汉化版
中文版,非常好用