css 中position定位_html/css_WEB-ITnose

php中文网
发布: 2016-06-21 09:40:49
原创
1079人浏览过

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>
                    <div class="aritcle_card">
                        <a class="aritcle_card_img" href="/ai/2069">
                            <img src="https://img.php.cn/upload/ai_manual/000/000/000/175680133014200.png" alt="稿定AI绘图">
                        </a>
                        <div class="aritcle_card_info">
                            <a href="/ai/2069">稿定AI绘图</a>
                            <p>稿定推出的AI绘画工具</p>
                            <div class="">
                                <img src="/static/images/card_xiazai.png" alt="稿定AI绘图">
                                <span>36</span>
                            </div>
                        </div>
                        <a href="/ai/2069" class="aritcle_card_btn">
                            <span>查看详情</span>
                            <img src="/static/images/cardxiayige-3.png" alt="稿定AI绘图">
                        </a>
                    </div>
                <p>样式 "left:-20px" 从元素的原始左侧位置减去 20 像素。</p><p><span>立即学习</span>“<a href="https://pan.quark.cn/s/cb6835dc7db1" style="text-decoration: underline !important; color: blue; font-weight: bolder;" rel="nofollow" target="_blank">前端免费学习笔记(深入)</a>”;</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><span>立即学习</span>“<a href="https://pan.quark.cn/s/cb6835dc7db1" style="text-decoration: underline !important; color: blue; font-weight: bolder;" rel="nofollow" target="_blank">前端免费学习笔记(深入)</a>”;</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,需要另作处理

HTML速学教程(入门课程)
HTML速学教程(入门课程)

HTML怎么学习?HTML怎么入门?HTML在哪学?HTML怎么学才快?不用担心,这里为大家提供了HTML速学教程(入门课程),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号