আপডেট 2 ::slotted
::slotted এখন সমস্ত নতুন ব্রাউজার দ্বারা সমর্থিত এবং এর সাথে ব্যবহার করা যেতে পারে ViewEncapsulation.ShadowDom
https://developer.mozilla.org/en-US/docs/Web/CSS/::slotted
আপডেট 1 :: এনজি-ডিপ
/deep/ অবচিত ও প্রতিস্থাপিত হয়েছিল ::ng-deep ।
::ng-deep ইতিমধ্যে অবচয় হিসাবে চিহ্নিত হয়েছে, তবে এখনও কোনও প্রতিস্থাপন পাওয়া যাচ্ছে না।
যখন ViewEncapsulation.Nativeসমস্ত ব্রাউজারগুলি যথাযথভাবে সমর্থিত হয় এবং ছায়া DOM সীমানা জুড়ে স্টাইলিং সমর্থন করে,::ng-deep সম্ভবত এটি বন্ধ হয়ে যাবে।
মূল
কৌণিক এইচটিএমএলে সমস্ত ধরণের সিএসএস ক্লাস যুক্ত করে এটি ডিওএমে যোগ করে ছায়া ডিওএম সিএসএস এনক্যাপসুলেশন অনুকরণ করে উপাদানগুলির ভিতরে এবং বাইরে স্টাইল রক্তপাত রোধ করতে। কৌনিকটি এই যোগ করা ক্লাসগুলির সাথে মেলে আপনার যুক্ত করা সিএসএসও পুনর্লিখন করে। এইচটিএমএল ব্যবহার করে যুক্ত করা হয়েছে[innerHTML] এই ক্লাসগুলি হয় না এবং পুনর্লিখিত সিএসএস মেলে না।
একটি workaround চেষ্টা হিসাবে
- সিএসএসের জন্য উপাদানটিতে যুক্ত
/* :host /deep/ mySelector { */
:host ::ng-deep mySelector {
background-color: blue;
}
- সিএসএসের জন্য যুক্ত
index.html
/* body /deep/ mySelector { */
body ::ng-deep mySelector {
background-color: green;
}
>>>(এবং সমতুল্য /deep/তবে SASS এর /deep/সাথে আরও ভাল কাজ করে) এবং ::shadow2.0.0-beta.10 এ যুক্ত হয়েছিল। এগুলি ছায়া ডোম সিএসএস কম্বিনেটরগুলির সাথে সমান (যা encapsulation: ViewEncapsulation.Emulatedঅবনমিত হয় ) এবং কেবল এঙ্গুলার 2-এ ডিফল্ট হিসাবে কাজ করে । এগুলি সম্ভবত এগুলির সাথেও কাজ করে ViewEncapsulation.Noneতবে কেবল এগুলি এড়ানো হয় কারণ এগুলি প্রয়োজনীয় নয়। ক্রস-উপাদান স্টাইলিংয়ের জন্য আরও উন্নত বৈশিষ্ট্যগুলি সমর্থন না করা পর্যন্ত এই সংযুক্তকারীগুলি কেবলমাত্র একটি মধ্যবর্তী সমাধান are
আরেকটি পন্থা ব্যবহার করা হয়
@Component({
...
encapsulation: ViewEncapsulation.None,
})
আপনার সিএসএসকে অবরুদ্ধ করে এমন সমস্ত উপাদানগুলির জন্য (আপনি সিএসএসটি কোথায় যুক্ত করেন এবং এইচটিএমএলটি যেখানে আপনি স্টাইল করতে চান - তার উপর নির্ভর করে যা আপনার অ্যাপ্লিকেশনের সমস্ত উপাদান হতে পারে )
হালনাগাদ
Plunker উদাহরণ
index.html?