2010-11-26 17 views
18

में एकाधिक सीएसएस स्टाइलशीट का उपयोग करें, मैं उसी HTML पृष्ठ में एकाधिक सीएसएस स्टाइलशीट का उपयोग कैसे करूं, उदाहरण के लिए, दोनों स्टाइलशीट में बैनर क्लास है। आप कैसे निर्दिष्ट करते हैं कि आप किस वर्ग का जिक्र कर रहे हैं?एक ही एचटीएमएल पेज

उत्तर

6

नियम में specificity के समान स्तर को देखते हुए आप जिस संदर्भ में संदर्भित कर रहे हैं उसे नियंत्रित नहीं कर सकते हैं (उदा। दोनों बस .banner हैं) स्टाइलशीट अंतिम बार जीत जाएगा।

यह प्रति संपत्ति है, इसलिए यदि कोई संयोजन चल रहा है (उदाहरण के लिए एक background है, तो दूसरे में color है) तो आपको संयोजन मिल जाएगा ... यदि कोई संपत्ति दोनों में परिभाषित की गई है, जो भी हो आखिरी बार स्टाइलशीट ऑर्डर जीतने में यह दिखाई देता है।

19

स्टाइल शीट, प्रभावी रूप से, एक एकल स्टाइल शीट में समेकित होते हैं, जिसमें वे HTML स्रोत में दिखाई देते हैं।

normal rules for applying rulesets तो (अर्थात specificity द्वारा पिछले नियम-सेट कि किसी दिए गए संपत्ति टाई होने की स्थिति में जीत और !important कार्यों में एक नापनेवाला फेंक को परिभाषित करता है) के साथ

1

आप एक विशिष्ट शैली पत्रक के लिए कभी नहीं उल्लेख लागू होते हैं। किसी दस्तावेज़ में सभी सीएसएस नियम आंतरिक रूप से एक में जुड़े होते हैं।

एक ही विशिष्टता के साथ उसी तत्व पर लागू होने वाली स्टाइल शीट्स में नियमों के मामले में, बाद में एम्बेडेड स्टाइल शीट पहले के ओवरराइड कर देगी।

आप नियमों को लागू करने के लिए Firebug जैसे तत्व निरीक्षक का उपयोग कर सकते हैं, और कौन से अन्य लोगों द्वारा ओवरराइड किया जाता है।

1

जिसे आप आखिरी बार शामिल करते हैं वह वह होगा जिसका उपयोग किया जाता है। ध्यान दें कि यदि किसी भी नियम के पास है! पहली स्टाइलशीट में महत्वपूर्ण वे प्राथमिकता लेंगे।

1

इसे अपने एचटीएमएल पेज में तत्वों ("चयन") के संदर्भ में अपने स्टाइलशीट के रूप में सोचें, न कि दूसरी तरफ।

4

आप नहीं कर सकते और नहीं कर सकते।

पृष्ठ पर सभी सीएसएस नियम लागू किए जाएंगे (HTML इस प्रक्रिया के बारे में कुछ भी नहीं जानता "), और उच्चतम विशिष्टता वाला व्यक्तिगत नियम" छड़ी "होगा। विशिष्टता चयनकर्ता द्वारा निर्धारित की जाती है और आदेश में वे दस्तावेज़ में दिखाई देते हैं। सभी बिंदुओं में यह है कि यह कास्केडिंग का हिस्सा है। आपको नेट पर बहुत से सीएसएस ट्यूटोरियल में से एक का संदर्भ लेना चाहिए।

15

हां, आप एकाधिक स्टाइल शीट्स को शामिल कर सकते हैं, लेकिन आपको उन्हें वैकल्पिक स्टाइल शीट के रूप में लेबल करने की आवश्यकता है और उपयोगकर्ता को जावास्क्रिप्ट का उपयोग करके सक्रिय करने का कोई तरीका दें - शायद एक लिंक पर क्लिक करके।

एक वैकल्पिक शैली पत्रक बनाने के लिए:

<link type="text/css" href="nameOfAlterateStyleSheet.css" rel="alternate stylesheet" title="Blue" /> 

अगला अपने जावास्क्रिप्ट फ़ाइल में एक विधि बनाने कि होगा: 1. लोड सब एक सरणी में स्टाइल शीट 2. उदाहरण:

function getCSSArray() 
{ 
var links = document.getElementsByTagName("link"); 
var link; 
for(var i = 0; i < links.length; i++) 
{ 
    link = links[i]; 
    if(/stylesheet/.test(link.rel)) 
    { 
     sheets.push(link); 
    } 
} 

    return sheets; 
} 

फिर कुछ प्रकार के if/else loop का उपयोग करके सरणी के माध्यम से जाएं जो स्टाइल शीट को अक्षम करता है जिसे आप नहीं चाहते हैं और जिस स्टाइल शीट को आप चाहते हैं उसे सक्षम करता है। (आप उपरोक्त विधि में एक अलग विधि लिख सकते हैं या लूप को सम्मिलित कर सकते हैं। मैं पेज के साथ सीएसएस सरणी लोड करने के लिए ऑनलोड कमांड का उपयोग करना चाहता हूं, फिर प्रिंटव्यू विधि को कॉल करें।

<a href="#" onClick ="methodName();">Link Name</a> 
+1

प्रश्न और इस उत्तर दोनों के बारे में ध्यान देने योग्य कुछ चीज़ें। ** यह उत्तर सही है, लेकिन केवल तभी यदि आप कई अलग शैलियों ** चाहते हैं। आप एकाधिक चादरें प्राथमिक रूप से परिभाषित कर सकते हैं। जब तक वे एक ही विशेषता को परिवर्तित नहीं करते हैं - आप ठीक हैं। यदि 2 स्टाइलशीट एक-दूसरे से विरोधाभास करते हैं, तो आपको उस प्रक्रिया की शैली मिलनी चाहिए जो अंतिम संसाधित है (क्वांटिन ने संक्षिप्त जवाब लिखा है)। – Zero

-3

आप नहीं कर सकते हैं:)

function printView() 
{ 
var sheet; 
var title1 = "printVersion"; 
for(i = 0; i < sheets.length; i++) 
{ 
    sheet = sheets[i]; 
      if(sheet.title == title1) 
    { 
     sheet.disabled = false; 
    } 
    else 
    { 
     sheet.disabled = true; 
    } 

अंत में, अपने HTML दस्तावेज़ में कोड है कि उपयोगकर्ता जैसे JavaScript विधि सक्रिय कर देंगे पैदा करते हैं। आपके द्वारा निर्दिष्ट अंतिम स्टाइलशीट एक HTML पृष्ठ का उपयोग करेगा। इसे एक बड़े एकल। सीएसएस दस्तावेज़ के रूप में सोचें।

+0

विफल। आप निश्चित रूप से एकाधिक सीएसएस फाइलों को शामिल कर सकते हैं। – ironarm

संबंधित मुद्दे