2011-07-14 14 views
5

जब मैक पर क्रोम, Safari या Firefox में एक पृष्ठ प्रतिपादन, अगर मैं एचटीएमएल 5 doctypeएचटीएमएल 5 डॉक्टरेट डीवीवी ऊंचाई को खराब करता है?

<!DOCTYPE html> 

का उपयोग करें और एक div के अंदर एक छवि डाल दिया, div प्रदान की गई लगातार 4 पिक्सेल बहुत लंबा है। अगर मैं पुराने doctype का उपयोग करें

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

divs सही ढंग से गाया जाता है, जो इसके अंदर छवि के रूप में एक ही ऊंचाई है। यह सटीक उसी HTML और CSS कोड का उपयोग कर रहा है। एकमात्र चीज जो बदलती है वह है डॉक्टरेट और अतिरिक्त 4 पिक्सेल दिखाते हैं। क्या इसको ठीक करने का कोई तरीका है?

+0

आप html5reset.org – Catfish

उत्तर

1

एचटीएमएल 5 निर्दिष्ट करता है कि तत्वों के भीतर सफेद जगह प्रस्तुत की जानी चाहिए। इसके लिए आपको 4px अतिरिक्त मिलता है, यदि आप उन तत्वों के लिए फ़ॉन्ट आकार को 0 पर सेट करते हैं, उदाहरण के लिए, स्थान गायब हो जाएगा।

+0

पर एक नज़र रखना चाहिए यह वास्तव में एचटीएमएल 5 से कोई लेना देना नहीं है। यह "मानक मोड" बनाम "नहीं" है। 'फ़ॉन्ट-आकार: 0' इसे ठीक करने के लिए काम करता है, लेकिन यह सामान्य फिक्स नहीं है। – thirtydot

+0

यह सच नहीं है, मुझे यकीन नहीं है कि इसे 3 वोट क्यों मिले। नीचे दिया गया जवाब मान्य है। – MMM

10

http://hsivonen.iki.fi/doctype/

<!DOCTYPE html> = मानक मोड - http://jsbin.com/ogacor

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> = लगभग मानक मोड - http://jsbin.com/ogacor/2

इसे ठीक करने के लिए, img करने के लिए display: block या vertical-align: top (या bottom) जोड़ें।

कारण यह पहली जगह में होता है कि img डिफ़ॉल्ट inline तत्वों द्वारा रहे हैं, और एक डिफ़ॉल्ट baseline की vertical-align है। बेसलाइन युक्त तत्व के नीचे स्पर्श नहीं करता है - अंतर दोनों के बीच की दूरी है।

देखें:

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