2012-02-13 21 views
13

मैं महान HTML5 बॉयलरप्लेट का उपयोग कर रहा हूं। यह एक महान परियोजना है, लेकिन मैं IE 8 और 7 में प्रतिपादन कुछ बड़े मुद्दों कर रहा हूँ (संभवतः 8, लेकिन अभी तक प्रयास नहीं किया है)आईई और एचटीएमएल 5 डॉक्टरेट मुद्दे

फ़ाइलें एचटीएमएल 5 doctype है:

<!doctype html> 
<head> 

लेकिन समस्या यह है कि कोई भी पूर्ण और बदसूरत doctype की तरह ...

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 

होने मैं मुद्दों प्रतिपादन के सभी प्रकार के विवरण: अंतर से केंद्रित: ऑटो काम नहीं करता है ऊंचाई, चौड़ाई, martings और paddings सब पागल और की तरह व्यवहार सब मेरी लेआउट केवल <!doctype> के साथ टूट गया है, लेकिन अगर मैं पुराने पर स्विच करता हूं, तो हर जी बहुत अच्छा काम करता है (ठीक है, अच्छा नहीं है, यह अभी भी आईई है, लेकिन अपेक्षित के रूप में)

एचटीएमएल 5 बॉयलरप्लेट आधुनिकता के साथ आता है जो मुझे लगता है कि इसे ठीक करना चाहिए लेकिन यह काम नहीं कर रहा है। मेरी "अनुसंधान" (गूगल) से मैंने पाया कि आईई, quirks मोड चौड़ाई <!doctype> में प्रवेश करती है तो सवाल यह है कि ...

वहाँ आईई <!doctype> साथ quirks मोड में जाने से रोकने के लिए एक तरीका है?

या कम से कम मार्जिन, चौड़ाई, पैडिंग आदि तोड़ना नहीं है?

संपादित करें: यह पूरा सिर है:

<!doctype html> 
<!--[if lt IE 7]> <html class="no-js lt-ie9 lt-ie8 lt-ie7" lang="en"> <![endif]--> 
<!--[if IE 7]> <html class="no-js lt-ie9 lt-ie8" lang="en"> <![endif]--> 
<!--[if IE 8]> <html class="no-js lt-ie9" lang="en"> <![endif]--> 
<!--[if gt IE 8]><!--> <html class="no-js" lang="en"> <!--<![endif]--> 
<head> 
    <meta charset="utf-8"> 
+0

इस प्रश्न का समाधान क्या था? – pal4life

उत्तर

14

आईई कि doctype साथ quirks मोड में जाने नहीं देता है। बॉयलरप्लेट को आईई समस्याओं को ठीक करना चाहिए, जिससे उन्हें नहीं। Doctype के बाद आप <html> तत्व खो रहे हैं। यह देखने के लिए कि चीजें बदलती हैं या नहीं। एचटीएमएल 5 की आवश्यकता नहीं है, लेकिन अगर गायब हो, तो या तो आईई या बॉयलरप्लेट डॉक्स के अनुसार पागल हो सकता है।

इसके अलावा, बस कार्यप्रणाली के बाद टिप्पणियों को हटा दें और इससे समस्या दूर होनी चाहिए।

+1

मुझे यह याद नहीं है, बॉयलरप्लेट में यह है: – Juan

+0

@ जुआन - फिर हमें पूरा मार्कअप कारण देखने की आवश्यकता है जिसे हम अनुमान लगा रहे हैं। – Rob

+7

इस उत्तर से वास्तविक समाधान क्या था? – Catfish

7

<head></head> टैग में इस डाल का प्रयास करें:

<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> 

यदि यह पहले से ही वहाँ है, तो इसे हटाने, और आप प्राप्त हो सकता है आपके वांछित परिणाम।

+0

यह वहां है, मैंने इसे हटा दिया लेकिन कुछ भी नहीं बदला – Juan

0

मैं एक "जानकार" की बहुत अधिक नहीं कर रहा हूँ, लेकिन नहीं यह सशर्त एचटीएमएल करने के लिए काम करते हैं और एक HTML IE8 के लिए और नीचे इस तरह 4.01 doctype घोषणा करेंगे: कि नहीं खाता है तो

<!-- HTML 5 doctype --> 
<!doctype html> 

<!-- HTML 4.01 Doctype --> 
<!--[if lte IE 8]> 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" 
"http://www.w3.org/TR/html4/strict.dtd"> 
<![endif]--> 

