क्या background-size
IE में CSS स्टाइल का काम करने का कोई ज्ञात तरीका है ?
:hover
मैं चाहता हूँ कि ज़ूम का भ्रम पैदा करने के लिए पृष्ठभूमि का आकार पूरी तरह से 300px चौड़ाई (पृष्ठभूमि-आकार: ऑटो) में बदल जाए
क्या background-size
IE में CSS स्टाइल का काम करने का कोई ज्ञात तरीका है ?
:hover
मैं चाहता हूँ कि ज़ूम का भ्रम पैदा करने के लिए पृष्ठभूमि का आकार पूरी तरह से 300px चौड़ाई (पृष्ठभूमि-आकार: ऑटो) में बदल जाए
जवाबों:
थोड़ा देर से, लेकिन यह भी उपयोगी हो सकता है। IE 5.5+ के लिए एक IE फ़िल्टर है, जिसे आप लागू कर सकते हैं:
filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(
src='images/logo.gif',
sizingMethod='scale');
-ms-filter: "progid:DXImageTransform.Microsoft.AlphaImageLoader(
src='images/logo.gif',
sizingMethod='scale')";
हालांकि, यह पूरी छवि को आवंटित क्षेत्र में फिट होने के लिए मापता है, इसलिए यदि आप स्प्राइट का उपयोग कर रहे हैं, तो यह समस्या पैदा कर सकता है।
विशिष्टता: AlphaImageLoader फ़िल्टर @microsoft
position: relative; z-index: 999
ऐसे divs के अंदर इनपुट, a, बटन के लिए जोड़ना था
मैंने jquery.backgroundSize.js बनाया : एक 1.5K jquery प्लगइन जिसे "कवर" और "समाहित" मान के लिए IE8 फ़ॉलबैक के रूप में उपयोग किया जा सकता है। डेमो पर एक नजर है ।
background-position: fixed
।
इस पोस्ट के लिए, क्रॉस ब्राउज़र खुशी के लिए मेरी पूरी सीएसएस है:
<style>
.backgroundpic {
background-image: url('img/home.jpg');
background-size: cover;
filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(
src='img/home.jpg',
sizingMethod='scale');
}
</style>
जब से मैंने इस कोड के टुकड़े पर काम किया है तब से यह बहुत लंबा है, लेकिन मैं और अधिक ब्राउज़र संगतता के लिए जोड़ना चाहूंगा, मैंने इसे अपने सीएसएस में अन्य ब्राउज़र संगतता के लिए जोड़ा है:
-webkit-background-size: cover;
-moz-background-size: cover;
-o-background-size: cover;
background-size: cover;
-webkit-background-size: cover; -moz-background-size: cover; -o-background-size: cover; background-size: cover;
बाद में भी, लेकिन यह भी उपयोगी हो सकता है। JQuery-backstretch-plugin है जिसे आप बैकग्राउंड-साइज़: कवर के लिए पॉलीफ़िल के रूप में उपयोग कर सकते हैं। मुझे लगता है कि यह संभव है (और काफी सरल) jQuery के साथ सीएसएस-पृष्ठभूमि-यूआरएल संपत्ति को हथियाने के लिए और इसे jQuery-backstretch प्लगइन को खिलाना चाहिए। आधुनिकता के साथ पृष्ठभूमि-आकार-समर्थन के लिए परीक्षण करना और इस प्लगइन को एक कमबैक के रूप में उपयोग करना अच्छा होगा।
Backstretch-plugin का उल्लेख SO पर यहाँ किया गया था । jQuery-backstretch-plugin-site यहाँ है ।
इसी तरह के फैशन में आप एक jQuery- प्लगइन या स्क्रिप्ट बना सकते हैं जो आपकी स्थिति में पृष्ठभूमि-आकार का काम करता है (पृष्ठभूमि-आकार: 100%) और IE8- में। तो आपके प्रश्न का उत्तर देने के लिए: हाँ एक तरीका है, लेकिन इसमें कोई प्लग-एंड-प्ले समाधान नहीं है (यानी आपको कुछ कोडिंग खुद करनी होगी)।
(अस्वीकरण: मैंने बैकस्ट्रीट-प्लगइन की अच्छी तरह से जांच नहीं की, लेकिन यह पृष्ठभूमि-आकार: कवर के समान ही लगता है)
इसके लिए एक अच्छा पॉलीफ़िल है: लूइस्मेरी / पृष्ठभूमि-आकार-पॉलीफ़िल
प्रलेखन उद्धृत करने के लिए:
अपनी वेबसाइट पर backgroundize.min.htc अपलोड करें। .htaccess के साथ जो IE द्वारा आवश्यक माइम-प्रकार भेजेगा (केवल Apache - यह nginx, नोड और IIS में बनाया गया है)।
हर जगह जब आप अपने CSS में बैकग्राउंड-साइज़ का उपयोग करते हैं, तो इस फाइल का संदर्भ जोड़ें।
.selector { background-size: cover; /* The url is relative to the document, not to the css file! */ /* Prefer absolute urls to avoid confusion. */ -ms-behavior: url(/backgroundsize.min.htc); }
contain
और दोनों का समर्थन करता है cover
। इसमें 5.7KB बहुत खराब नहीं है क्योंकि यह एक नेटवर्क पैकेट में स्थानांतरित हो जाएगा।
आप IE8 के लिए इस फ़ाइल ( https://github.com/louisremi/background-size-polyfill "बैकग्राउंड-साइज़ पॉलीफ़िल") का उपयोग कर सकते हैं जो वास्तव में उपयोग करने के लिए सरल है:
.selector {
background-size: cover;
-ms-behavior: url(/backgroundsize.min.htc);
}
मैंने निम्नलिखित स्क्रिप्ट के साथ प्रयास किया -
.selector {
background-image: url("img/image.jpg");
background-size: 100%;
-webkit-background-size: cover;
-moz-background-size: cover;
-o-background-size: cover;
background-repeat: no-repeat;
}
यह मेरे लिए काम किया!