私はいくつかのフレックス要素の周りに二重の境界線を避けるためにアウトラインとマージンを使用しています。フレックス要素の周りのCSSのアウトラインは、子要素マージンを含まない?
フレックス要素自体に余白を適用すると、期待どおりに機能します。しかし、子要素にマージンを適用すると、二重枠が再び表示されます。
マージンが親フレックス要素に適用されている場合にのみアウトラインが正しくレンダリングされるのはなぜですか?これはバグですか?
.comment {
padding:20px;
}
#flex-container {
display: flex;
}
.flex-element {
flex-grow: 1;
}
.flex-content {
width: 100%;
height: 100%;
margin-left: 5px;
outline: 5px solid #ccc;
}
.flex-element-working {
flex-grow: 1;
margin-left: 5px;
}
.flex-content-working {
width: 100%;
height: 100%;
outline: 5px solid #ccc;
}
<div class='comment'>
Why doesn't this work?:
</div>
<div id='flex-container'>
<div class='flex-element'>
<div class='flex-content'>
<div class='comment'> Flex Content</div>
</div>
</div>
<div class='flex-element'>
<div class='flex-content'>
<div class='comment'> Flex Content</div>
</div>
</div>
</div>
<div class='comment'>
Working Example:
</div>
<div id='flex-container'>
<div class='flex-element-working'>
<div class='flex-content-working'>
<div class='comment'> Flex Content</div>
</div>
</div>
<div class='flex-element-working'>
<div class='flex-content-working'>
<div class='comment'> Flex Content</div>
</div>
</div>
</div>
、あなたは 'width'sを点検して見ることができます - 私はその明白なことを推測します! – kukkuz