2016-07-23 8 views
0

は、私は次のコードを使用して同心円状の複数の埋め込まれたカラーブロックを作ってみました:cssで同心円カラーブロックを作成するには?

#div1, #div2, #div3, #div4, #div5 { 
 
    width: 300px; 
 
    height: 300px 
 
} 
 
#div1 { 
 
    background: yellow; 
 
} 
 
#div2 { 
 
    background: orange; 
 
    padding: 50px; 
 
} 
 
#div3 { 
 
    background: red; 
 
    padding: 100px; 
 
} 
 
#div4 { 
 
    background: purple; 
 
    padding: 150px; 
 
}
<div id="div4"> 
 
    <div id="div3"> 
 
    <div id="div2"> 
 
     <div id="div1"></div> 
 
    </div> 
 
    </div> 
 
</div>

をしかし、これは私が得るものです: enter image description here

DIV1とDIV2ブロックが同心円状に埋め込みます期待どおりに、他の2つの外側のブロックは、パディングで崩壊するようです。コードの何が間違っていますか?

答えて

2

最も内側の要素にはwidthheightを設定する必要があります。残りのサイズはpaddingとすることができます。最も外側の要素にdisplay: inline-blockを入れて伸ばしないようにするか、width500pxに設定します。

#div1 { 
 
    width: 300px; 
 
    height: 300px; 
 
    background: yellow; 
 
} 
 
#div2 { 
 
    background: orange; 
 
    padding: 50px; 
 
} 
 
#div3 { 
 
    background: red; 
 
    padding: 50px; 
 
} 
 
#div4 { 
 
    background: purple; 
 
    padding: 50px; 
 
    display: inline-block; 
 
}
<div id="div4"> 
 
    <div id="div3"> 
 
    <div id="div2"> 
 
     <div id="div1"></div> 
 
    </div> 
 
    </div> 
 
</div>

0

これはあなたのために働く必要があります。

<!DOCTYPE html> 
<html> 
<head> 
<title>Page Title</title> 
<style> 
#div1 { 
width: 300px; 
height: 300px; 
background: yellow; 
margin: auto; 
} 
#div2 { 
background: orange; 
padding: 50px; 
} 
#div3 { 
background: red; 
padding: 50px; 
} 
#div4 { 
background: purple; 
padding: 50px; 
} 
</style> 
</head> 
<body> 
</html> 
関連する問題