求大神解释: 我要用CSS布局,请问绝对定位的坐标改怎么计算。可以举个例子说明下吗??

 我来答
书风笑
2011-04-25 · TA获得超过288个赞
知道小有建树答主
回答量:178
采纳率:0%
帮助的人:201万
展开全部

唉,乱七八糟。忍不了了!

我先给你按照我的理解说下,然后给你网站去理解吧,我也是从哪里理解的!

文档流的几种:

1.正常文档流。

2.浮动文档流。

3.定位的文档流。

其中你问的是定位。

定位又分为2中:

相对很绝对。

相对定位的文档流,保持占位,仍占据原来正常文档流的位置。在此基础上进行的

left:100px; top:100px; //一个表示从原来的占位点,向右、下各平移100PX。

绝对定位会脱离文档流,也就是出现了层叠覆盖的情况。

left:100px; top:100px;  它究竟跑哪里了呢?

这个坐标是以最近定位父元素为参考点的。

知道了这点你就可以计算了。

一般你需要先设置一个相对定位元素,然后在其里面定位绝对定位,这是最常见的!

几个例子: 

<div style="width:100px; height:100px; background-color:#c00;">

 <p style="width:50px; height:50px;">

  <span style="position:absolute;left:0; top:0; display:inline-block; width:10px; height:10px;">我绝对定位了</span>

 </p>

</div>

这个运行后 

没有遇到已定位的父元素,于是BODY作为参照。

<div style="width:100px; height:100px; background-color:#c00;">

 <p style="width:50px; height:50px; background-color:yellow; position:relative">

  <span style="position:absolute;left:0; bottom:0; display:inline-block; width:10px; height:10px; background-color:blue;"></span>

 </p>

</div>

这个例子你自己运行吧。

还有:

<div style="width:100px; height:100px; background-color:#c00;position:relative">

 <p style="width:50px; height:50px; background-color:yellow; ">

  <span style="position:absolute;left:0; bottom:0; display:inline-block; width:10px; height:10px; background-color:blue;"></span>

 </p>

</div>

凡人修度
2011-04-25 · 分享生活趣事,专注原创记录
凡人修度
采纳数:72 获赞数:219

向TA提问 私信TA
展开全部
div+css布局很少用定位,除非做些特效或有必要才定位。
div的布局就像表格那样嵌套,只是打个比方,当然和表格不一样了,不过你用DIV+CSS做一个网页基本上不用绝对或相对定位)很少用,只有特殊需要才用定位.

如果要问绝对定位好还是用相对定位好?
因为绝对定位(和文档流没关系)如无申明,则其是对与body而言的,处理不好的话。如显示器尺寸变了,可能就会变型。
相对定位的元素属文档流,所以稳定的,相对定位是相对他该出现的位置,如无设top left之类,和普通div基本一样。

一般的绝对定位是这样用的,父元素要是相对定位的且须有布局,如有个高度,这样子元素用绝对定位,就可以相对它的父元素进行绝对定位,父元素若不这样做,那么子元素用绝对定位其实是相对body定位

以上参考网上资料:
举个实例 css嵌入其中
<html>
<style>

#color1,#color2,#color3{border:5px #FFFFFF solid;width:30px; height:30px}
#color1{ background:#FF9900;}
#color2{ background:#00CCFF;}
#color3{ background:#000000;}
</style>
<script>
function colors(i)
{
if(i==1)
bodys.style.background="#FF9900";
else if(i==2)
bodys.style.background="#00CCFF";
else
bodys.style.background="#000";
}
</script>
<body id="bodys">
<input type="button" id="color1" onclick="colors(1)">
<input type="button" id="color2" onclick="colors(2)">
<input type="button" id="color3" onclick="colors(3)">
</body>
</html>
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
殿柒
2011-04-25
知道答主
回答量:24
采纳率:0%
帮助的人:14.5万
展开全部
呵呵,要是我,我就下一个firebug直接把别人的代码复制过去。就是笨了点,这个问题,我也不是很懂,征求意见。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
九能学长
2011-04-26 · TA获得超过240个赞
知道小有建树答主
回答量:365
采纳率:0%
帮助的人:199万
展开全部
如果没有特殊需要不要使用绝对定位 因为显示器有大小 浏览器有大小 一不小心就错乱了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式