আপনি একটি বিদ্যমান রঙের মান নিতে এবং এটিতে একটি আলফা চ্যানেল প্রয়োগ করতে পারবেন না। যথা, আপনি কোনও বিদ্যমান হেক্স মান নিতে পারবেন না যেমন #f0f0f0, এটি একটি আলফা উপাদান দিন এবং ফলাফলটি অন্য কোনও সংখ্যার সাথে ব্যবহার করতে পারেন।
তবে কাস্টম বৈশিষ্ট্যগুলি আপনাকে আপনার হেক্স মানটি আরজিবি ট্রিপলেটে ব্যবহারের জন্য রূপান্তর করতে rgba(), কাস্টম সম্পত্তিতে (কমা সহ!) সেই মানটি সংরক্ষণ করে, সেই মানটি আপনার পছন্দসই আলফা মানের সাথে var()একটি rgba()ফাংশনে ব্যবহার করে বিকল্প হিসাবে রাখবে এবং এটি হবে কেবলই কাজ করো:
:root {
/* #f0f0f0 in decimal RGB */
--color: 240, 240, 240;
}
body {
color: #000;
background-color: #000;
}
#element {
background-color: rgba(var(--color), 0.8);
}
<p id="element">If you can see this, your browser supports custom properties.</p>
এটি সত্য হতে প্রায় খুব ভাল বলে মনে হচ্ছে। 1 এটি কিভাবে কাজ করে?
সত্য যে কাস্টম বৈশিষ্ট্য মান প্রতিস্থাপিত হয় জাদু মিথ্যা হিসাবে যখন প্রতিস্থাপন var(), একটি সম্পত্তি মান রেফারেন্স সামনে যে সম্পত্তি মান নির্ণয় করা হয়। এর অর্থ হ'ল কাস্টম বৈশিষ্ট্যগুলির হিসাবে, --colorআপনার উদাহরণের মান কোনও রঙের মান নয় যতক্ষণ না কোনও var(--color)অভিব্যক্তি কোথাও উপস্থিত হয় যা রঙের মান আশা করে না (এবং কেবলমাত্র সেই প্রসঙ্গে)। সিএসএস-ভেরিয়েবল স্পেকের বিভাগের ২.১ থেকে :
কাস্টম বৈশিষ্ট্যের জন্য অনুমোদিত সিনট্যাক্স অত্যন্ত অনুমোদিত is <ডিক্লেয়ারেশন- ভ্যালু> উত্পাদনটি এক বা একাধিক টোকেনের যে কোনও অনুক্রমের সাথে মেলে, যতক্ষণ না এই সিক্যুয়েন্স <<- স্ট্রিং- টোকেন>, <bad-url- টোকেন>, মিল নেই <) - টোকেন>, <] - টোকেন>, বা <} - টোকেন>, বা শীর্ষ স্তরের <সেমিকোলন- টোকেন> টোকেন বা <delim- টোকেন> টোকেন "!" এর মান সহ।
উদাহরণস্বরূপ, নিম্নলিখিতটি একটি বৈধ কাস্টম সম্পত্তি:
--foo: if(x > 5) this.width = 10;
যদিও এই মানটি ভেরিয়েবল হিসাবে স্পষ্টতই অকেজো, এটি যে কোনও সাধারণ সম্পত্তিতে অবৈধ হবে, এটি জাভাস্ক্রিপ্ট দ্বারা পড়া এবং এতে কাজ করা হতে পারে।
এবং বিভাগ 3 :
যদি কোনও সম্পত্তিতে এক বা একাধিক var () ফাংশন থাকে এবং সেই ফাংশনগুলি সিন্থেটিকভাবে বৈধ হয় তবে পুরো সম্পত্তির ব্যাকরণকে বিশদ সময় বিবেচনা করে বৈধ বলে ধরে নিতে হবে। ভার () ফাংশনগুলি প্রতিস্থাপনের পরে এটি কেবল গণনা-মান সময়ে সিনট্যাক্স-পরীক্ষা করা হয়।
এর অর্থ হল যে 240, 240, 240আপনি উপরে যে মানটি দেখছেন তা ঘোষণার গণনা করার আগে সরাসরি rgba()ফাংশনে প্রতিস্থাপিত হয়। আমার স্নাতকের:
#element {
background-color: rgba(var(--color), 0.8);
}
যা প্রথমে বৈধ সিএসএস হিসাবে দেখা যাচ্ছে না কারণ rgba()চারটি কমা-বিভাজিত সংখ্যাসূচক মানের চেয়ে কম হবে বলে প্রত্যাশা করে:
#element {
background-color: rgba(240, 240, 240, 0.8);
}
যা অবশ্যই পুরোপুরি কার্যকর সিএসএস।
এটিকে আরও একধাপ এগিয়ে নিয়ে যাওয়াতে আপনি আলফা উপাদানটিকে নিজস্ব কাস্টম সম্পত্তিতে সঞ্চয় করতে পারেন:
:root {
--color: 240, 240, 240;
--alpha: 0.8;
}
এবং একই ফলাফল সহ এটি বিকল্প করুন:
#element {
background-color: rgba(var(--color), var(--alpha));
}
এটি আপনাকে বিভিন্ন আলফা মানগুলি দেয় যা আপনি ফ্লাই-এ-এ ঘুরে দেখতে পারেন have
1 ঠিক আছে, আপনি যদি ব্রাউজারে কোড স্নিপেট চালাচ্ছেন যা কাস্টম বৈশিষ্ট্যগুলি সমর্থন করে না।