আমি কীভাবে IE তে পটভূমি আকারের কাজ করব?


188

আই এস সিএস স্টাইলকে background-sizeকাজ করার কোনও জ্ঞাত উপায় কি নেই ?


1
আপনি কি প্রভাব পেতে চেষ্টা করছেন?
— জিপ্পিভি

@ জিপভিভি আমার একটি ডিভি রয়েছে যা প্রায় 250 পিক্সেল প্রশস্ত। তবে পটভূমি চিত্রটি 300px প্রশস্ত। আমি ব্যাকগ্রাউন্ড চিত্রটি পুরোপুরি ফিট হতে চাই (পটভূমির আকার: 100%) যাতে এটি বন্ধ না হয়ে যায়। তারপরে :hoverআমি ব্যাকগ্রাউন্ডের আকারটি পুরো 300px প্রস্থে পরিবর্তন করতে চাই (ব্যাকগ্রাউন্ড-আকার: অটো) জুমিংয়ের বিভ্রম তৈরি করতে
— জেডি আইজ্যাকস

1
আপনি ইম্জি ট্যাগ ব্যবহার করে একই প্রভাব অর্জন করতে পারেন। এর উপরে যদি আপনার কিছু প্রয়োজন হয় তবে z-index ব্যবহার করুন।
— জিপ্পিভি

1
@ জন যদি গ্রহণযোগ্য উত্তর পরিবর্তন করতে বিবেচনা করেন তবে ড্যানের কাজটি যদি আপনার পক্ষে কাজ করে!
— পেক্কা

@ জিপ্পিভি আইএমজি ট্যাগের মাঝে মাঝে অপ্রয়োজনীয় পার্শ্ব-প্রতিক্রিয়া থাকে, উদাহরণস্বরূপ এটি নির্বাচন বা ডান ক্লিক করা যেতে পারে। এগুলি কখনও কখনও ঠিক থাকে, কখনও কখনও হয় না।
— পিটারহ - মনিকা

উত্তর:


312

কিছুটা দেরি হলেও এটি কার্যকরও হতে পারে। IE 5.5+ এর জন্য একটি আইই ফিল্টার রয়েছে, যা আপনি প্রয়োগ করতে পারেন:

filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(
src='images/logo.gif',
sizingMethod='scale');

-ms-filter: "progid:DXImageTransform.Microsoft.AlphaImageLoader(
src='images/logo.gif',
sizingMethod='scale')";

তবে, এই বরাদ্দকৃত অঞ্চলে পুরো চিত্রটিকে স্কেল করে, সুতরাং আপনি যদি স্প্রিট ব্যবহার করেন তবে এটি সমস্যার কারণ হতে পারে।

সুনির্দিষ্টতা: আলফাইমজেলোডার ফিল্টার @ মাইক্রোসফ্ট


12
আমি অবাক হয়েছি কেন এমএস কেন কেবল CSS ব্যবহার করে সেই ফাংশনরালটি বাস্তবায়ন করেনি। অনেক ধন্যবাদ!
— মার্টিন অ্যান্ডারসন

2
কোন আইই সংস্করণগুলি এটি সমর্থন করে?
— ᆺ ᆼ

8
আমরা যদি সংজ্ঞায়িত উপাদানটির ভিতরে লিঙ্ক এবং বোতাম ব্যবহার করি তবে সেই লিঙ্কগুলি এবং বোতামগুলি কাজ করবে না। কেউ কি এটিকে ঠিক করার কোনও পদ্ধতি জানেন?
— রুবিপ্রিন্স

2
আমাকে position: relative; z-index: 999ইনপুট যোগ করতে হয়েছিল , এ জাতীয়
— ডিভের

10
স্কেল পদ্ধতিটি অনুপাতটি রাখে না যদিও .. সুতরাং আপনার উপাদানটি যেমন আপনার ইমেজের মতো অনুপাত থাকে তেমন ভাল।
— ইয়ভেস ভ্যান ব্রুকোভেন

45

আমি jquery.backgroundSize.js তৈরি করেছি : একটি 1.5K jquery প্লাগইন যা "কভার" এবং " ধারণকৃত " মানগুলির জন্য IE8 ফ্যালব্যাক হিসাবে ব্যবহার করা যেতে পারে। কটাক্ষপাত আছে ডেমো ।


12
Jquery.backgroundSize.js এর ডকুমেন্টেশন অনুসারে, প্লাগইনটি হ্রাস করা হয়েছে এবং তারা পরিবর্তে পটভূমির আকার-পলিফিলের প্রস্তাব দেয় ।
— ভয়েডহ্যান্ড

আপডেট করা সংস্করণটি কাজ করে না background-position: fixed।
— রায়ান বার্নি

@ ওভিডহ্যান্ড এবং ফিল্টার এবং পলিফিল উভয়ই আমার পক্ষে কাজ করেনি, আমি সাফল্যের জন্য jquery.backgroundSize ব্যবহার করেছি
— ক্রিস মেরিসিক

21

