CSS @property রুল
- পূর্ববর্তী পৃষ্ঠা CSS ভেরিয়েবল - মিডিয়া কোরিনিয়াল
- পরবর্তী পৃষ্ঠা CSS Box Sizing
CSS @property রুল
@property
এই নিয়মটি কাস্টম CSS অ্যাট্রিবিউট সরাসরি স্টাইল সংযোজনে ব্যবহার করে, কোনও জাভাস্ক্রিপ্ট চালাতে হয় না。
@property
এই নিয়মটি ডাটা টাইপ চেক এবং সীমাবদ্ধতা, ডিফল্ট মান সংজ্ঞায়ন এবং অ্যাট্রিবিউটটি কিভাবে মান ধরতে পারে না তা নির্দিষ্ট করে
কাস্টম অ্যাট্রিবিউটের ইনস্ট্যান্স নির্দিষ্ট করুন:
@property --myColor { syntax: "<color>"; inherits: true; initial-value: lightgray; }
উপরের নির্দিষ্টকরণ এটি মানে --myColor
এটি একটি রঙ অ্যাট্রিবিউট, যা অভিভাবক ইলেক্ট্রনের মান ধরতে পারে, এর ডিফল্ট মান lightgray হয়。
কাস্টম অ্যাট্রিবিউট ব্যবহার করতে CSS-এ, আমরা ব্যবহার করি var()
ফাংশন:
body { background-color: var(--myColor); }
ব্যবহার @property
ফায়দা:
- টাইপ চেকডিফল্ট মান সংজ্ঞায়িত করা: কাস্টম অ্যাট্রিবিউটের ডাটা টাইপ সংজ্ঞায়িত করা উচিত, যেমন <number>、<color>、<length>। ত্রুটি এড়ানো এবং কাস্টম অ্যাট্রিবিউট সঠিকভাবে ব্যবহার করার নিশ্চয়তা দেয়
- ডিফল্ট মান সংজ্ঞায়িত করাডিফল্ট মান সংজ্ঞায়িত করা: কাস্টম অ্যাট্রিবিউটের জন্য ডিফল্ট মান সংজ্ঞায়িত করা হয়, এটি নিশ্চিত করে যে পরবর্তীতে অবৈধ মান সংজ্ঞায়িত হলে, ব্রাউজার সংজ্ঞায়িত প্রতিকারণ মান ব্যবহার করবে
- উত্তরাধিকার হস্তক্ষেপ সংজ্ঞায়িত করাকাস্টম অ্যাট্রিবিউট তার পিতৃ ইলেকট্রনের মান উত্তরাধিকার করতে পারে কি না নির্দিষ্ট করা উচিত
ব্রাউজার সমর্থন
টেবিলের সংখ্যা এই রুলটির পূর্ণ সমর্থনকারী প্রথম ব্রাউজার সংস্করণকে ইঙ্গিত করে
Chrome | Edge | Firefox | Safari | Opera |
---|---|---|---|---|
85 | 85 | 128 | 16.4 | 71 |
সহজ @property ইনস্ট্যান্স
এই উদাহরণে, আমরা দুটি কাস্টম অ্যাট্রিবিউট সংজ্ঞায়িত করি:--my-bg-color
এবং --my-txt-colo
r। তারপর, div background-color
এবং color
এখানে কাস্টম অ্যাট্রিবিউট ব্যবহার করা হয়:
ইনস্ট্যান্স
@property --my-bg-color { syntax: "<color>"; inherits: true; initial-value: lightgray; } @property --my-txt-color { syntax: "<color>"; inherits: true; initial-value: darkblue; } div { width: 300px; height: 150px; padding: 15px; background-color: var(--my-bg-color); color: var(--my-txt-color); }
আরেকটি @property ইনস্ট্যান্স
এই উদাহরণে, আমরা <div> ইলেকট্রনের পরিমাণ কাস্টম অ্যাট্রিবিউট ব্যবহার করি। তারপর, আমরা .fresh
এবং .nature
শ্রেণীতে কাস্টম অ্যাট্রিবিউট সংজ্ঞায়িত হয় (অন্য রঙ সেট করা হয়), ফলাফল খুবই ভালো:
ইনস্ট্যান্স
@property --my-bg-color { syntax: "<color>"; inherits: true; initial-value: lightgray; } div { width: 300px; height: 150px; padding: 15px; background-color: var(--my-bg-color); } .fresh { --my-bg-color: #ff6347; } .nature { --my-bg-color: rgb(120, 180, 30); }
ধরনের পরীক্ষা এবং প্রতিকারণ মান দ্বারা ত্রুটি এড়ানো হয়
এই উদাহরণে, আমরা .nature
শ্রেণীতে কাস্টম অ্যাট্রিবিউট সংখ্যার মান হিসাবে সংজ্ঞায়িত হয়। এটি অবৈধ, ব্রাউজার শ্রেণীতে initial-value
অ্যাট্রিবিউটের মধ্যে সংজ্ঞায়িত প্রতিকারণ রঙ (lightgray):
ইনস্ট্যান্স
@property --my-bg-color { syntax: "<color>"; inherits: true; initial-value: lightgray; } div { width: 300px; height: 150px; padding: 15px; background-color: var(--my-bg-color); } .fresh { --my-bg-color: #ff6347; } .nature { --my-bg-color: 2; }
inherits মান ব্যবহার করব
এই উদাহরণে, আমরা inherits
মান সংজ্ঞায়িত হয় false
এটি মানে কাস্টম অ্যাট্রিবিউট তার পিতৃ ইলেকট্রনের মান উত্তরাধিকার করবে না। ফলাফল দেখুন:
ইনস্ট্যান্স
@property --my-bg-color { syntax: "<color>"; inherits: false; initial-value: lightgray; }
আগামী উদাহরণটি হবে inherits
মান সংজ্ঞায়িত হয় true
এটি মানে কাস্টম অ্যাট্রিবিউট তার পিতৃ ইলেকট্রনের মান উত্তরাধিকার করবে। ফলাফল দেখুন:
ইনস্ট্যান্স
@property --my-bg-color { syntax: "<color>"; inherits: true; initial-value: lightgray; }
@property দ্বারা সমস্ত এনিমেশনকে সমস্ত গতিশীল করুন
ব্যবহার @property
এই নিয়মটি আগে এনিমেশনযোগ্য না থাকা কনটেন্টকে এনিমেশন করা সম্ভব করে দেয়: গ্রেডেশন। নিচের ইনস্ট্যান্স দেখুন:
ইনস্ট্যান্স
গ্রেডেশনের জন্য দুটি স্বনির্দিষ্ট প্রতিভা নির্দিষ্ট করুন:
@property --startColor { syntax: "<color>"; initial-value: #EADEDB; inherits: false; } @property --endColor { syntax: "<color>"; initial-value: #BC70A4; inherits: false; }
CSS @property রুল
প্রতিভা | বর্ণনা |
---|---|
@property | কোনও জেভাস্ক্রিপ্ট চালানোর প্রয়োজন ছাড়াই স্বনির্দিষ্ট CSS প্রতিভা নির্দিষ্ট করুন。 |
- পূর্ববর্তী পৃষ্ঠা CSS ভেরিয়েবল - মিডিয়া কোরিনিয়াল
- পরবর্তী পৃষ্ঠা CSS Box Sizing