উত্তর:
আধুনিক ব্রাউজারগুলির জন্য, আপনি এটি ব্যবহার করে এটি সম্পাদন করতে পারেন background-size
:
body {
background-image: url(bg.jpg);
background-size: cover;
}
cover
মানে চিত্রটি উল্লম্ব বা অনুভূমিকভাবে প্রসারিত করা যাতে এটি কখনও টাইলস / পুনরাবৃত্তি হয় না।
এটি সাফারি 3 (বা তার পরে), ক্রোম, অপেরা 10+, ফায়ারফক্স 3.6+ এবং ইন্টারনেট এক্সপ্লোরার 9 (বা পরবর্তী) এর জন্য কাজ করবে।
এটি ইন্টারনেট এক্সপ্লোরারের নিম্ন ভার্শনের সাথে কাজ করার জন্য, এই সিএসএস ব্যবহার করে দেখুন:
filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='.myBackground.jpg', sizingMethod='scale');
-ms-filter: "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='myBackground.jpg', sizingMethod='scale')";
সিএসএস 3 সম্পত্তি ব্যবহার করুন background-size
:
#my_container {
background-size: 100% auto; /* width and height, can be %, px or whatever. */
}
এটি ২০১২ সাল থেকে আধুনিক ব্রাউজারগুলির জন্য উপলব্ধ।
background-size: 100% 100%;
অন্য যে কোনও ব্যক্তিকে সহায়তা করে তবে আমি যে কাঙ্ক্ষিত প্রভাবটি যাচ্ছি তা পেতে আমাকে সেট করতে হয়েছিল।
সিএসএসের সাহায্যে একটি চিত্র স্কেলিং যথেষ্ট সম্ভব নয়, তবে নিম্নলিখিত পদ্ধতিতে অনুরূপ প্রভাব অর্জন করা যেতে পারে।
এই মার্কআপটি ব্যবহার করুন:
<div id="background">
<img src="img.jpg" class="stretch" alt="" />
</div>
নিম্নলিখিত সিএসএস সহ:
#background {
width: 100%;
height: 100%;
position: absolute;
left: 0px;
top: 0px;
z-index: 0;
}
.stretch {
width:100%;
height:100%;
}
এবং আপনি করা উচিত!
চিত্রটিকে "সম্পূর্ণ রক্তপাত" হতে এবং স্কেল অনুপাত বজায় রাখার জন্য, আপনি পরিবর্তে এটি করতে পারেন:
.stretch { min-width:100%; min-height:100%; width:auto; height:auto; }
এটি বেশ সুন্দরভাবে কাজ করে! যদি একটি মাত্রা ক্রপ করা হয় তবে তা উভয় পক্ষের (এবং কেন্দ্রিক) সমানভাবে ছাঁটাইয়ের পরিবর্তে চিত্রের কেবল একদিকেই কাটা হবে। আমি এটি ফায়ারফক্স, ওয়েবকিট এবং ইন্টারনেট এক্সপ্লোরার 8 এ পরীক্ষা করেছি ।
margin: 0 auto
চালু করা যায় .stretch
। কেবল width
বা সেট করে height
, দিক অনুপাত একই থাকে। জুম-ফ্যাক্টরটি ব্যবহার max-width
এবং max-height
সীমাবদ্ধ করার চেষ্টা করুন ...
CSS3 এ ব্যাকগ্রাউন্ড-আকারের বৈশিষ্ট্যটি ব্যবহার করুন :
.class {
background-image: url(bg.gif);
background-size: 100%;
}
সম্পাদনা: আধুনিকীকরণ ব্যাকগ্রাউন্ড-আকারের সমর্থন সনাক্তকরণকে সমর্থন করে । আপনি কাজ করার জন্য লিখিত একটি জাভাস্ক্রিপ্ট ওয়ার্কারআউন্ড ব্যবহার করতে পারেন তবে আপনার এটি প্রয়োজন এবং কোনও সমর্থন না থাকলে এটি গতিশীলভাবে লোড করতে পারেন। এটি নির্দিষ্ট ব্রাউজারগুলির জন্য অনুপ্রবেশকারী সিএসএস হ্যাককে অবলম্বন না করে কোডটিকে বজায় রাখতে সক্ষম রাখবে।
ব্যক্তিগতভাবে আমি jQuery ব্যবহার করে এটি মোকাবেলার জন্য একটি স্ক্রিপ্ট ব্যবহার করি এটি এর ইমগাইজারের একটি অভিযোজন । বেশিরভাগ ডিজাইন হিসাবে আমি এখন ডিভাইসগুলিতে তরল বিন্যাসগুলির জন্য প্রস্থের% এর ব্যবহার করি যে কোনও একটি লুপের সাথে সামান্য অভিযোজন রয়েছে (সর্বদা 100% নয় এমন আকারের অ্যাকাউন্টিং):
for (var i = 0; i < images.length; i++) {
var image = images[i],
width = String(image.currentStyle.width);
if (width.indexOf('%') == -1) {
continue;
}
image.origWidth = image.offsetWidth;
image.origHeight = image.offsetHeight;
imgCache.push(image);
c.ieAlpha(image);
image.style.width = width;
}
সম্পাদনা: আপনি jQuery CSS3 ফাইনালিজ [গুলি] এর সাথেও আগ্রহী হতে পারেন ।
নিবন্ধের পটভূমি-আকার চেষ্টা করে দেখুন । আপনি নীচের সমস্তগুলি ব্যবহার করলে এটি ইন্টারনেট এক্সপ্লোরার ব্যতীত বেশিরভাগ ব্রাউজারে কাজ করবে।
.foo {
background-image: url(bg-image.png);
-moz-background-size: 100% 100%;
-o-background-size: 100% 100%;
-webkit-background-size: 100% 100%;
background-size: 100% 100%;
}
এখন না. এটি সিএসএস 3 এ উপলব্ধ হবে তবে বেশিরভাগ ব্রাউজারে এটি প্রয়োগ না হওয়া পর্যন্ত কিছুটা সময় লাগবে।
.style1 {
background: url(images/bg.jpg) no-repeat center center fixed;
-webkit-background-size: cover;
-moz-background-size: cover;
-o-background-size: cover;
background-size: cover;
}
কাজের ভিতর:
উপরন্তু আপনি একটি ie সমাধানের জন্য এটি চেষ্টা করতে পারেন
filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='.myBackground.jpg', sizingMethod='scale');
-ms-filter: "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='myBackground.jpg', sizingMethod='scale')";
zoom:1;
ক্রিস কোয়ার এই নিবন্ধটির ক্রেডিট http://css-tricks.com/perfect-full-page-background-image/
background-size: cover
ব্রাউজারের উপসর্গ এবং একটি IE সমাধান ব্যতীত ব্যবহার করছে
এক কথায়: না। কোনও ছবি প্রসারিত করার একমাত্র উপায় <img>
ট্যাগ সহ। আপনি সৃজনশীল হতে হবে।
উত্তরটি যখন লেখা হয়েছিল তখন এটি সত্য হয়েছিল be বর্তমানে আধুনিক ব্রাউজারগুলি সমর্থন করে background-size
যা এই সমস্যার সমাধান করে। সাবধান হন যে আইই 8 এটি সমর্থন করে না।
"প্রসারিত এবং স্কেল" সংজ্ঞায়িত করুন ...
আপনি যদি একটি বিটম্যাপ ফর্ম্যাট পেয়ে থাকেন তবে এটিকে প্রসারিত করে এটিকে টানতে সাধারণত গ্রাফিকালি বলা ভাল হয় না। একই প্রভাবটির মায়া দিতে আপনি পুনরাবৃত্তযোগ্য নিদর্শনগুলি ব্যবহার করতে পারেন। উদাহরণস্বরূপ, যদি আপনার এমন গ্রেডিয়েন্ট থাকে যা পৃষ্ঠার নীচের দিকে হালকা হয়ে যায়, তবে আপনি এমন একটি গ্রাফিক ব্যবহার করবেন যা আপনার পাত্রে একই পিক্সেল প্রশস্ত এবং একই উচ্চতা আপনার ধারক হিসাবে (বা স্কেলিংয়ের জন্য অ্যাকাউন্টের তুলনায় বেশি বড়) এবং তারপরে এটি টাইল করুন পাতা। তেমনিভাবে, গ্রেডিয়েন্টটি যদি পৃষ্ঠাটি জুড়ে চলে যায় তবে এটি আপনার ধারক থেকে এক পিক্সেল উচ্চ এবং প্রশস্ত হবে এবং পৃষ্ঠাটি পুনরাবৃত্তি করবে।
সাধারণত ধারকটি বড় হয়ে যাওয়ার বা সঙ্কুচিত হওয়ার সময় ধারকটি পূরণ করার জন্য এটির বিভ্রম দেওয়ার জন্য, আপনি চিত্রটি ধারকের চেয়ে বড় করে তোলেন। কোনও ওভারল্যাপ ধারকটির সীমানার বাইরে প্রদর্শিত হবে না।
আপনি যদি এমন কোনও প্রভাব চান যা বাঁকানো প্রান্তের বাক্সের মতো কোনও কিছুর উপর নির্ভর করে, তবে আপনি আপনার বাক্সের বাম দিকে আপনার ধারকটির বাম দিকে যথেষ্ট পরিমাণে ওভারল্যাপ দিয়ে আটকে থাকবেন যে (কারণের মধ্যে) যতই বড় কনটেইনার হোক না কেন, এটি কখনই নয় ব্যাকগ্রাউন্ডের বাইরে চলে যায় এবং তারপরে আপনি বাক্সের প্রান্তযুক্ত বাক্সের ডান পাশের একটি চিত্র স্থাপন করুন এবং এটি ধারকটির ডানদিকে স্থাপন করুন। সুতরাং ধারকটি সঙ্কুচিত বা বাড়ার সাথে সাথে বাঁকা বাক্সের প্রভাবটি সঙ্কুচিত হবে বা এর সাথে বেড়ে উঠবে - এটি বাস্তবে নয়, তবে এটি মায়া দেয় যা ঘটছে।
চিত্রটি সংকুচিত করার সাথে সাথে ধারকটি দিয়ে বেড়ে ওঠার জন্য, চিত্রটি পটভূমির সাথে কাজ করে এবং কিছু জাভাস্ক্রিপ্ট কনটেইনারটির সাথে এটি আকার পরিবর্তন করতে আপনাকে কিছু লেয়ারিং কৌশল ব্যবহার করতে হবে। সিএসএস দিয়ে এটি করার কোনও বর্তমান উপায় নেই ...
আপনি যদি ভেক্টর গ্রাফিক্স ব্যবহার করে থাকেন তবে আমার দক্ষতার ক্ষেত্রের বাইরে আপনি ভয় পাচ্ছেন।
এটি আমি এটি তৈরি করেছি। প্রসারিত ক্লাসে, আমি কেবল উচ্চতা পরিবর্তন করেছি auto
। এইভাবে আপনার পটভূমির চিত্র সর্বদা পর্দার প্রস্থের মতো একই আকার পেয়েছে এবং উচ্চতা সবসময়ই সঠিক আকারের হবে।
#background {
width: 100%;
height: 100%;
position: absolute;
margin-left: 0px;
margin-top: 0px;
z-index: 0;
}
.stretch {
width:100%;
height:auto;
}
একটি background-attachment
লাইন যুক্ত করুন:
#background {
background-attachment:fixed;
width: 100%;
height: 100%;
position: absolute;
margin-left: 0px;
margin-top: 0px;
z-index: 0;
}
.stretch {
width:100%;
height:auto;
}
এর আর একটি দুর্দান্ত সমাধান হ'ল শ্রোবিনের ব্যাক স্ট্রেচ যা দেহে বা পৃষ্ঠার যে কোনও উপাদান প্রয়োগ করা যেতে পারে - http://srobbin.com/jquery-plugins/backstretch/
এটা চেষ্টা কর
body
{
background: url(http://p1.pichost.me/i/40/1639647.jpg) no-repeat fixed;
background-size: cover;
-webkit-background-size: cover;
-moz-background-size: cover;
-o-background-size: cover;
}
সলডস্পিলের প্রতারণার জন্য অতিরিক্ত পরামর্শ হ'ল প্রস্থ নির্ধারণ করে এবং উচ্চতার জন্য অটো ব্যবহার করে স্কেল করা (আনুপাতিক পুনরায় আকার নির্ধারণ)।
উদা:
#background {
width: 500px;
height: auto;
position: absolute;
left: 0px;
top: 0px;
z-index: 0;
}