এই পোস্টের জন্য ধন্যবাদ, ক্রস ব্রাউজার সুখের জন্য আমার সম্পূর্ণ সিএসএস হ'ল:

<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;

@ গৌরব 123 চেষ্টা করুন-webkit-background-size: cover; -moz-background-size: cover; -o-background-size: cover; background-size: cover;
— হনক 31

5
এটি আমার আই 8 কে দুইবার ব্যাকগ্রাউন্ড চিত্র প্রদর্শন করতে সক্ষম করে - একটি ছোট আকারের মাত্রা এবং দ্বিতীয়টি বড় আকারের নয় এমন ব্যাকগ্রাউন্ড।
— arekk

ie7: ঠিক আছে, তবে লিঙ্কগুলিতে আর ক্লিক করতে পারবেন না। (কেন ie7? সরকারী সাইটগুলি আপডেট করা খুব ধীর)
— রবি ম্যাথিউজ

5

এমনকি পরে, তবে এটি কার্যকরও হতে পারে। আপনি পটভূমি-আকারের জন্য পলিফিল হিসাবে ব্যবহার করতে পারেন এমন jQuery-backstretch- প্লাগইন রয়েছে: কভার। আমার ধারণা, jQuery সহ CSS- ব্যাকগ্রাউন্ড-url সম্পত্তি দখল করা এবং এটি jQuery-backstretch প্লাগইন এ খাওয়ানো সম্ভব (এবং মোটামুটি সহজ) হতে হবে be আধুনিক অনুশীলনের সাথে ব্যাকগ্রাউন্ড-আকারের-সমর্থনের জন্য পরীক্ষা করা এবং এই প্লাগইনটিকে ফ্যালব্যাক হিসাবে ব্যবহার করা ভাল অভ্যাস।

ব্যাক স্ট্রেচ-প্লাগইনটি এখানে SO তে উল্লেখ করা হয়েছিল । JQuery-backstretch- প্লাগইন-সাইট এখানে ।

অনুরূপ ফ্যাশনে আপনি একটি jQuery- প্লাগইন বা স্ক্রিপ্ট তৈরি করতে পারেন যা আপনার পরিস্থিতিতে ব্যাকগ্রাউন্ড-আকারের কাজ করে (ব্যাকগ্রাউন্ড-আকার: 100%) এবং IE8- এ। সুতরাং আপনার প্রশ্নের উত্তর দেওয়ার জন্য: হ্যাঁ একটি উপায় আছে তবে এটিএম-তে কোনও প্লাগ-অ্যান্ড-প্লে সমাধান নেই (যেমন আপনাকে নিজের কোডিং করতে হবে)।

(অস্বীকৃতি: আমি ব্যাক স্ট্রেচ-প্লাগইনটি ভালভাবে পরীক্ষা করে দেখিনি তবে এটি ব্যাকগ্রাউন্ড-আকারের মতোই করা হবে বলে মনে হচ্ছে: কভার)


5

তার জন্য একটি ভাল পলফিল রয়েছে: লুইস্রেমি / ব্যাকগ্রাউন্ড-আকার-পলিফিল

ডকুমেন্টেশন উদ্ধৃতি:

আপনার ওয়েবসাইটটিতে ব্যাকগ্রাউন্ডসাইজ.মিন.এইচটিসি আপলোড করুন। .Htaccess যা আইই দ্বারা প্রয়োজনীয় মাইম প্রকারটি প্রেরণ করবে (কেবলমাত্র অ্যাপাচি - এটি এনগিনেক্স, নোড এবং আইআইএস এ নির্মিত)।

আপনি নিজের সিএসএসে যেখানেই পটভূমি-আকার ব্যবহার করেন না কেন, এই ফাইলটিতে একটি রেফারেন্স যুক্ত করুন।

.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);
}

এই পলিফিলটি কেবল কাজ করে। পটভূমি-আকার: কভার বা আই 8 অন্তর্ভুক্ত। কোন ঝাঁকুনি নেই, গোলমাল নেই।
— জিমলংগো

এই পদ্ধতির সমর্থন উভয় containএবং cover। এটিতে 5.7KB খুব খারাপ নয় কারণ এটি একটি নেটওয়ার্ক প্যাকেটে স্থানান্তর করবে।
— এসএমমৌসভি

2

আইই ১১ উইন্ডোজে এটি আমার পক্ষে কাজ করেছে,

background-size: 100% 100%;

0

আপনি এই ফাইলটি ব্যবহার করতে পারেন ( https://github.com/louisremi/background-size-polyfill "ব্যাকগ্রাউন্ড-আকারের পলিফিল") ব্যবহার করার জন্য সত্যই সহজ:

.selector {
background-size: cover;
-ms-behavior: url(/backgroundsize.min.htc);
}

0

আমি নিম্নলিখিত স্ক্রিপ্ট দিয়ে চেষ্টা করেছি -

.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;
}

এটা আমার জন্য কাজ!


কি সংস্করণ জন্য?
— নিহির
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.