html - 如何使用CSS使元素內部分區域顯示父級元素的背景?
問題描述
<p class='wrapper'><header id='cover'> <p class='cover'> </p></header></p>html { background: url(../images/bg.jpg) no-repeat center center fixed; -webkit-background-size: cover; -moz-background-size: cover; -o-background-size: cover; background-size: cover; height: 100%;}.wrapper { width: 85%; margin: 0 auto; background-color: #fff; height: 90%; position: relative;}header { width: 50%; text-align: center;}
Markup大概是這樣的,header是wrapper內的一個寬度為父元素一半的子元素,現在我想使header能夠顯示設置在html元素上的背景圖片bg.jpg,這個效果有點像,透過一張中間穿了孔的紙看背景,應該還挺常見的。
我使用了visibility:hidden和opacity: 0屬性,都不生效,應該如何實現?
補充說明:請看圖片,cover的位置如圖,我希望cover這部分能看得到背景圖像,也就是《霍比特人》的海報。在
問題解答
回答1:opacity: 0的話不就完全消失了嗎,你是想要一種在header里,背景圖片是半透明的效果嗎?啥叫從穿了孔的紙看背景的效果,有類似的網站看看不?
回答2:這個效果是實現不了的,因為header是.wrapper 子元素也就是說 你設置header visibility:hidden和opacity: 0都是只能看到 .wrapper 而不是看到html的背景的 也就是不能穿墻的像你這種完全可以切片做 而不是一張大大的.wrapper
回答3:wrapper不要使用背景,邊界白色可以用邊框代替,下面內容區域酌情用背景就可以了
回答4:子元素使用多個標簽組成,中間那部分全透明;不然就是中間那部分另做一個背景,和父元素一樣的背景圖片,然后定位圖片的位置,這個比較麻煩點
回答5:按照各位的回答,我嘗試了將wrapper的背景色去掉,然后慢慢拼接。這是可行的, 但是太麻煩了。
@飛天小菜鳥 說用兩張背景圖,然后再定位。這提醒了我。
恰好我是用CSS3中的background: url(../images/bg.jpg) no-repeat center center fixed; background-size: cover;設置背景圖片的,于是直接在cover元素上也這么設置,直接到達了效果。
相關文章:
1. javascript - npm下載的模塊不完整是什么問題?2. java - Spring事務回滾問題3. mysql 聯表查詢4. apache - 想把之前寫的單機版 windows 軟件改成網絡版,讓每個用戶可以注冊并登錄。類似 qq 的登陸,怎么架設服務器呢?5. node.js - 我想讓最后進入數據庫的數據,在前臺最先展示,如何做到?6. MySQL數據庫服務器循環插入執行速度慢7. 剛放到服務器的項目出現這中錯誤,有高手指點嗎8. wordpress - Nginx中禁止訪問txt,robots.txt文件例外,規則該怎么寫?9. python 操作mysql如何經量防止自己的程序在之后被惡意注入(說白了就是問一下python防注入的一些要點)10. mysql - 面試題:如何把login_log表轉換成last_login表?
