কোনও পটভূমির চিত্রটির উপাদানটির ডান দিক থেকে নির্দিষ্ট সংখ্যক পিক্সেল অবস্থানের কোনও উপায় আছে কি?
উদাহরণস্বরূপ, বাম থেকে কিছু নির্দিষ্ট পিক্সেল (বলুন, 10) অবস্থানের জন্য, আমি এটি এটি করব:
#myElement {
background-position: 10px 0;
}
কোনও পটভূমির চিত্রটির উপাদানটির ডান দিক থেকে নির্দিষ্ট সংখ্যক পিক্সেল অবস্থানের কোনও উপায় আছে কি?
উদাহরণস্বরূপ, বাম থেকে কিছু নির্দিষ্ট পিক্সেল (বলুন, 10) অবস্থানের জন্য, আমি এটি এটি করব:
#myElement {
background-position: 10px 0;
}
উত্তর:
আমি এই CSS3 বৈশিষ্ট্যটি সহায়ক বলে মনে করেছি:
/* to position the element 10px from the right */
background-position: right 10px top;
আমি যতদূর জানি এটি আইই 8 তে সমর্থিত নয়। সর্বশেষতম ক্রোম / ফায়ারফক্সে এটি দুর্দান্ত কাজ করে।
সমর্থিত ব্রাউজারগুলিতে বিশদ জানতে আমি কী ব্যবহার করতে পারি দেখুন ।
ব্যবহৃত উত্স: http://tanalin.com/en/blog/2011/09/css3-background-position/
আপডেট :
এই বৈশিষ্ট্যটি এখন মোবাইল ব্রাউজার সহ সমস্ত বড় ব্রাউজারগুলিতে সমর্থিত।
right
left
top
bottom
। উদাহরণস্বরূপ, নিম্নলিখিত রেন্ডার করবে না: background-position: right 10px 10px
তবে লিখিত হওয়া উচিতbackground-position: right 10px top 10px
!! পুরানো উত্তর, যেহেতু CSS3 এই বৈশিষ্ট্যটি নিয়ে এসেছে
কোনও পটভূমির চিত্রটির উপাদানটির ডান দিক থেকে নির্দিষ্ট সংখ্যক পিক্সেল অবস্থানের কোনও উপায় আছে কি?
নাঃ।
জনপ্রিয় workaround অন্তর্ভুক্ত
margin-right
পরিবর্তে উপাদান একটি সেটtop right
সবচেয়ে সহজ সমাধানটি শতাংশ ব্যবহার করা। আপনি পিক্সেল-নির্ভুলতার জন্য যেহেতু জিজ্ঞাসা করেছিলেন এটি হুবহু এই উত্তর নয়, তবে ডান প্রান্ত এবং চিত্রের মধ্যে কিছুটা প্যাডিংয়ের জন্য যদি আপনার কিছু দরকার হয়, তবে 99% এর অবস্থান সাধারণত কিছুটা ভালভাবে কাজ করে।
কোড:
/* aligns image to the vertical center and horizontal right of its container with a small amount of padding between the right edge */
div.middleleft {
background: url("/images/source.jpg") 99% center no-repeat;
}
পুরানো উত্তর: এটি এখন প্রধান ব্রাউজারগুলিতে প্রয়োগ করা হয়, এই প্রশ্নের অন্যান্য উত্তরগুলি দেখুন।
CSS3 এর স্পেসিফিকেশনটি সংশোধন করেছে background-position
যাতে এটি বিভিন্ন মূল পয়েন্টের সাথে কাজ করবে। দুর্ভাগ্যক্রমে, আমি এখনও কোনও বড় ব্রাউজারে এটি প্রয়োগ করা হয়েছে এমন কোনও প্রমাণ পাই না।
http://www.w3.org/TR/css3-background/#the-background-position উদাহরণ 12 দেখুন।
background-position: right 3em bottom 10px;
Version 21.0.1180.89
এখানে প্রস্তাবিত হিসাবে , এটি একটি দুর্দান্ত ক্রস ব্রাউজার সমাধান যা পুরোপুরি কার্যকর হয়:
background: url('/img.png') no-repeat right center;
border-right: 10px solid transparent;
প্রশ্নটি সমাধান হিসাবে চিহ্নিত হওয়া উত্তরে প্রস্তাবিত অফসেটগুলি নির্দিষ্ট করার CSS3 বৈশিষ্ট্যটি ব্রাউজারগুলিতে এখনও এতটা সমর্থনযোগ্য নয় বলে আমি এটি ব্যবহার করেছি। যেমন
সবচেয়ে উপযুক্ত উত্তর পশ্চাদপট-পদের জন্য নতুন চার মান সিনট্যাক্স, কিন্তু পর্যন্ত ব্রাউজার এটিকে সমর্থন করে আপনার সেরা পদ্ধতির নিম্নলিখিত জন্য আগেই প্রতিক্রিয়া সংমিশ্রণ:
background: url(image.png) no-repeat 97% center; /* default, Android, Sf < 6 */
background-position: -webkit-calc(100% - 10px) center; /* Sf 6 */
background-position: right 10px center; /* Cr 25+, FF 13+, IE 9+, Op 10.5+ */
এটি বেশিরভাগ আধুনিক ব্রাউজারে কাজ করবে ... আইই (ব্রাউজার সমর্থন) ব্যতীত । যদিও পৃষ্ঠাটি> = আই 9 সমর্থিত হিসাবে তালিকাবদ্ধ রয়েছে, তবুও আমার পরীক্ষাগুলি এর সাথে একমত নয়।
আপনি এর মতো ক্যালক () সিএসএস 3 সম্পত্তি ব্যবহার করতে পারেন;
.class_name {
background-position: calc(100% - 10px) 50%;
}
আমার জন্য এটি ডান দিকের মার্জিন অর্জনের সবচেয়ে পরিষ্কার এবং সর্বাধিক যৌক্তিক উপায়। আমি border-right: 10px solid transparent;
IE এর জন্য ফ্যালব্যাক ব্যবহার করি ।
background-position: 92% 8px; background-position: calc(100% - 12px) 8px;
right 10px center
সিনট্যাক্স ব্রাউজার আরও বর্ধিত সমর্থন আছে।
_
সাথে প্রতিস্থাপন করলেন-
ঠিক আছে যদি আমি বুঝতে পারি যে আপনি কী জিজ্ঞাসা করছেন এটি এটি করবে;
আপনার কাছে আপনার ডিআইভি কনটেইনার কল রয়েছে #main-container
এবং .my-element
এটি এর মধ্যেই রয়েছে। আপনাকে শুরু করতে এটি ব্যবহার করুন;
#main-container {
position:relative;
}
/*To make the element absolute - floats above all else within the parent container do this.*/
.my-element {
position:absolute;
top:0;
right:10px;
}
/*To make the element apart of elements, something tangible that affects the position of other elements on the same level within the parent then do this;*/
.my-element {
float:right;
margin-right:10px;
}
যাইহোক, আপনি যদি কোনও পৃষ্ঠার মধ্যে নিম্ন স্তরের উপাদানটি উল্লেখ করেন তবে ক্লাসগুলি ব্যবহার করা ভাল better
ব্যাকগ্রাউন্ড-পজিশনের জন্য বিভিন্ন উত্সের অনুমতি দেয় সিএসএস 3 স্পেসিফিকেশন এখন ফায়ারফক্স ১৪ এ সমর্থিত তবে এখনও ক্রোম 21-তে নেই (দৃশ্যত আই 99 আংশিকভাবে এগুলিকে সমর্থন করে, তবে আমি নিজে এটি পরীক্ষা করেছি না)
ক্রোম ইস্যু ছাড়াও যে @ ম্যাটিএফ রেফারেন্স করেছে এখানে আরও একটি সংক্ষিপ্তসার সংক্ষিপ্তসার রয়েছে: http://code.google.com/p/chromium/issues/detail?id=95085
আপনার যদি আনুপাতিক উপাদান থাকে তবে আপনি ব্যবহার করতে পারেন:
.valid {
background-position: 98% center;
}
.half .valid {
background-position: 96% center;
}
এই উদাহরণে, .valid
ছবি সহ শ্রেণি .half
হবে এবং স্ট্যান্ডার্ডটির অর্ধেক আকারের এক সারি হবে।
নোংরা, তবে একটি কবজ হিসাবে কাজ করে এবং এটি যুক্তিযুক্তভাবে পরিচালনাযোগ্য।
আপনি যদি উদাহরণস্বরূপ কোনও বোতামে তীর / অন্যান্য আইকন যুক্ত করার জন্য এটি ব্যবহার করতে চান তবে আপনি সিএসএস সিউডো-উপাদান ব্যবহার করতে পারবেন?
যদি এটি সত্যিই পুরো বোতামটির ব্যাকগ্রাউন্ড-চিত্র হয় তবে আমি স্পেসটি চিত্রটিতে অন্তর্ভুক্ত করি এবং কেবল ব্যবহার করি
background-position: right 0;
তবে যদি আমি উদাহরণস্বরূপ একটি বোতামে একটি নকশাকৃত তীর যুক্ত করতে হয় তবে আমার এই এইচটিএমএল রয়েছে:
<a href="[url]" class="read-more">Read more</a>
এবং সিএসএস সহ নিম্নলিখিতগুলি করার ঝোঁক:
.read-more{
position: relative;
padding: 6px 15px 6px 35px;//to create space on the right
font-size: 13px;
font-family: Arial;
}
.read-more:after{
content: '';
display: block;
width: 10px;
height: 15px;
background-image: url('../images/btn-white-arrow-right.png');
position: absolute;
right: 12px;
top: 10px;
}
নির্বাচক পরে: ব্যবহার করে, আমি এই ছোট আইকনটি ধারণ করতে কেবল CSS ব্যবহার করে একটি উপাদান যুক্ত করি। আপনি এ <i>
-এলিমেন্টের ভিতরে কেবল একটি স্প্যান বা উপাদান যুক্ত করে এটি করতে পারেন । তবে আমি মনে করি এটি বোতামগুলিতে আইকন যুক্ত করার একটি পরিষ্কার উপায় এবং এটি ক্রস ব্রাউজার সমর্থিত।
আপনি এখানে ঝাঁকুনিটি দেখতে পারেন: http://codepen.io/anon/pen/PNzYzZ
content: '';
বরং হওয়া উচিত content:0;
তবে এটি আমার জন্য একটি কার্যকর সমাধান ছিল
background-position: calc(100% - 8px);
কেন্দ্র হিসাবে ঠিক পজিশন হিসাবে ব্যবহার করুন তারপর এটি অফসেটে স্বচ্ছ সীমানা যুক্ত করুন?
আপনার যদি স্থির প্রস্থের উপাদান থাকে এবং আপনার পটভূমির চিত্রের প্রস্থটি জানেন তবে আপনি কেবল ব্যাকগ্রাউন্ড-অবস্থানটি এটিতে সেট করতে পারেন: উপাদানটির প্রস্থ - চিত্রের প্রস্থ - ডানদিকে আপনি যে ফাঁকটি চান তা।
উদাহরণস্বরূপ: ডানদিকে 10px এর ফাঁক পেতে 100px- প্রশস্ত উপাদান এবং 300px-প্রশস্ত চিত্র সহ, আপনি এটি 100-300-10 = -210px এ সেট করেছেন:
#myElement {
background:url(my_image.jpg) no-repeat -210px top;
width:100px;
}
এবং আপনি আপনার উপাদানের বাম দিকে আপনার চিত্রের ডানদিকে 80 পিক্সেল এবং ডানদিকে 20px এর ফাঁক পেতে পারেন।
আমি জানি এটি নির্বোধ শোনাতে পারে তবে কখনও কখনও এটি সময় সাশ্রয় করে ... আমি চিত্রের নীচে পাঠ্যের সাথে নেভিগেশন লিঙ্কগুলির জন্য উল্লম্ব পদ্ধতিতে (নীচে ফাঁক) এগুলি অনেকগুলি ব্যবহার করি।
যদিও এটি আপনার ক্ষেত্রে প্রযোজ্য তা নিশ্চিত নয়।
আমার সমস্যাটি ছিল আমার উইন্ডোটি পুনরায় আকার দেওয়ার সময় ডান সীমানা থেকে একই দূরত্বে অবস্থানের জন্য পটভূমি চিত্রের প্রয়োজন ছিল যেমন ট্যাবলেট / মোবাইল ইত্যাদির জন্য আমার ফিক্সটি এই জাতীয় পার্সেন্টেজ ব্যবহার করা উচিত:
background-position: 98% 6px;
এবং এটি জায়গায় লাঠি।
হ্যাঁ! ব্রাউজারের ডান-হাতের দিক থেকে বামের পরিবর্তে একটি পটভূমি চিত্র যেমন পজিশন করা ভাল - আমি ব্যবহার করি:
background-position: 100% 0px;
background-position: -10px 0;
? শুধু চেক করা হয়েছে :)