为了账号安全,请及时绑定邮箱和手机立即绑定

关于本节我们可以这样理解的疑问

position:relative不是相对于本元素之前所处的位置进行定位的吗?为什么感觉这个理解里面是相对于父元素。其次,left::-50%是不是可以理解为向左移动了50%啊?看这个解释要看晕了,如果有说错的地方希望大家帮我纠正一下,顺便帮我解惑。谢谢大家~

正在回答

3 回答

<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>relative样式</title>
<style type="text/css">
#div1{
    width:200px;
    height:200px;
    border:2px red solid;
    position:relative;
    left:50%;    
}
#div2{
    width:10px;
    height:10px;
    border:2px blue solid;
    position:relative;
    left:-50%;
    top:50%
}
body{border:2px solid;height:500px;}

</style>
</head>
<body>
	<div id="div1"><div id="div2"></div></div>
</body>
</html>

给你个代码,你自己试着修改,边改边看。

说下我的理解,主要是有以下几点:

1、子元素初始位置是在父元素的“左上角”

2、子元素用“%”方式移动时,移动距离是“父元素的百分之N”,举个例子:上面代码里面作为子元素的div2,其中“left:-50%”这句通俗的解释是“子元素div2初始位置(父元素的左上角)向左移动  半个父元素(即半个div1)那么大”

新人,有不正之处望前辈指出,共勉,谢。

0 回复 有任何疑惑可以回复我~
#1

_我亦飘零

补充一下,习题中有这么一段代码 .container ul{ list-style:none; margin:0; padding:0; position:relative; left:-50%; 对于“left:-50%”这句来说,本意是“子元素移动半个父元素单位”,由于这段代码中有两句代码将“padding”和“margin”的值都设置成了“0”,这样子元素跟父元素就一样大了,“子元素移动半个父元素单位”等于“子元素移动半个自身单位”。 大概是这么个意思,里面可能还涉及到边框自身的距离让我忽略了,但是意思应该没错,我也在这里纠结很久。
2016-07-02 回复 有任何疑惑可以回复我~

因为父元素移动,本元素的初始位置也跟着移动了

left:-50%即移动本元素本身宽度的50%

应该是这样,有错欢迎指出

0 回复 有任何疑惑可以回复我~

position:relative是文档流中的偏移位置。你在container里加一句background:#ccc,然后一个一个删掉这些语句,看显示效果就明白了。left:-50%你的理解没错。我也才学,共勉

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
初识HTML(5)+CSS(3)-升级版
  • 参与学习       1227121    人
  • 解答问题       18247    个

HTML(5)+CSS(3)基础教程8小时带领大家步步深入学习标签用法和意义

进入课程

关于本节我们可以这样理解的疑问

我要回答 关注问题
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号