組合使用的時候,父級元素相對定位設置具體定位方向的時候,為什么會讓定位元素無法正常設置定位方向?
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>無標題文檔</title>
<style>
div{
border:solid 2px red;
? ? ? ? width:400px;
? ? ? ? height:200px;
? ??
position:relative;
top:20px;
? ? ? ? left:10px;/*當這里設置right的時候,下面注釋的地方就不可以再設置right,只可以設置LEFT,反之,只可以設置right,為什么???*/
}
div.div1{
position:absolute;
? ? ? ? ?width:30%;
? ? ? ? ?height:30%;
border-color:blue;
top:10px;left:10px;
}
div#div2{
position:absolute;
? ? ? ? right:10px; ? /*為什么這里 可以設置左,當設置右的時候就沒有效果,比如此時單單改動RIGHT的值的情況下,試試看?*/
? ? ? ? top:20px;
? ? ? ? height:30%;
? ? ? ? width:35%;
? ? ? ? border-color:green;
}
</style>
</head>
<body>
<p>hahahhahahaha</p>
<div>
<div class="div1"></div>
<div id="div2"></div>
</div>
</body>
</html>
說的不是很清楚,左右的是這樣,從而引申出上下方向的問題。
這到底是為什么???
2016-07-15
我找到答案了,布局是從左到右,從上到下解析的,css是屬性是層疊繼承的,#div2中雖然能改right,但是div下面有left,width已經定位了基本形狀,所以在改right就不起作用了。div2如果改成right:30px;,它繼承了div樣式的left:50;但是又定寬,會優先走left,right被忽略
div2如果改成right:30px;并且width:auto,那么他就會左50,右30,自動布局。
所以也就解釋了為什么上面設置right ?下面不管左右都有效。而上面left的時候下面右就無效
2016-07-02
我在慕課網的代碼區試了 確實是可以的,div設置為right ?#div2的right改變的時候綠框確實可以相對父級div移動的
2016-06-28
我是可以的,不知道你為什么不行。換個瀏覽器試試?
2016-06-27
我可以啊
2016-06-25
你要看一下的div 是什么 頂級的div ? 你把頂級的div ?給他一個id 或者class 命名就行了, 以后不能犯那么低級錯誤