2016-11-14 19 views
3

画像表示に問題があります。以下は私のコードです:html背景画像が正常に表示されない

.night-sky { 
 
    position: relative; 
 
    height: 100%; 
 
    margin: 0; 
 
    background-repeat: no-repeat; 
 
    background-attachment: fixed; 
 
    background: -webkit-linear-gradient(top, #020107 0%, #311B46 50%, #592C67 60%, #803E7E 75%, #CA759C 90%, #EC9D9D 95%, #C35E4D 100%); 
 
    background: linear-gradient(to bottom, #020107 0%, #311B46 50%, #592C67 60%, #803E7E 75%, #CA759C 90%, #EC9D9D 95%, #C35E4D 100%); 
 
} 
 
.night-sky:before { 
 
    height: 100%; 
 
    width: 100%; 
 
    content: ' '; 
 
    position: absolute; 
 
    top: 0; 
 
    /* http://bg.siteorigin.com/ */ 
 
    background-image: url("https://s3-us-west-2.amazonaws.com/s.cdpn.io/424395/night-sky-texture.png"); 
 
    opacity: .1; 
 
} 
 
body { 
 
    height: 100%; 
 
    margin: 0; 
 
    background: #000; 
 
}
<body> 
 
    <div class="night-sky"> 
 
    <p>qerqwer</p> 
 
    <p>hahahh</p> 
 
    </div> 
 
</body>

これは、それが今のように見える方法です:私はクラスのdiv class = "night-sky"間の段落を追加しなかった場合

enter image description here

、それはただ何も示していない。私はちょうどbackground-imageを体内に追加すれば正しく表示されます。私は何が間違っているのか分からない。

ありがとうございました。

+0

可能性が高いです。要素がなければ、夜空の幅と高さがあります。したがって、bgは見えません。パラグラフのないサンプルのフィドルを見てください。 https://jsfiddle.net/5a2xowwg/ – aVC

+0

リンク:-http://www.html.am/html-codes/image-codes/background-image-code.cfm –

答えて

2

html, body { height: 100%; width: 100%; margin: 0;} 
 

 
.night-sky { 
 
    position: relative; 
 
    height: 100%; 
 
    margin: 0; 
 
    background-repeat: no-repeat; 
 
    background-attachment: fixed; 
 
    background: -webkit-linear-gradient(top, #020107 0%, #311B46 50%, #592C67 60%, #803E7E 75%, #CA759C 90%, #EC9D9D 95%, #C35E4D 100%); 
 
    background: linear-gradient(to bottom, #020107 0%, #311B46 50%, #592C67 60%, #803E7E 75%, #CA759C 90%, #EC9D9D 95%, #C35E4D 100%); 
 
} 
 
.night-sky:before { 
 
    width: 100%; 
 
    content: ' '; 
 
    position: absolute; 
 
    top: 0; 
 
    /* http://bg.siteorigin.com/ */ 
 
    background-image: url("https://s3-us-west-2.amazonaws.com/s.cdpn.io/424395/night-sky-texture.png"); 
 
    opacity: .1; 
 
} 
 
body { 
 
    height: 100%; 
 
    margin: 0; 
 
    background: #000; 
 
}
<body> 
 
    <div class="night-sky"> 
 
    <p>qerqwer</p> 
 
    <p>hahahh</p> 
 
    </div> 
 
</body>

+0

ありがとう、mrid!、私はたくさんのことを学んだ。 – BeNice

3

htmlheight: 100%を追加し、それが問題を解決するだろう。

ヒント:

  1. これでトップに余裕があるだろうことがわかります - これは(あなたがthis SO threadでそれについての詳細を読むことができる)を崩壊マージンによるものです。これはとnight-sky

  2. 完了にそれをborderを追加、削除するには、次のように身体にはスクロールバーが存在しないことを

    * { 
        box-sizing: border-box; 
    } 
    

    からborder-boxthis SO thread

に重要である理由を知ります乾杯!

* { 
 
    box-sizing: border-box; 
 
} 
 
html{ 
 
    height: 100%; 
 
} 
 
.night-sky { 
 
    position: relative; 
 
    height: 100%; 
 
    margin: 0; 
 
    
 
    border: 1px solid black; 
 
    
 
    background-repeat: no-repeat; 
 
    background-attachment: fixed; 
 
    background: -webkit-linear-gradient(top, #020107 0%, #311B46 50%, #592C67 60%, #803E7E 75%, #CA759C 90%, #EC9D9D 95%, #C35E4D 100%); 
 
    background: linear-gradient(to bottom, #020107 0%, #311B46 50%, #592C67 60%, #803E7E 75%, #CA759C 90%, #EC9D9D 95%, #C35E4D 100%); 
 
} 
 
.night-sky:before { 
 
    height: 100%; 
 
    width: 100%; 
 
    content: ' '; 
 
    position: absolute; 
 
    top: 0; 
 
    /* http://bg.siteorigin.com/ */ 
 
    background-image: url("https://s3-us-west-2.amazonaws.com/s.cdpn.io/424395/night-sky-texture.png"); 
 
    opacity: .1; 
 
} 
 
body { 
 
    height: 100%; 
 
    margin: 0; 
 
    background: #000; 
 
}
<body> 
 
    <div class="night-sky"> 
 
    <p>qerqwer</p> 
 
    <p>hahahh</p> 
 
    </div> 
 
</body>

+0

@BeNiceさん、これについてのフィードバックをありがとう! – kukkuz

0

このお試しください: - あなたがパーセンテージで高さを有し、かつ幅が定義されていないので、

<div style="background-image:url(http://www.html.am/images/image-codes/milford_sound_t.jpg);width:220px;height:140px;"> 
 

 
</div>

+0

必要に応じて、高さと幅を自由に変更できます。 –

関連する問題