CSS讓DIV按照背景圖片的比例縮放,並讓背景圖片填充整個元素(轉)


目的是:通過background的一系列屬性,讓DIV按照背景圖片的比例縮放,並讓背景圖片填充整個DIV 

首先我們需要讓背景圖片在指定的DIV中全部填充顯示 

之前看有用類似 background-attachment: 的fix來實現背景圖片的填充,但是,貌似是不能按照當前的DIV大小去填充。 


我的情況是,寬度按照整個屏幕的百分比來調整,但是高度,又不能通過整個屏幕的高度百分比來調整,而也想通過寬度的百分比,即寬高比希望與背景圖片的寬高比相等。 

通過一下屬性,先填充 
background-size: 100% auto; 
background-repeat: no-repeat; 
background-image: url(../images/aaa.png); 

然后通過對這個div的before添加樣式 
content: ""; 
display: block; 
padding-top: 100%; /* 代表1:1,如果是想要5:1就是20%,根據圖片大小比例,那就自己算一下吧*/ 
這塊實際上做的就是用before占用一塊位置,把相應的高度撐起來~ 


然后里面就可以放任何東西了,當然,里面的東西要保持 
position: absolute; 
    top: 0; 
    left: 0; 
    bottom: 0; 
    right: 0; 
width:100%; 
height:100%; 
同時,上一層的position要是relative的,這樣就可以保證,里面的內容剛剛好在背景圖片這個區域了

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM