यह प्रश्न समय-समय पर मेरे दिमाग में पॉप अप करता है, लेकिन कामकाज इतना आसान है क्योंकि मैंने इसे आगे की जांच करने के लिए समय लेने पर कभी भी परेशान नहीं किया है। आज मैंने सोचा कि मैं देखता हूं कि इस मामले पर स्टैक ओवरफ्लो को क्या कहना है।सीएसएस शॉर्टेंड गुणों का उपयोग करते समय कुछ मानों को अपरिवर्तित छोड़कर
/* Selector setting up shared properties for some elements */
#header, #main, #footer {
margin: 0 5%;
}
अब मान रहा margin-top
और #header
की margin-bottom
ओवरराइड करने के लिए करना चाहते हैं:
मान लीजिए मैं इस किया है। मेरे सिर के ऊपर से मैं आमतौर पर margin: 1em 0;
(पिछले नियम के बारे में भूलना) करता हूं, लेकिन यह निश्चित रूप से margin-right
और margin-left
ओवरराइड भी करेगा। जो मैं चाहता हूं वह यह निर्दिष्ट करने का एक तरीका है कि एक शॉर्टेंड संपत्ति का एक निश्चित मूल्य बिल्कुल नहीं बदला जाना चाहिए, क्या यह संभव है? ये विकल्प हैं जिनके बारे में मैंने सोचा है:
#header {
margin: 1em 0; /* Will remove left/right margin */
margin: 1em auto; /* Will revert to default left/right margin */
margin: 1em inherit; /* Will inherit left/right margin from parent */
margin: 1em no-change; /* This is what I'm after: shorthand property to set only 2 of 4 values */
/* And this is how I end up solving it */
margin-top: 1em;
margin-bottom: 1em;
}
'मार्जिन: 1em विरासत 'वास्तव में अमान्य सीएसएस है। आप शॉर्टेंड गुणों में आंशिक मूल्यों का वारिस नहीं कर सकते हैं। – BoltClock
धन्यवाद! यह वास्तव में समझ में आता है। यहां तक कि स्टैक ओवरफ्लो का सीएसएस सिंटैक्स हाइलाइटर यह भी जानता है :) मुझे लगता है कि आपकी आखिरी वाक्य भी मेरे प्रश्न का उत्तर देती है। – Simon