पुराने ब्राउज़र में काम करते हैं तो आप इस कोशिश कर सकते (ब्राउज़र दो doctypes पढ़ने के कारण):

<!DOCTYPE HTML <!--[if lte IE 8]>PUBLIC "-//W3C//DTD HTML 4.01//EN" 
"http://www.w3.org/TR/html4/strict.dtd" 
<![endif]-->> 
+3

आपकी टिप्पणी आईई को क्विर्क मोड में डालती है। आप डॉक्टरेट के सामने कुछ भी नहीं डाल सकते हैं। – Rob

6

आईई HTML सिद्धांत के साथ quirks में नहीं जाता है - यह पूरी बात है!

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

(http://ejohn.org/blog/html5-doctype/)

हालांकि, doctype से पहले कुछ भी होने (नई-पंक्तियों, टिप्पणियों आदि) होगा।

मैं जांचता हूं कि आप क्या कर रहे हैं - HTML5 ड्यूट टाइप आपके ब्राउज़र को क्विर्क में नहीं रखेगा।

0

यह संभावना है कि यह सशर्त टिप्पणियों के साथ संगतता मोड में जा रहा है। हम अनुशंसा करते हैं कि आप एक .htaccess फ़ाइल या अन्य सर्वर कॉन्फ़िगरेशन फ़ाइलों के भीतर x-ua-compatible शीर्षलेख सर्वर पक्ष सेट करें।

-4

डॉकटाइप एचटीएमएल के बजाय DOCTYPE एचटीएमएल का प्रयास करें, डॉक्ट टाइप टैग केस संवेदनशील है, यही कारण होगा।

+7

यह मामला संवेदनशील नहीं है। –

0

मुझे आपके द्वारा पोस्ट किए गए पूर्ण सिर मार्कअप के साथ कुछ भी गलत नहीं लगता है। यह बॉयलरप्लेट्स में व्यापक रूप से उपयोग किया जाने वाला एक मानक मार्कअप है जिसमें Modernizr शामिल है, जो ब्राउज़र सुविधाओं का पता लगाने के लिए उपयोग की जाने वाली निफ्टी जावास्क्रिप्ट लाइब्रेरी है।

<!doctype html> 
<!--[if lt IE 7]>  <html class="no-js lt-ie9 lt-ie8 lt-ie7" lang="en"> <![endif]--> 
<!--[if IE 7]>   <html class="no-js lt-ie9 lt-ie8" lang="en"> <![endif]--> 
<!--[if IE 8]>   <html class="no-js lt-ie9" lang="en"> <![endif]--> 
<!--[if gt IE 8]><!--> <html class="no-js" lang="en"> <!--<![endif]--> 
<head> 

मैं इसे अपने वर्तमान ऐप में उपयोग करता हूं और किसी भी ब्राउज़र पर कोई समस्या नहीं पाता। हालांकि मैं यह इतना की तरह उपयोग करें:

<!DOCTYPE html> 
<!--[if lt IE 7]>  <html class="no-js lt-ie9 lt-ie8 lt-ie7"> <![endif]--> 
<!--[if IE 7]>   <html class="no-js lt-ie9 lt-ie8"> <![endif]--> 
<!--[if IE 8]>   <html class="no-js lt-ie9"> <![endif]--> 
<!--[if gt IE 8]><!--> <html class="no-js"> <!--<![endif]--> 
<head> 

आईई सशर्त टिप्पणियों का परीक्षण के लिए, मैं, बस दो बार जांच के लिए IE9, IE8 और IE7 पर परीक्षण किया, दोनों अपरकेस और लोअरकेस doctype साथ।

केवल अजीब बात मैं IE7 पर देखा है, यह था कि वेबफ़ॉन्ट (मेरे एप्लिकेशन में सभी चार) कभी कभी प्रस्तुत करना विफल हो जाएगा जब मैं <!doctype html> बजाय<!DOCTYPE html> इस्तेमाल किया।

FYI करें: मैं बस की जाँच की और देखते हैं कि HTML5 Boilerplate Project Sept 24 वें 2013 पर removed support for IE conditional comments है मैं पुष्टि नहीं कर सकते जब सशर्त टिप्पणियाँ परियोजना के लिए शुरू किए गए थे लेकिन जनवरी 24 कि it used to be around the body tag when the project was ported to Github देख सकते हैं किया है 2010

0

यूटीएफ -8 के रूप में फ़ाइल को बीओएम के बिना सहेजने का प्रयास करें। यह मेरी मदद की।

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