css3 background顯示圖片的一部分
問(wèn)題描述
前端新人,最近跟著網(wǎng)上一個(gè)入門(mén)項(xiàng)目學(xué)習(xí)。遇到如下問(wèn)題:該元素是輪播圖左邊的按鈕圖片,
原圖是
為什么原圖大小為50px,設(shè)置為21px后并沒(méi)有壓縮原圖而是現(xiàn)實(shí)的左邊部分呢。。
問(wèn)題解答
回答1:圖片是作為背景圖片顯示的。默認(rèn)情況下元素的 background-size 屬性值為 auto,也就是保持背景圖片的原始寬度和高度。要想實(shí)現(xiàn) “完全壓縮原圖” ,需要重新設(shè)置 background-size 值為 “100%,100%”,這樣背景圖片的寬高就等于元素的寬高。這是 background-size 不同取值的規(guī)則,具體見(jiàn) w3c
你那.btn-left將這張圖設(shè)置為背景,而背景的寬或高如果是大于容器寬或高的話多出來(lái)的部分是不會(huì)顯示的。
如果是背景的寬或高大于容器寬或高的話多出來(lái)的部分默認(rèn)會(huì)用你設(shè)置的圖重復(fù)填充空白,你這里設(shè)置了no-repeat就是不讓它重復(fù)填充。
覺(jué)得我說(shuō)的還不懂的話可以看這里
回答3:樓主做的這不就是CSS Sprite(css精靈)嘛,設(shè)置了背景不重復(fù),就只會(huì)顯示對(duì)應(yīng)的左箭頭部分呀
回答4:你沒(méi)有給元素設(shè)置background-size屬性!
回答5:background-size:contain 會(huì)以最長(zhǎng)的邊為基準(zhǔn),等比縮放,圖片不會(huì)被裁減。background-size:cover 會(huì)以最短的邊為基準(zhǔn),等比縮放,圖片會(huì)被裁減。background-size:100% 100% 會(huì)填充整個(gè)p。圖片不會(huì)被裁減,但是會(huì)被拉伸。
相關(guān)文章:
1. angular.js - angular內(nèi)容過(guò)長(zhǎng)展開(kāi)收起效果2. docker綁定了nginx端口 外部訪問(wèn)不到3. docker網(wǎng)絡(luò)端口映射,沒(méi)有方便點(diǎn)的操作方法么?4. css - chrome瀏覽器input記錄上次cookie信息后,有個(gè)黃色背景~如何去除!5. docker容器呢SSH為什么連不通呢?6. nignx - docker內(nèi)nginx 80端口被占用7. debian - docker依賴的aufs-tools源碼哪里可以找到啊?8. 前端 - ng-view不能加載進(jìn)模板9. javascript - 移動(dòng)端css動(dòng)畫(huà)播放狀態(tài)暫停在ios不起作用 animation-play-state10. dockerfile - 我用docker build的時(shí)候出現(xiàn)下邊問(wèn)題 麻煩幫我看一下
