SASS में एक सुविधा होती है, @extendजो एक चयनकर्ता को दूसरे चयनकर्ता के गुणों को प्राप्त करने की अनुमति देती है, लेकिन गुणों की नकल किए बिना (जैसे मिश्रण)।
क्या LESS के पास भी यह सुविधा है?
SASS में एक सुविधा होती है, @extendजो एक चयनकर्ता को दूसरे चयनकर्ता के गुणों को प्राप्त करने की अनुमति देती है, लेकिन गुणों की नकल किए बिना (जैसे मिश्रण)।
क्या LESS के पास भी यह सुविधा है?
जवाबों:
हाँ, Less.js शुरू की extendमें v1.4.0 ।
:extend()
@extendSASS और स्टाइलस द्वारा उपयोग किए गए एट-रूल ( ) सिंटैक्स को लागू करने के बजाय , LESS ने छद्म श्रेणी के सिंटैक्स को लागू किया, जो LESS के कार्यान्वयन को सीधे या तो चयनकर्ता के लिए या एक बयान के अंदर लागू करने की सुविधा देता है। तो ये दोनों काम करेंगे:
.sidenav:extend(.nav) {...}
या
.sidenav {
&:extend(.nav);
...
}
इसके अतिरिक्त, आप का उपयोग कर सकते हैं all "नेस्टेड" कक्षाओं को भी विस्तारित करने निर्देश का :
.sidenav:extend(.nav all){};
और आप उन कक्षाओं की अल्पविराम से अलग की गई सूची जोड़ सकते हैं जिन्हें आप विस्तारित करना चाहते हैं:
.global-nav {
&:extend(.navbar, .nav all, .navbar-fixed-top all, .navbar-inverse);
height: 70px;
}
नेस्टेड चयनकर्ताओं का विस्तार करते समय आपको मतभेदों पर ध्यान देना चाहिए:
नेस्टेड चयनकर्ताओं .selector1और selector2:
.selector1 {
property1: a;
.selector2 {
property2: b;
}
}
अब .selector3:extend(.selector1 .selector2){};आउटपुट:
.selector1 {
property1: a;
}
.selector1 .selector2,
.selector3 {
property2: b;
}
, .selector3:extend(.selector1 all){};आउटपुट:
.selector1,
.selector3 {
property1: a;
}
.selector1 .selector2,
.selector3 .selector2 {
property2: b;
}
, .selector3:extend(.selector2){};आउटपुट
.selector1 {
property1: a;
}
.selector1 .selector2 {
property2: b;
}
और आगे .selector3:extend(.selector2 all){};:
.selector1 {
property1: a;
}
.selector1 .selector2,
.selector1 .selector3 {
property2: b;
}
@extendविन्यास SASS और स्टाइलस द्वारा लागू किए गए एट-रूल ( ) सिंटैक्स से अधिक पारंपरिक सीएसएस के लिए" वफादार "है , जो आमतौर पर ब्राउज़र में CSS पार्सर को निर्देश या निर्देश देने के लिए आरक्षित है।" <- क्या बिल्ली यह मतलब है माना जाता है? मार्केटिंग की तरह खुशबू आती है।
.sibling-1 {
color: red
}
.sibling-2 {
background-color: #fff;
.sibling-1();
}
उत्पादन
.sibling-1 {
color: red
}
.sibling-2 {
background-color: #fff;
color: red
}