2017-03-17 67 views
0

我在CSS中有一個div結構,看起來像這樣。在子div內容下呈現父級背景圖像屬性

<div style="background-image: url(my_url.ext)> 
    <div> 
     My content 1. 
    <div> 
    <div> 
     My content 2. 
    <div> 
</div> 

當網站顯示在手機上時,我希望background-image屬性顯示在內容div下面。我嘗試使用background-position屬性,但它沒有延長父div的長度,實際上隱藏了圖像。有沒有辦法做到這一點,而不是在父母<div>內設置單獨的<img>標籤?我的CSS類目前看起來是這樣的:

.myClass/root { 
    background-repeat: no-repeat; 
    height: 100%; 
    position: relative; 
} 

@media (desktop-breakpoint) { 
    .myClass/root { 
     position: relative; 
    } 

    .myClass/root .myClass/background { 
     background-size: cover; 
     bottom: 0; 
     left: 0; 
     position: absolute; 
     right: 0; 
     top: 0; 
     z-index: -1; 
    } 
} 

@media (mobile-breakpoint) { 
    .myClass/root { 
     display: flex; 
     flex-direction: column; 
     min-height: 100%; 
    } 

    .myClass/root .myClass/background { 
     background-size: cover; 
     flex-grow: 1; 
    } 
} 
+0

不知道你是什麼之後 - 你只是想要背景圖像來填充整個父div?如果是這樣,請使用'background-size:cover' – Pete

+0

@Pete在桌面上,背景正在做我想做的事情。但是,當我切換到移動設備時,我希望父div的背景圖像在內容div – Dan

+1

下面呈現,如下所示? https://jsfiddle.net/3qmfbmxn/,然後dektop可以使用這些樣式:https://jsfiddle.net/3qmfbmxn/1/ – Pete

回答

0

這個作品

#parent{ 
    height:auto; 
    width: auto; 
    color:#fff; 
    position:relative; 
} 
#parent:after{ 
    content: ""; 
    height:100%; 
    width: 100%; 
    position: absolute; 
    left:0; 
    top:0; 
    background-position:center center; 
    background-size: cover; 
    background-clip: content-box; 
    background-image: url(https://images.pexels.com/photos/110147/pexels-photo-110147.jpeg?w=1260&h=750&auto=compress&cs=tinysrgb); 
    z-index:-1; 
} 

@media(max-width: 767px){ 
    #parent div{ 
    background: #000; 
    } 
    #parent:after{ 
    content: ""; 
    height:50px; 
    width: 100%; 
    position: relative; 
    display:block; 
    background-position:center center; 
    background-size: cover; 
    background-clip: content-box; 
    background-image: url(https://images.pexels.com/photos/110147/pexels-photo-110147.jpeg?w=1260&h=750&auto=compress&cs=tinysrgb); 
    z-index: 50; 
} 
} 

,而你的HTML如下

<div id="parent"> 
    <div> 
     My content 1. 
    </div> 
    <div> 
     My content 2. 
    </div> 
</div> 

working fiddle

+0

這不幸的是不起作用。它會導致頁面上的其他內容在桌面模式下隱藏父div,而在移動設備中,圖像不顯示時會出現相同的問題。 – Dan

+0

你可以檢查小提琴,並告訴我哪部分不工作?我沒有得到相同的結果 – necilAlbayrak