Heim  >  Artikel  >  Web-Frontend  >  css 中position定位_html/css_WEB-ITnose

css 中position定位_html/css_WEB-ITnose

WBOY
WBOYOriginal
2016-06-21 09:40:49912Durchsuche

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,需要另作处理

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn