css3 - css背景自適應問題
問題描述
比如我做一個高度、寬度百分比的按鈕,背景用sprite的大圖的一部分,用background-size或者其他屬性可以做到按鈕適應屏幕的大小時,背景圖的那一部分也同時適應屏幕大小嗎?
問題解答
回答1:樓主最好是自己去試一下。在支持css3較好的瀏覽器中,要做到在不同尺寸下,同樣的圖片按比例顯示不同的大小。首先要統一單位
單位要統一使用em按不同的寬度設置不同的字體大小標準設置background-size 大小,一般與背景圖的大小一樣。單位em.設置 background-position下面是scss的部分代碼
以編寫手機頁為例,設置文字大小.mainwarp{font-size:12px;}@include min-screen(480px){ .mainwarp{ font-size: 24px; }}@include min-screen(640px){ .mainwarp{ font-size: 32px; }}設置背景圖片
背景圖片設置大小,寬高為486px * 389px。在這里使用scss 的自定義方法,轉換為em.在這里以最大字體32為基準。
.phone_icon{ background: url(/static/images/common/phone_icon.png) no-repeat; background-size: pxToEm(486,32) pxToEm(389,32); }具體使用時,位置也是以em為單位設置,pte方法自動轉換位置為em單位。
//活動專享.ac_icon_byzx{background: #2cc0da; .m_icon{background-position: pte(4,32) pte(-136,32);}}//愛國教育.ac_icon_agjy{background: #ff867a; .m_icon{background-position: pte(-59,32) pte(-132,32);}}//科普學習.ac_icon_kpxx{background: #87bcf7; .m_icon{background-position: pte(-122,32) pte(-136,32);}}//運動休閑.ac_icon_ydxx{background: #ad7ece; .m_icon{background-position: pte(-186,32) pte(-136,32);}}回答2:
不知題主是否問的是如何將背景圖片適應到整個屏幕,如果是的,采用background-size的話需要考慮一下在各瀏覽器下的兼容性問題Fullscreen backgrounds with centered content或者嘗試一下用img做背景圖
回答3:你需要高度寬度都能占滿的按鈕,完全就可以用一個單獨的圖了吧。這樣直接寫 background-size:cover; 注意兼容性。sprite 一般來說都是用某個位置,比如你的按鈕在 hover 的時候也是一張圖,這個時候改變 position 就可以了。
相關文章:
1. Python處理Dict生成json2. (python)關于如何做到按win+R再輸入文件文件名就可以運行?3. 想練支付寶對接和微信支付對接開發(Java),好像個人不可以,怎么弄個企業的4. mysql - Sql union 操作5. java - Mybatis 數據庫多表關聯分頁的問題6. 急急急!!!求大神解答網站評論問題,有大神幫幫小弟嗎7. javascript - 按鈕鏈接到另一個網址 怎么通過百度統計計算按鈕的點擊數量8. python - 如何使用websocket在網頁上動態示實時數據的折線圖?9. python - 請問這兩個地方是為什么呢?10. python2.7 - python 正則前瞻 后瞻 無法匹配到正確的內容
