2011-04-13 10 views
5

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

आप देखेंगे कि एफएफ में भी छोटे अक्षरों में अभी भी एक छाया है, जबकि क्रोम शून्य मान को शून्य पर गोल करता है और पहले दो अनुच्छेदों में कोई छाया नहीं होती है।

EDIT यह इकाइयों के बारे में नहीं है। यदि आप 0.93, 0.8, 0.7 के साथ 0.03em को प्रतिस्थापित करते हैं .. पीएक्स एफएफ छोटी और छोटी छाया प्रदर्शित करेगा, जबकि जब क्रोम 1px से नीचे चला जाता है तो यह अचानक कुछ भी प्रदर्शित नहीं करता है।

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
<html lang="bg" xml:lang="bg" xmlns="http://www.w3.org/1999/xhtml"> 

<head> 
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 
    <style type="text/css">body {font-size: 18px;} p {color: cyan; text-shadow: -0.03em -0.03em 0 rgb(0, 0, 0);}</style> 
</head> 
<body> 

<p style="font-size:1em">No Shadow Test</p> 
<p style="font-size:1.5em">No Shadow Test</p> 
<p style="font-size:2em">Test</p> 
<p style="font-size:2.5em">Test</p> 
<p style="font-size:3em">Test</p> 
<p style="font-size:3.5em">Test</p> 
<p style="font-size:4em">Test</p> 
<p style="font-size:4.5em">Test</p> 
<p style="font-size:5em">Test</p> 

</body> 

</html> 
+0

मैं पिक्सेल-परिपूर्ण डिज़ाइन पर भरोसा नहीं करता। वे उन्हें प्राप्त करने का एकमात्र तरीका एक छवि का उपयोग करना है ... – Blender

+0

मेरा डिज़ाइन सब कुछ है, लेकिन पिक्सेल सही है। मैं कहीं भी पिक्सल का उपयोग नहीं करता हूं। –

+0

'em' वर्तमान फ़ॉन्ट आकार के साथ 'एम' की ऊंचाई पर आधारित है। चूंकि यह पिक्सल पर आधारित है, इसलिए 'em' है। – Blender

उत्तर

0

मैं एम का सुझाव नहीं दूंगा। मैं पीएक्स (पिक्सेल) का उपयोग करता हूं। यहाँ PX कनवर्टर करने के लिए एक ईएम है: http://convert-to.com/446/pixels-px-to-em-conversion.html

PX सभी ब्राउज़र में एक ही है (मैं जानता हूँ कि जहाँ तक)

+2

पिक्सल स्क्रीन रिज़ॉल्यूशन के सापेक्ष हैं, जबकि ईएमएस फ़ॉन्ट आकार के सापेक्ष हैं (फ़ॉन्ट आकार फ़ॉन्ट चेहरे/परिवार के सापेक्ष भी है)। यह भी ध्यान रखें कि पीएक्स "कन्वर्टर्स" के लिए एक टन के बारे में एक टन मानते हैं, आम तौर पर यह मानकर कि 16px = 1em, जो हमेशा मामला नहीं है। –

+0

क्या आप जानते हैं कि 800x600 पर 10px टेक्स्ट कैसा दिखता है और यह 1920X1080 पर कैसा दिखता है? बहुत अलग। अच्छे फिक्स्ड पिक्सेल डिज़ाइन के दिन अतीत में हैं। –

+2

मैं असहमत हूं। देव आयरिश, देव समुदाय में एक प्रमुख, फ़ॉन्ट आकार _ ** के रूप में एम के बजाय पीएक्स का उपयोग करता है [जैसा कि यहां दिखाया गया है] (http://na.isobar.com/standards/#_pixels_vs_ems) ** _। –

3

पहली बात मैं सुझाव है कि आप y निर्देशांक और एक फोंट के रूप में ऊंचाई के मान के लिए ex units का उपयोग करें एक अलग x-heights हो सकता है। यह आपकी तरफ से घुमावदार त्रुटियों की सहायता कर सकता है, लेकिन शायद नहीं। सबसे बुरा मामला यह है कि यह फ़ॉन्ट के लिए कम से कम सटीक है।

दूसरा, दुर्भाग्य से मुझे इस spec में कोई संदर्भ नहीं मिल रहा है जो कहता है कि इस मामले में ब्राउज़र को क्या करना चाहिए, यही कारण है कि हम अंतर देख रहे हैं? अगर मैं गलत हूं, तो आप हमेशा वेबकिट टीम के साथ एक बग फाइल कर सकते हैं?

जहां तक ​​एक समाधान है, मैं केवल सुझाव दे सकता हूं कि आप इस मामले में सबसे अच्छा मार्ग निर्धारित करें। इसके बारे में सोचें आईई के समान text-shadow का समर्थन नहीं करता है। यदि गोल विफल रहता है, तो यह प्रकट नहीं होगा। फिर इस दृष्टिकोण के आधार पर अपने डिजाइन पर निर्णय लें।

जो मैं व्यक्तिगत रूप से करता हूं वह उन चीज़ों के लिए पिक्सेल का उपयोग करता है जिन्हें मुझे पता है कि छाया और सीमाओं जैसे गोलियों की त्रुटियां हो सकती हैं।

+0

धन्यवाद! अच्छा लिखो, लेकिन मुझे नहीं पता कि इकाइयां समस्या हैं या नहीं। कृपया, मेरा संपादन देखें। –

+0

@ avok00: केवल एक ही सलाह जो मैं दे सकता हूं वह पहले से ही मेरे उत्तर में है।आप जानते हैं कि वेबकिट कुछ मामलों में 0 से राउंड है, इसलिए गोलियों के दौरान पिक्सल का उपयोग करना संभवतः सबसे अच्छा विकल्प है। –

+0

असल में बहुत कम संकल्पों (फोन) में मुझे 0.4px के मानों की आवश्यकता होगी उदाहरण के लिए, एफएफ/आईई प्रदर्शित करता है (1px सेटिंग से छोटा, पता नहीं कैसे) और वेब-किट नहीं करता है। –

3

समस्या यह है कि क्रोम उप-पिक्सेल वृद्धि पर टेक्स्ट और टेक्स्ट छाया को स्थान नहीं देगा, इसलिए यह निकटतम पिक्सेल पर जाता है।

आप letter-spacing के साथ एक ही प्रभाव देख सकते हैं जहां फ़ायरफ़ॉक्स गैर-पूर्णांक मानों को पिक्सल में अनुमति देगा, जबकि क्रोम निकटतम पिक्सेल को घेरेगा।

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