2017-08-20 5 views
0

this fiddleのように、左上隅の外側にロゴが付いた中心のコンテンツの列が必要です。中心のdivの側にオブジェクトをアタッチする

HTML:

<div> 
    I'm centered 
    <div> 
     I'm glued to the centered div 
    </div> 
</div> 

CSS:

div 
{ 
    background-color: pink; 
    width: 300px; 
    height: 400px; 
    margin: 0 auto; 
    position: relative; 
} 
div div 
{ 
    width: 100px; 
    height: 100px; 
    background-color: cyan; 
    left: -100px; 
    top: 0px; 
    position: absolute; 
} 

それは、コンテンツとプレゼンテーションの分離の失敗のように思えるので、私は自分のソリューションに満足していないよ - 私の場合は、シアン箱ロゴ、ピンクのボックスが内容です。コンテンツとロゴの両方をラッパーdivにすることはできません。なぜなら、コンテンツとロゴを合わせずに、私が中心にしたいコンテンツだからです。

もっとクリーンな方法がありますか?

+0

[divの隣にDIV]の複製があります(https://stackoverflow.com/questions/11433848/div-next-to-centered-div) –

+0

@NilsSchlüter許容されている回答は非常に良好で、本当に答えています私が書いた質問ですが、私の場合、実際には1つの列(内容とその上のnavbar)に中心を置く必要がある2つのことがあります。私はそれらをラッパーに入れることができますが、それは意味のないマークアップです。 –

+0

私はあなた自身の解決策に満足していない理由を理解できません。 –

答えて

1

あなたはCSSプロパティこのようdisplay: flex

使用することができます

HTML

<div class="container"> 
    <div class="content"> 
    <div class="logo"></div> 
    </div> 
</div> 

CSSを

.container { 
    display: flex; 
    justify-content: center; 
    flex-direction: row; 
} 
.content 
{ 
    background-color: pink; 
    width: 300px; 
    height: 400px; 
} 
.logo 
{ 
    width: 100px; 
    height: 100px; 
    background-color: cyan; 
    left: -100px; 
    position: relative; 
} 

アン私は問題が何かを得ていない。

関連する問題