Maison  >  Article  >  interface Web  >  css 中position定位_html/css_WEB-ITnose

css 中position定位_html/css_WEB-ITnose

WBOY
WBOYoriginal
2016-06-21 09:40:49949parcourir

css html

请看第一个代码
<html><head><style type="text/css">h2.pos_left{position:relative;left:-20px}h2.pos_right{position:relative;left:20px}</style></head><body><h2>这是位于正常位置的标题</h2><h2 class="pos_left">这个标题相对于其正常位置向左移动</h2><h2 class="pos_right">这个标题相对于其正常位置向右移动</h2><p>相对定位会按照元素的原始位置对该元素进行移动。</p><p>样式 "left:-20px" 从元素的原始左侧位置减去 20 像素。</p><p>样式 "left:20px" 向元素的原始左侧位置增加 20 像素。</p></body></html>
效果图:


如果把上面的代码改为
<html><head><style type="text/css">h2.pos_left{position:fixed;left:-20px}h2.pos_right{position:relative;left:20px}</style></head><body><h2>这是位于正常位置的标题</h2><h2 class="pos_left">这个标题相对于其正常位置向左移动</h2><h2 class="pos_right">这个标题相对于其正常位置向右移动</h2><p>相对定位会按照元素的原始位置对该元素进行移动。</p><p>样式 "left:-20px" 从元素的原始左侧位置减去 20 像素。</p><p>样式 "left:20px" 向元素的原始左侧位置增加 20 像素。</p></body></html>
效果图就变成了

以上都是在chrome浏览器的调试图
高手解释为什么出现这种情况,谢谢了。

回复讨论(解决方案)

h2.pos_left{position:fixed;left:-20px}

这个是固定定位 ,属于绝对定位的一种,被固定定位的元素已经脱离了原来的文档流。固定定位 是相对于视窗窗口 定位的,所以 不管浏览器如何滚动,他都在相同位置

fixed 的包含块是视窗,不属于文档的流。

XML/HTML code?12345h2.pos_left{position:fixed;left:-20px}
这个是固定定位 ,属于绝对定位的一种,被固定定位的元素已经脱离了原来的文档流。固定定位 是相对于视窗窗口 定位的,所以 不管浏览器如何滚动,他都在相同位置
那为什么在正常位置下的两句话位置反过来了

fixed 的包含块是视窗,不属于文档的流。
在“这是位于正常位置的标题”下面两句话的位置倒过来了。

引用 2 楼 eazyc 的回复:fixed 的包含块是视窗,不属于文档的流。
在“这是位于正常位置的标题”下面两句话的位置倒过来了。

你 把浏览器 窗口 调小  ,出现滚动条 ,就会体会到 固定定位 是什么意思了 

引用 4 楼 liulinisgood 的回复:引用 2 楼 eazyc 的回复:fixed 的包含块是视窗,不属于文档的流。
在“这是位于正常位置的标题”下面两句话的位置倒过来了。

你 把浏览器 窗口 调小  ,出现滚动条 ,就会体会到 固定定位 是什么意思了
嗯,试了一下,的确fixed是不会改变位置的,relative会随滚动条上下而动。
在浏览器最大化时候在两幅图中的两句话位置颠倒是不是因为relative需要和标准的相对位置固定,所以就在css 中fixed的段落之上了,理解是否有误(就是第二幅中的黑体三句话的顺序)

position: fixed;

这个是固定在可视区域,这个时候不占据文档流空间,就是“

”设置固定定位后会把空间让出来,这个时候,下个H2元素就会占据pos_left的文档空间,就出现了你看到的现象

楼主看下
http://www.w3school.com.cn/css/pr_class_position.asp

生成绝对定位的元素,相对于浏览器窗口进行定位。


另外建议楼主 写css加上 nbsp;HTML>
ie低版本不支持fixed,需要另作处理

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn