সিএসএসে 'সীমান্ত' এবং 'বাহ্যরেখা' বৈশিষ্ট্যের মধ্যে কোনও পার্থক্য সম্পর্কে কেউ কি জানেন? যদি কোনও পার্থক্য না থাকে তবে কেন একই জিনিসটির জন্য দুটি বৈশিষ্ট্য রয়েছে?
সিএসএসে 'সীমান্ত' এবং 'বাহ্যরেখা' বৈশিষ্ট্যের মধ্যে কোনও পার্থক্য সম্পর্কে কেউ কি জানেন? যদি কোনও পার্থক্য না থাকে তবে কেন একই জিনিসটির জন্য দুটি বৈশিষ্ট্য রয়েছে?
উত্তর:
থেকে: http://webdesign.about.com/od/advancedcss/a/outline_style.htm
সিএসএস রূপরেখার সম্পত্তি হ'ল বিভ্রান্তিকর সম্পত্তি। আপনি যখন প্রথম এটি সম্পর্কে জানবেন, এটি কীভাবে সীমান্তের সম্পত্তি থেকেও দূরবর্তীভাবে আলাদা তা বোঝা শক্ত। ডাব্লু 3 সি এটি নীচের পার্থক্য হিসাবে ব্যাখ্যা করেছে:
1.আউটলাইনগুলি জায়গা নেয় না।
২.আউটলাইনগুলি আয়তক্ষেত্রাকার হতে পারে।
কিছু অন্যান্য উত্তর ছাড়াও ... আমি ভাবতে পারি আরও কয়েকটি পার্থক্য:
border
border-radius
সম্পত্তি সঙ্গে বৃত্তাকার কোণে সমর্থন করে । outline
না।
(এনবি: যদিও ফায়ারফক্সের এমন -moz-outline-radius
সম্পত্তি রয়েছে যা রূপরেখায় বৃত্তাকার কোণগুলিকে অনুমতি দেয় ... এই সম্পত্তিটি এটি কোনও সিএসএস স্ট্যান্ডার্ডে সংজ্ঞায়িত নয়, এবং অন্যান্য ব্রাউজারগুলির দ্বারা সমর্থিত নয় ) ( উত্স )
সীমানা শৈলী সঙ্গে প্রতিটি পাশ থেকে বৈশিষ্ট্য আছে border-top:
, border-left:
ইত্যাদি
রূপরেখা এটি করতে পারে না। কোনও রূপরেখা-শীর্ষ নেই: ইত্যাদি all সব কিছুই বা কিছুই নয়। ( এই এসও পোস্ট দেখুন )
আউটলাইন সম্পত্তি আউটলাইন-অফসেট সহ অফসেট সমর্থন করে । সীমানা না।
দ্রষ্টব্য: outline-offset
ইন্টারনেট এক্সপ্লোরার ব্যতীত সমস্ত বড় ব্রাউজার সমর্থন করে
outlines
সীমান্তের তুলনায় দ্রুততর হতে পারে?
অন্যান্য উত্তরগুলির বাইরে, রূপরেখাগুলি সাধারণত ডিবাগিংয়ের জন্য ব্যবহৃত হয়। অপেরাতে কিছু দুর্দান্ত ব্যবহারকারী সিএসএস শৈলী রয়েছে যা আপনাকে ডকুমেন্টে সমস্ত উপাদান রয়েছে তা দেখানোর জন্য বাহ্যরেখা সম্পত্তি ব্যবহার করে।
আপনি যদি প্রত্যাশিত হন বা প্রত্যাশিত আকারে কোনও উপাদান কেন উপস্থিত হচ্ছে না তা অনুসন্ধান করার চেষ্টা করছেন, তবে কয়েকটি রূপরেখা যুক্ত করুন এবং দেখুন উপাদানগুলি কোথায়।
ইতিমধ্যে উল্লিখিত হিসাবে, বাহ্যরেখাগুলি স্থান গ্রহণ করে না। আপনি যখন কোনও সীমানা যুক্ত করবেন তখন নথিতে উপাদানটির মোট প্রস্থ / উচ্চতা বৃদ্ধি পায় তবে রূপরেখার সাথে এটি হয় না। এছাড়াও আপনি সীমাগুলির মতো নির্দিষ্ট দিকগুলিতে রূপরেখা নির্ধারণ করতে পারবেন না; এটা সব কিছুই না।
ডাব্লু 3 সি এটি নীচের পার্থক্য হিসাবে ব্যাখ্যা করেছে:
এটিও লক্ষ করা উচিত যে রূপরেখার প্রাথমিক উদ্দেশ্যটি অ্যাক্সেসযোগ্যতা। এটিরেখায় সেট করা: কোনওটি এড়ানো উচিত নয়।
আপনি যদি এটি অপসারণ করতে পারেন তবে বিকল্প স্টাইলিং সরবরাহ করার জন্য এটি আরও ভাল ধারণা:
আমি রূপরেখা ব্যবহার করে কীভাবে ফোকাস সূচকটি অপসারণ করতে পারি তার বেশ কয়েকটি টিপস দেখেছি: কোনওটি বা রূপরেখা: 0। দয়া করে এটি করবেন না, যদি না আপনি বাহ্যরেখাকে অন্য কোনও কিছুর সাথে প্রতিস্থাপন করেন যা কোন উপাদানটিতে কীবোর্ড ফোকাস রয়েছে তা দেখতে এটি সহজ করে তোলে। কীবোর্ড ফোকাসের ভিজ্যুয়াল ইন্ডিকেটরটি সরিয়ে ফেলা যাঁকে আপনার সাইট নেভিগেট করতে এবং ব্যবহার করতে কীবোর্ড নেভিগেশনের উপর নির্ভর করে তাদের সত্যিই কঠিন সময় দেওয়া হবে।
উত্স: "লিঙ্ক এবং ফর্ম নিয়ন্ত্রণগুলি থেকে আউটলাইন সরান না", 365 বেরিয়া স্ট্রিট
রূপরেখার ব্যবহারিক ব্যবহার স্বচ্ছতার সাথে সম্পর্কিত। যদি আপনার পটভূমি সহ কোনও পিতামাতার উপাদান থাকে তবে সন্তানের উপাদানটির সীমানা স্বচ্ছ হতে চান যাতে পিতামাতার পটভূমিটি প্রদর্শিত হবে, আপনাকে অবশ্যই "সীমানা" না দিয়ে "বাহ্যরেখা" ব্যবহার করতে হবে। যখন কোনও সীমানা স্বচ্ছ হতে পারে তবে এটি সন্তানের পটভূমি প্রদর্শন করবে, পিতামাতার নয়।
অন্য কথায়, এই সেটিংটি নিম্নলিখিত প্রভাব তৈরি করেছে:
outline: 7px solid rgba(255, 255, 255, 0.2);
background-clip: padding-box;
আপনার স্টাইলিংয়ে যোগ করেন তবে
ডাব্লু 3 স্কুল সাইট থেকে
সিএসএস সীমান্ত বৈশিষ্ট্য আপনি শৈলী এবং একটি উপাদান এর সীমানার রঙ নির্দিষ্ট করার অনুমোদন দেবে।
একটি রূপরেখা হ'ল একটি লাইন যা উপাদানকে "স্ট্যান্ড আউট" করার জন্য উপাদানগুলির চারপাশে আঁকা হয় (সীমানার বাইরে)।
রূপরেখা শর্টহ্যান্ড সম্পত্তি একটি ঘোষণায় সমস্ত বাহ্যরেখা বৈশিষ্ট্য সেট করে।
যে বৈশিষ্ট্যগুলি সেট করা যেতে পারে সেগুলি হ'ল (ক্রমানুসারে): আউটলাইন-রঙ, আউটলাইন-স্টাইল, আউটলাইন-প্রস্থ।
যদি উপরের মানগুলির মধ্যে একটি অনুপস্থিত থাকে, যেমন "রূপরেখা: কঠিন # ff0000;", অনুপস্থিত সম্পত্তিটির জন্য ডিফল্ট মান সন্নিবেশ করা হবে, যদি থাকে তবে।
আরও তথ্যের জন্য এখানে চেক করুন: http://webdesign.about.com/od/advancedcss/a/outline_style.htm
কিছুটা পুরনো প্রশ্ন, তবে একটি ফায়ারফক্স রেন্ডারিং বাগ (এখনও জানুয়ারী 13 এ হিসাবে উপস্থিত) উল্লেখ করার মতো বিষয় যেখানে বাচ্চারা তাদের পিতামাতাকে উপেক্ষা করলেও (নেতিবাচক মার্জিন, বাক্স-ছায়ার মধ্য দিয়ে সমস্ত শিশু উপাদানগুলির বাইরের দিকে রেন্ডার দেবে) ইত্যাদি)
আপনি এটি দিয়ে এটি ঠিক করতে পারেন:
.container {
position: relative;
}
.container:before {
content: '';
margin: 0;
padding: 0;
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
outline: 1px solid #ff0000;
}
দুর্ভাগ্যজনক যে এটি এখনও স্থির হয়নি। আমি অনেক ক্ষেত্রে আউটলাইনগুলি বেশি পছন্দ করি যেহেতু তারা কোনও উপাদানের মাত্রা যুক্ত করে না, কোনও উপাদানটির মাত্রা নির্ধারণের সময় আপনাকে সর্বদা সীমানা প্রস্থ বিবেচনা করা থেকে বাঁচায়।
সর্বোপরি কোনটি সহজ?
.container {
width: 960px;
height: 300px;
outline: 3px solid black;
}
বা:
.container {
width: 954px;
height: 294px;
border: 3px solid black;
}
এটিও লক্ষণীয় যে ডাব্লু 3 সি এর রূপরেখা আইইয়ের সীমানা , যেহেতু আইই ডব্লিউ 3 সি বক্স মডেলটি প্রয়োগ করে না।
ডাব্লু 3 সি বক্স মডেলটিতে, সীমানাটি উপাদানটির প্রস্থ এবং উচ্চতার সাথে একচেটিয়া। আইই তে এটি অন্তর্ভুক্ত।
আমি উভয়ের মধ্যে পার্থক্য দেখতে কেবল সিএসএস / এইচটিএমএল কোড তৈরি করেছি।
outline
সম্ভাব্য উপচে পড়া শিশু উপাদানগুলি বিশেষত একটি ইনলাইনে অন্তর্ভুক্ত করা ভাল পাত্রে।
border
ব্লক- সহনকারী উপাদানগুলির জন্য আরও অনেক কিছু খাপ খাইয়ে নেওয়া হয়।
সিএসএসে রূপরেখার বৈশিষ্ট্য একটি উপাদানের বাইরের চারদিকে একটি লাইন আঁকেন। এটি ব্যতীত সীমান্তের মতো:
"রূপরেখা" ব্যবহারের ব্যবহারিক উদাহরণ হিসাবে, একটি ওয়েবপৃষ্ঠায় সিস্টেমের ফোকাসযুক্ত বেহাল বিন্দুযুক্ত সীমানা (উদাহরণস্বরূপ, যদি আপনি লিঙ্কগুলির মাধ্যমে ট্যাব করেন) আউটলাইন সম্পত্তি ব্যবহার করে নিয়ন্ত্রণ করা যায় (কমপক্ষে, আমি জানি এটি ফায়ারফক্সে করতে পারে) , অন্য ব্রাউজার চেষ্টা করা হয়নি)।
একটি সাধারণ "চিত্র প্রতিস্থাপন" কৌশলটি ব্যবহার করা হয়, উদাহরণস্বরূপ:
<div id="logo"><a href="/">Foo Widgets Ltd.</a></div>
সিএসএসে নিম্নলিখিতগুলি সহ:
#logo
{
background: url(/images/logo.png) center center no-repeat;
}
#logo a
{
display: block;
text-indent: -1000em;
}
সমস্যাটি হ'ল যখন ফোকাসটি ট্যাগটিতে পৌঁছে যায় তখন বাহ্যরেখাটি 1000 ম বামে চলে যায়। আউটলাইন আপনাকে এই জাতীয় উপাদানগুলিতে ফোকাসের আউটলাইনটি বন্ধ করতে দেয়।
আমি বিশ্বাস করি যে IE বিকাশকারী সরঞ্জামদণ্ডটি "নির্বাচন করুন" মোডে পরিদর্শন করার জন্য উপাদানগুলি হাইলাইট করার সময় "হুডের নীচে" রূপরেখার মতো কিছু ব্যবহার করছে। এটি "আউটলাইন" কোনও স্থান নেয় না এই বিষয়টি ভালভাবে দেখায়।
সীমানা হিসাবে রূপরেখা সম্পর্কে ভাবুন যে কোনও প্রজেক্টর কোনও কিছুর বাইরে সীমানা হিসাবে আঁকেন সেই জিনিসটির চারপাশে একটি আসল অবজেক্ট।
একটি অভিক্ষেপ সহজেই ওভারল্যাপ করতে পারে তবে সীমানা আপনাকে পাস করতে দেয় না।
কিছু সময় যখন আমি ব্যবহার করি তখন grid+%width
সীমানা ভিউ পোর্টের স্কেলিংটি পরিবর্তন করবে, উদাহরণস্বরূপ একটি width:100%
পিতামাতার সাথে একটি width:100px
ডিভ পিতামাতাকে পুরোপুরি পূরণ করে, তবে আমি যখন ডিভ যুক্ত করি তখন border:solid 5px
সীমান্তের জন্য স্থান তৈরি করতে ডিভটি আরও ছোট করা হয় (যদিও এটি বিরল এবং কাজের আশেপাশে!)
তবে রূপরেখার সাথে এটিতে এই সমস্যাটি নেই কারণ বাহ্যরেখাটি আরও ভার্চুয়াল: ডি এটি উপাদানটির বাইরে কেবল একটি লাইন তবে সমস্যাটি যদি আপনি সঠিকভাবে ফাঁক না করেন তবে এটি অন্যান্য সামগ্রীর সাথে ওভারল্যাপ হয়ে যাবে la
এটি সংক্ষিপ্ত করার জন্য:
রূপরেখার পেশাদাররা:
এটি ব্যবধান এবং পজিশনের সাথে জড়িত নয়
:
ওভারল্যাপিংয়ের উচ্চ সম্ভাবনা
সীমানা এবং বাহ্যরেখার মধ্যে পার্থক্য:
সীমানা বক্স মডেলের অংশ তাই এটি উপাদানটির আকারের সাথে গণনা করে nts আউটলাইন বক্স মডেলের অংশ নয় তাই এটি কাছের উপাদানগুলিকে প্রভাবিত করে না।
ডেমো:
#border {
border: 10px solid black;
}
#outline {
outline: 10px solid black;
}
<html>
<body>
<span id="border">Border</span>Other text<br><br>
<span id="outline">Outline</span>Other text
</body>
</html>