CSS
कस्टम गुण (चर)
खोज…
परिचय
CSS वेरिएबल्स लेखकों को पुन: प्रयोज्य मूल्यों को बनाने की अनुमति देता है जिनका उपयोग सीएसएस दस्तावेज़ में किया जा सकता है।
उदाहरण के लिए, किसी दस्तावेज़ में एक ही रंग का पुन: उपयोग करने के लिए CSS में यह आम है। सीएसएस वेरिएबल्स से पहले इसका मतलब होगा कि एक दस्तावेज़ में कई बार एक ही रंग के मूल्य का पुन: उपयोग करना। सीएसएस चर के साथ रंग मूल्य को एक चर में सौंपा जा सकता है और कई स्थानों पर संदर्भित किया जा सकता है। यह बदलते मूल्यों को आसान बनाता है और पारंपरिक सीएसएस मूल्यों का उपयोग करने की तुलना में अधिक अर्थपूर्ण है।
वाक्य - विन्यास
- : रूट {} / * छद्म वर्ग जो चर की अधिक वैश्विक परिभाषा के लिए अनुमति देता है * /
- - परिवर्तनीय-नाम: मूल्य ; / * परिभाषित चर * /
- var (- वेरिएबल-नेम, डिफॉल्ट-वैल्यू ) / * डिफॉल्ट वैल्यू फॉलबैक * / के साथ डिफाइन्ड वेरिएबल का उपयोग करें
टिप्पणियों
वर्तमान में सीएसएस चर को एक प्रयोगात्मक तकनीक माना जाता है।
भाईचारे का समर्थन / योग्यता
फ़ायरफ़ॉक्स: संस्करण 31 + (डिफ़ॉल्ट रूप से सक्षम)
क्रोम: संस्करण 49 + (डिफ़ॉल्ट रूप से सक्षम) ।
" experimental Web Platform
सुविधा को सक्षम करके परीक्षण के लिए क्रोम संस्करण 48 में इस सुविधा को सक्षम किया जा सकता है। इस सेटिंग को एक्सेस करने के लिए अपने क्रोम एड्रेस बार में chrome://flags/
दर्ज करें।"
IE: समर्थित नहीं है।
एज: अंडर डेवलपमेंट
सफारी: संस्करण 9.1+
चर रंग
:root {
--red: #b00;
--blue: #4679bd;
--grey: #ddd;
}
.Bx1 {
color: var(--red);
background: var(--grey);
border: 1px solid var(--red);
}
चर आयाम
:root {
--W200: 200px;
--W10: 10px;
}
.Bx2 {
width: var(--W200);
height: var(--W200);
margin: var(--W10);
}
चर कैस्केडिंग
सीएसएस चर अन्य गुणों की तरह ही कैस्केड करते हैं, और उन्हें सुरक्षित रूप से पुनर्स्थापित किया जा सकता है।
आप कई बार चर को परिभाषित कर सकते हैं और केवल उच्चतम विशिष्टता के साथ परिभाषा चयनित तत्व पर लागू होगी।
इस HTML को मान लें:
<a class="button">Button Green</a>
<a class="button button_red">Button Red</a>
<a class="button">Button Hovered On</a>
हम इसे सीएसएस लिख सकते हैं:
.button {
--color: green;
padding: .5rem;
border: 1px solid var(--color);
color: var(--color);
}
.button:hover {
--color: blue;
}
.button_red {
--color: red;
}
और यह परिणाम प्राप्त करें:
मान्य / invalids
नामकरण जब सीएसएस चर का नामकरण किया जाता है, तो इसमें अन्य सीएसएस गुणों की तरह केवल अक्षर और डैश शामिल होते हैं (जैसे: लाइन-ऊंचाई, -मोज़-बॉक्स-साइज़िंग) लेकिन यह दोहरे डैश (-) से शुरू होना चाहिए
//These are Invalids variable names
--123color: blue;
--#color: red;
--bg_color: yellow
--$width: 100px;
//Valid variable names
--color: red;
--bg-color: yellow
--width: 100px;
सीएसएस चर मामले संवेदनशील हैं।
/* The variable names below are all different variables */
--pcolor: ;
--Pcolor: ;
--pColor: ;
खाली जगह
/* Invalid */
--color:;
/* Valid */
--color: ; /* space is assigned */
concatenations
/* Invalid - CSS doesn't support concatenation*/
.logo{
--logo-url: 'logo';
background: url('assets/img/' var(--logo-url) '.png');
}
/* Invalid - CSS bug */
.logo{
--logo-url: 'assets/img/logo.png';
background: url(var(--logo-url));
}
/* Valid */
.logo{
--logo-url: url('assets/img/logo.png');
background: var(--logo-url);
}
इकाइयों का उपयोग करते समय सावधान
/* Invalid */
--width: 10;
width: var(--width)px;
/* Valid */
--width: 10px;
width: var(--width);
/* Valid */
--width: 10;
width: calc(1px * var(--width)); /* multiply by 1 unit to convert */
width: calc(1em * var(--width));
मीडिया के सवालों के साथ
आप मीडिया प्रश्नों के भीतर चर को फिर से सेट कर सकते हैं और उन नए मूल्यों को कैस्केड कर सकते हैं जहां उनका उपयोग किया जाता है, कुछ ऐसा जो पूर्व-प्रोसेसर चर के साथ संभव नहीं है।
यहां, एक मीडिया क्वेरी एक बहुत ही साधारण ग्रिड सेट करने के लिए उपयोग किए जाने वाले चर को बदल देती है:
एचटीएमएल
<div></div>
<div></div>
<div></div>
<div></div>
सीएसएस
:root{
--width: 25%;
--content: 'This is desktop';
}
@media only screen and (max-width: 767px){
:root{
--width:50%;
--content: 'This is mobile';
}
}
@media only screen and (max-width: 480px){
:root{
--width:100%;
}
}
div{
width: calc(var(--width) - 20px);
height: 100px;
}
div:before{
content: var(--content);
}
/* Other Styles */
body {
padding: 10px;
}
div{
display: flex;
align-items: center;
justify-content: center;
font-weight:bold;
float:left;
margin: 10px;
border: 4px solid black;
background: red;
}
आप इस CodePen डेमो में विंडो का आकार बदलने की कोशिश कर सकते हैं
यहाँ क्रिया में आकार के एक एनिमेटेड स्क्रीनशॉट है: