亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

組合使用的時候,父級元素相對定位設置具體定位方向的時候,為什么會讓定位元素無法正常設置定位方向?

<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>

說的不是很清楚,左右的是這樣,從而引申出上下方向的問題。

這到底是為什么???

正在回答

5 回答

我找到答案了,布局是從左到右,從上到下解析的,css是屬性是層疊繼承的,#div2中雖然能改right,但是div下面有left,width已經定位了基本形狀,所以在改right就不起作用了。div2如果改成right:30px;,它繼承了div樣式的left:50;但是又定寬,會優先走left,right被忽略

div2如果改成right:30px;并且width:auto,那么他就會左50,右30,自動布局。

所以也就解釋了為什么上面設置right ?下面不管左右都有效。而上面left的時候下面右就無效


1 回復 有任何疑惑可以回復我~

我在慕課網的代碼區試了 確實是可以的,div設置為right ?#div2的right改變的時候綠框確實可以相對父級div移動的

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

霸氣的擎宇 提問者

復制我的代碼到你編輯器里面然后瀏覽器查看,你更改#div2樣式里面的 right值看看 到底有沒有變化?。?!沒有!
2016-07-15 回復 有任何疑惑可以回復我~
#2

大塊吃肉188 回復 霸氣的擎宇 提問者

當你第一次注釋的時候設置right的時候第二次注釋部分不管是right還是了left都是有效果的。但是當第一次注釋那設置left的時候,第二次注釋那里再設置right是不行的。我在subline上試的
2016-07-15 回復 有任何疑惑可以回復我~
#3

霸氣的擎宇 提問者 回復 大塊吃肉188

是呀 這是為什么呢?正確的布局我是會的,就是想知道不單獨給頂級DIV設置樣式的時候,出現子元素不能和父元素同時使用相同方向的布局的原因或者原理是什么。
2016-07-15 回復 有任何疑惑可以回復我~
#4

霸氣的擎宇 提問者 回復 大塊吃肉188

我找到答案了,布局是從左到右,從上到下解析的,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-15 回復 有任何疑惑可以回復我~
#5

大塊吃肉188 回復 霸氣的擎宇 提問者

div{}樣式設置的有問題,這個是面向三個div標簽的,對于div來說他已經先設置left然后在div#div2中又設置了right,你看同時讓他即在左邊又在右邊,他當然有問題了。你給頂級設置class的時候在頂級的樣式設置里的left不會對子級div2造成影響了。
2016-07-15 回復 有任何疑惑可以回復我~
#6

霸氣的擎宇 提問者 回復 大塊吃肉188

先設置LEFT 又設置right,并不是不可以!只因為她是定寬。比如我先設置right,再設置left 就不會有問題。瀏覽器解析的規則是從左到右從上到下。并且一般不同時存在左右設置,寬AUTO的時候,才怎么設置都可以。
2016-07-16 回復 有任何疑惑可以回復我~
查看3條回復

我是可以的,不知道你為什么不行。換個瀏覽器試試?

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

霸氣的擎宇 提問者

復制我的代碼到你編輯器里面然后瀏覽器查看,你更改#div2樣式里面的 right值看看 到底有沒有變化?。?!沒有!
2016-07-15 回復 有任何疑惑可以回復我~

我可以啊

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

霸氣的擎宇 提問者

復制我的代碼到你編輯器里面然后瀏覽器查看,你更改#div2樣式里面的 right值看看 到底有沒有變化?。?!沒有!
2016-07-15 回復 有任何疑惑可以回復我~

你要看一下的div 是什么 頂級的div ? 你把頂級的div ?給他一個id 或者class 命名就行了, 以后不能犯那么低級錯誤

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

霸氣的擎宇 提問者

一個頂級DIV里面兩個小DIV 雖然我給了頂級DIV樣式,就算把小DIV也覆蓋了,當時根據權重也好,就近原則也好。不應該是不影響的嗎?
2016-06-25 回復 有任何疑惑可以回復我~
#2

霸氣的擎宇 提問者

試了一下不可以,反而就剩下一個框。你復制到記事本里嗎試試就這的了
2016-06-25 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

組合使用的時候,父級元素相對定位設置具體定位方向的時候,為什么會讓定位元素無法正常設置定位方向?

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號