2016-06-17 15 views
0

私はこのUIデザインとその本当に美しいものを見ました。私はこのデザインを私のWebアプリケーションで使用したいと考えています。divの背景を半分に塗りつぶす方法

enter image description here

Iは固定ヘッダ、固定フッタを有します。真ん中には、画面の幅の95%の主要コンテンツがあります。

デモ:codepen.io

<header> 
    <div id="header_wrapper"> 
    <nav> 
     <a href="#"> <i class="fa fa-bars" aria-hidden="true"> </i> </a> 
    </nav> 
    </div> 
</header> 

<div id="main_content"> 
    <div id="profile_wrapper"> 
    <div id="profile_image" style="background-image:url(http://s3.amazonaws.com/37assets/svn/765-default-avatar.png)"></div> 
    <div id="profile_username">Usernamae</div> 
    </div> 
    <div id="some_content"> 
    <div class="content"> 
     <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Vitae suscipit quaerat dolore assumenda voluptate. Molestias accusamus fugiat quam illo impedit aliquid eligendi assumenda molestiae, quis, ratione, fugit dicta dolore praesentium.</p> 
    </div> 
</div> 

私は何を得ることはありませんことですが、私はそのプロファイル画像のdivのプロファイル-画像の50%の高さを有し、100%を持つことになり、バックグラウンドを持つことができる方法私のメインコンテンツは画面幅の95%を占めているので、画面の幅は?

+0

これはGoogleのマテリアルデザインのライトです。あなたはCSSとJSから使用できます –

+1

あなたの回答はこちらhttp://stackoverflow.com/questions/6457406/can-i-apply-multiple-background-colors-with- css3。あなたの背景は 'linear-gradient(lightblue 50%、white 50%)'である必要があります。 –

+1

@ハリー私はこれが異なると思います。その問題は、その効果を達成するための可能な方法をもたらしますが、これは具体的には異なる方法を求めています。これは、バックグラウンドの一部を切り取るのではなく、バックグラウンドを半分にすることです。 –

答えて

0

方法は唯一ではなく、::after疑似要素を親に追加することで、別の背景が追加されます。例:

#profile_wrapper { 
    position: relative; 
} 

#profile_wrapper:after { 
    content: ""; 

    position: absolute; 
    left: 0; 
    top: 50%; 
    height: 50%; 
    right: 0; 

    background: white; 
    z-index: 0; 
} 

この疑似要素は、親の下半分に白色を適用します。プロフィール画像そのもののような他の子供には、上にとどまるためには、正の値z-indexを与えなければならないことに注意してください。

シングルコロン構文(:after)を使用している限り、擬似要素は複数の背景画像よりもslightlywiderのサポートを受けています。基本的にIE8だけです。 IE8について心配する必要がある場合は...

Here is a version of thisペンに適用されます。

+0

はい。これは私が探していたものです。わずかな問題があります。 'main_content' divの幅は720pxなので、" half-filled background "自体も720pxです。画面の幅を100%にすることはできますか?また、スクロールアップ中に 'profile-image' divが' header'の一番上にあります。これが修正可能な方法はありますか? 'header'が常に先頭にくるようにしてください。ありがとうございました。 – Karl

+0

青の色を全幅にするには、 '#profile_wrapper'フル幅を設定する必要があります。他のラッパー要素を入れて、残りのプロファイルコンテンツを適切な位置に保つことができます。 '

'については...それは 'z-index'の魔法です。あるものを 'z-index'することを始めると、他の多くのものを' z-index'する必要があります。しかし、そのようなヘッダーは通常、とにかく 'z-index 'になっています。 –

関連する問題