2013-02-28 64 views
1

的寬度,我有兩個div標籤parentchildchild標籤的位置固定爲寬度100%。 Parent的填充爲10px,如jsfiddle代碼所示。問題是,當我給兒童標籤100%的寬度,然後它的右側移出父div標籤。我知道那是因爲它有填充。解決這個問題的一種方法是給孩子標籤90%的寬度。 But is there a better way than this so that child tag appears exactly inside parent tag?如何解決孩子div標籤

UPDATE

我想保持的位置是:固定的子標籤

.parent { 
    height: 300px; 
    padding: 10px; 
    border: 1px solid red; 
} 

.child { 
    position: fixed; 
    height: 100px; width: 100%; 
    border: 1px solid black; 
} 
+0

填充不是你在帖子中建議的問題。測試它沒有填充。個人認爲固定定位很少是一個好主意。 – irregularexpressions 2013-02-28 07:42:56

+0

感謝您的更正。 – 2619 2013-02-28 07:45:38

回答

1

jsfiddle.net/q4ffs/3/ DEMO

最大化她的寬度如果你是舒服一點使用jQuery的那麼這應該解決您的問題。 CSS仍然有一些限制,但這一小部分的JavaScript可能會爲你服務。

$(function(){ 
     $('.child').each(function(){ 
      $(this).css('width', $(this).parent('div').width()); 
     }) 
    }); 

感謝

0

將其放置在父DIV內的另一個DIV中的absolute股利。

<div class="parent"> 
    <div class="newDiv"> 
    <div class="child"> 

     </div> 
    </div> 
</div> 

其他div將得到position:relative;

.newDiv 
{ 
    position:relative; 
    height:100%; 
} 
.child { 
    position: absolute; 
    height: 100px; left:0; right:0; 
    border: 1px solid black; 
} 

DEMO

+0

我想保留位置:固定。我不想更改子標籤的位置屬性。 – 2619 2013-02-28 07:32:15

+0

你在你的問題'absolute'說,但無論哪種方式,你不能有一個'fixed' DIV根據另一個div的'fixed'格將始終根據整個頁面是固定的。 – 2013-02-28 07:33:45

+0

如果固定位置是根據整個頁面,爲什麼在我的jsfiddle它位於父div標籤內固定?因爲我放在父div標籤內,並且它位於其父母的左上角。但這是一個大問題的寬度。 – 2619 2013-02-28 07:40:18

0

充分利用當前位置相對看到輸出

.parent { 
    height: 300px; 
    padding: 10px; 
    border: 1px solid red; 

} 

.child { 
    position: relative; 
    height: 100px; width: 100%; 
    border: 1px solid black; 
} 
0

您還可以,如果填充的問題

給予類填充到孩子調整其填充

並追加代碼

.padding /*for box padding ie padding inside the box*/ 
{ 
    -webkit-box-sizing: border-box; /* Safari/Chrome, other WebKit */ 
    -moz-box-sizing: border-box; /* Firefox, other Gecko */ 
    box-sizing: border-box;   /* Opera/IE 8+ */ 

    } 

它不要讓孩子用填充

+0

它不起作用。我已經嘗試過了。 – 2619 2013-02-28 07:52:04

0

嘿,你可以使用寬度爲100vw並設置保證金左:-10px;對孩子。

乾杯