SASS में एक सुविधा होती है, @extend
जो एक चयनकर्ता को दूसरे चयनकर्ता के गुणों को प्राप्त करने की अनुमति देती है, लेकिन गुणों की नकल किए बिना (जैसे मिश्रण)।
क्या LESS के पास भी यह सुविधा है?
SASS में एक सुविधा होती है, @extend
जो एक चयनकर्ता को दूसरे चयनकर्ता के गुणों को प्राप्त करने की अनुमति देती है, लेकिन गुणों की नकल किए बिना (जैसे मिश्रण)।
क्या LESS के पास भी यह सुविधा है?
जवाबों:
हाँ, Less.js शुरू की extend
में v1.4.0 ।
:extend()
@extend
SASS और स्टाइलस द्वारा उपयोग किए गए एट-रूल ( ) सिंटैक्स को लागू करने के बजाय , 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
}