క్విర్క్స్ మోడ్ లోకి బ్రౌజర్లను ఉంచడానికి Doctype ను వదిలేయండి
మీరు కొన్ని నెలలు కన్నా ఎక్కువ వెబ్ పేజీలను రూపకల్పన చేస్తుంటే , అన్ని బ్రౌజరులలో ఒకే విధంగా కనిపించే ఒక పేజీని వ్రాయడం కష్టంగా ఉంటుంది. వాస్తవానికి, ఇది అసాధ్యం. అనేక బ్రౌజర్లు మాత్రమే వారు నిర్వహించడానికి అని ప్రత్యేక లక్షణాలు రాశారు. లేదా ఇతర బ్రౌజర్లు వాటిని ఎలా నిర్వహిస్తాయో వేర్వేరు విషయాలను నిర్వహించటానికి ప్రత్యేకమైన మార్గాలు ఉన్నాయి. ఉదాహరణకి:
- నెట్స్కేప్ బ్రౌజర్లలో ఉపయోగం కోసం పొరలు సృష్టించబడ్డాయి. వారు ఏ ఇతర బ్రౌజర్లోనూ పనిచేయరు, వాస్తవానికి Netscape 6.x + లో డీప్రికేటెడ్ చేశారు.
- ఇన్లైన్ ఫ్రేమ్లు మొదట ఇంటర్నెట్ ఎక్స్ప్లోరర్ కోసం మొదట సృష్టించబడ్డాయి మరియు అప్పటినుండి HTML స్పెసిఫికేషన్లో భాగం అయ్యాయి.
- ఇంటర్నెట్ ఎక్స్ప్లోరర్ 6.0 అదనపు స్పేస్ను జతచేస్తుంది (a
) పరిసర ట్యాగ్లు, మీరు ఒక (పొడవైన) లైన్లో DIV యొక్క కంటెంట్లను వ్రాయకపోతే తప్ప. (IE 6 కు చాలా అసాధరణాలు ఉన్నాయి మరియు ఇది కూడా ఒకటి.) - Netscpe 4.7 సరైన HTML లో రాసిన పట్టికలను ప్రదర్శించదు - ఇది బదులుగా ఖాళీ పేజీని చూపిస్తుంది. ఇది నెట్స్కేప్ 6 లో పరిష్కరించబడింది.
బ్రౌజర్ డెవలపర్లు కోసం సమస్య వారు పాత బ్రౌజర్లలో కోసం నిర్మించిన వెబ్ పేజీలను వెనుకకు అనుకూలంగా ఉంటాయి వెబ్ బ్రౌజర్లు సృష్టించడానికి కలిగి ఉంది. ఈ సమస్యను ఎదుర్కోవటానికి, బ్రౌజర్ మేకర్స్ పనిచేయడానికి బ్రౌజర్ల కోసం రీతులను సృష్టించారు. ఈ రీతులు DOCTYPE మూలకం యొక్క ఉనికి లేదా లేకపోవడంతో మరియు DOCTYPE కాల్స్ ద్వారా నిర్వచించబడతాయి.
DOCTYPE స్విచ్చింగ్ మరియు "క్విర్క్స్ మోడ్"
మీరు మీ వెబ్ పేజీలో క్రింది DOCTYPE ను ఉంచుకుంటే:
ఆధునిక బ్రౌజర్లలో (Android 1+, Chrome 1+, IE 6+, iOS 1+, Firefox 1+, Netscape 6+, Opera 6+, సఫారి 1+) ఈ క్రింది పద్ధతిలో దీనిని అర్థం చేసుకోగలవు:
- సరిగ్గా వ్రాసిన DOCTYPE ఉన్నందున, ఇది స్టాండర్డ్స్ మోడ్ను ప్రారంభిస్తుంది.
- ఇది HTML 4.01 పరివర్తన పత్రం
- ఇది ప్రమాణాల రీతిలో ఉన్నందున, చాలా బ్రౌజర్లు HTML 4.01 పరివర్తనతో కంటెంట్ కంప్లైంట్ (లేదా ఎక్కువగా కంప్లైంట్) ను అందిస్తాయి
మరియు మీరు మీ పత్రంలో ఈ DOCTYPE ను ఉంచినట్లయితే:
ఇది మీ HTML 4.01 పేజీని DTD తో కచ్చితమైన సమ్మతితో ప్రదర్శించాలని కోరుకుంటున్న ఆధునిక బ్రౌజర్లను చెబుతుంది.
ఈ బ్రౌజర్లు "కఠినమైన" లేదా "ప్రమాణాలు" మోడ్లోకి వెళ్తాయి మరియు ప్రమాణాలతో అనుగుణంగా పేజీని అందించబడతాయి. (కాబట్టి, ఈ పత్రం కోసం, FONT ఎలిమెంట్ను HTML 4.01 కఠినమైనదిగా నిలిపివేసినందున వంటి ట్యాగ్లు బ్రౌజర్ పూర్తిగా విస్మరించబడవచ్చు.)
మీరు DOCTYPE ను పూర్తిగా వదిలేస్తే, బ్రౌజర్లు స్వయంచాలకంగా "అసాధరణ" మోడ్లోకి తీసుకోబడతాయి.
దిగువ పట్టిక వివిధ సాధారణ DOCTYPE డిక్లరేషన్లతో అందించినప్పుడు సాధారణ బ్రౌజర్లు ఏమి చేయాలో చూపుతుంది.
మైక్రోసాఫ్ట్ ఇది కష్టతరం చేస్తుంది
ఇంటర్నెట్ ఎక్స్ప్లోరర్ 6 కూడా లక్షణాన్ని కలిగి ఉంది, మీరు DOCTYPE డిక్లరేషన్ పైన ఏదైనా ఉంచినట్లయితే, వారు అసాధరణ రీతిలో వెళ్తారు. కాబట్టి, ఈ రెండు ఉదాహరణలు IE 6 ను అసాధరణ మోడ్ లోకి ప్రవేశపెడతాయి, అయినప్పటికీ DOCTYPE డిక్లరేషన్లు ఖచ్చితమైన ప్రమాణ పద్ధతిలో ఉంటుందని చెప్పాయి:
మరియు XHTML 1.1 DOCTYPE:
ప్లస్, మీరు IE6 గత ఉంటే, అప్పుడు మీరు మైక్రోసాఫ్ట్ IE8 మరియు IE9 లో జోడించారు "ఫీచర్" కలిగి: META మూలకం మార్పిడి మరియు వెబ్సైట్ బ్లాక్లిస్టింగ్. నిజానికి, ఈ రెండు బ్రౌజర్ సంస్కరణలు ఇప్పుడు ఏడు (!) వేర్వేరు రీతులను కలిగి ఉన్నాయి:
- IE 5.5 అసాధరణ మోడ్ (IE 8 మరియు 9)
- IE 7 ప్రమాణాలు మోడ్ (IE 8 మరియు 9)
- IE 8 దాదాపు ప్రమాణాలు మోడ్ (IE 8 మరియు 9)
- IE 8 ప్రమాణాలు మోడ్ (IE 8 మరియు 9)
- IE 9 దాదాపు ప్రమాణాలు మోడ్ (IE 9)
- IE 9 ప్రమాణాలు మోడ్ (IE 9)
- XML మోడ్ (IE 9)
IE 8 కూడా "అనుకూలత మోడ్" ను పరిచయం చేసింది, దీనిలో వినియోగదారుని రీడరింగ్ మోడల్ను IE 7 మోడ్కు మార్చడానికి ఎంచుకోవచ్చు. కాబట్టి మీరు DOCTYPE మరియు META రెండింటినీ ఉపయోగించి అమర్చాలనుకున్న మోడ్ను అమర్చినప్పటికీ, మీ పేజీ ఇప్పటికీ తక్కువ ప్రమాణాలు-కంప్లైంట్ రీతిలోకి తిరిగి పంపబడుతుంది.
క్విర్క్స్ మోడ్ అంటే ఏమిటి?
క్విర్క్స్ మోడ్ అన్ని వినూత్న రెండరింగ్ మరియు అప్రమాణిక బ్రౌజర్ మద్దతుతో వ్యవహరించడంలో సహాయపడింది మరియు వెబ్ డిజైనర్లు ఆ విషయాలను పరిష్కరించేందుకు ఉపయోగించే హక్స్. బ్రౌజర్ తయారీదారులు కలిగి ఉన్న ఆందోళన ఏమిటంటే వారు తమ బ్రౌజర్లు పూర్తి స్పెసిఫికేషన్ సమ్మతికి మార్చినట్లయితే, వెబ్ డిజైనర్లు వెనుకబడతారు.
DOCTYPE స్విచింగ్ మరియు "క్విర్క్స్ మోడ్" ను ఏర్పాటు చేయడం ద్వారా ఈ వెబ్ డిజైనర్లు బ్రౌజర్లు వారి HTML ను రెండర్ చెయ్యడానికి కోరుకుంటున్నారో ఎంచుకోవడానికి వీలు కల్పించారు.
క్విర్క్స్ మోడ్ ఎఫెక్ట్స్
చాలా బ్రౌజర్లు క్విర్క్స్ మోడ్లో ఉపయోగించే పలు ప్రభావాలు ఉన్నాయి:
- కొన్ని బ్రౌజర్లలో, బాక్స్ మోడల్ అసాధరణ రీతిలో బాక్స్ మోడల్ యొక్క IE 5.5 సంస్కరణకు మారుతుంది.
- కొన్ని బ్రౌజర్లు పట్టికలు లోకి శైలులు వారసత్వంగా లేదు
- క్విర్క్స్ మోడ్ మీరు అసాధరణ రీతి నుండి పేజీలను మోడ్ స్టాండర్డ్ మోడ్లకు మార్చినట్లయితే, మీ CSS లేఅవుట్ను పరీక్షించి, విస్తృతంగా పార్సింగ్ చేయాలని నిర్థారించుకోండి, CSS మరియు CSS లేఅవుట్ యొక్క నాటకీయతను ప్రభావితం చేస్తుంది.
- అసాధరణ రీతిలో స్క్రిప్టింగ్కు మార్పుల కోసం చూడండి. ఉదాహరణకు, id లక్షణం పనిచేస్తుంది, Firefox మారుతుంది. IE8 మరియు IE9 అసాధరణ రీతిలో స్క్రిప్టింగ్కు చాలా నాటకీయ మార్పులను కలిగి ఉన్నాయి.
"దాదాపు స్టాండర్డ్స్ మోడ్:" లో తేడా కూడా ఉన్నాయి.
- లోపల చిత్రాలతో ఉన్న పట్టిక కణాల ఎత్తు ప్రమాణాలు మోడ్ నుండి విభిన్నంగా లెక్కించబడుతుంది.
ఎలా ఒక DOCTYPE ఎంచుకోండి
నేను నా వ్యాసంలో DOCTYPE జాబితాలో మరింత వివరంగా వెల్లడించాను, కాని ఇక్కడ కొన్ని సాధారణ నియమాలు ఉన్నాయి:
- ఎల్లప్పుడూ ప్రమాణాల మోడ్ను ఎల్లప్పుడూ ఎంచుకోండి. మీరు ఉపయోగించిన ప్రస్తుత ప్రమాణం HTML5: మీరు HTML5 DOCTYPE ను ఉపయోగించకుండా ఉండటానికి ఒక ప్రత్యేక కారణం తప్ప, మీరు ఉపయోగించుకోవాలి.
- మీరు లెగసీ మూలకాలకు ధ్రువీకరించాలి లేదా కొన్ని కారణాల కోసం క్రొత్త లక్షణాలను నివారించాలని కోరుకుంటే కఠిన HTML 4.01 కు వెళ్లండి:
- మీరు ఒక పట్టికలో చిత్రాలను ముక్కలుగా చేసి, వాటిని పరిష్కరించాలనుకుంటే, పరివర్తన HTML 4.01 కి వెళ్లండి:
- పేజీలను ఉద్దేశపూర్వకంగా అసాధరణ రీతిలో వ్రాయవద్దు. ఎల్లప్పుడూ DOCTYPE ను ఉపయోగించండి. భవిష్యత్తులో మీరు అభివృద్ధి సమయం లో ఈ సేవ్ చేస్తుంది, మరియు నిజంగా ప్రయోజనం లేదు. IE6 వేగంగా ప్రజాదరణ కోల్పోతోంది మరియు ఈ బ్రౌజర్ కోసం రూపకల్పన చేయడం ద్వారా (ఇది అసాధరణ మోడ్లో రూపకల్పన చేయడమే ప్రధానమైనది) మీరు మీరే, మీ పాఠకులు మరియు మీ పేజీలను పరిమితం చేస్తున్నారు. మీరు IE 6 లేదా 7 కొరకు వ్రాయవలసి వస్తే, ఆధునిక బ్రౌజర్లను అసాధరణ రీతికి బలవంతం చేయకుండా, వారికి మద్దతు ఇవ్వడానికి నియత వ్యాఖ్యలను ఉపయోగించండి.
ఎందుకు DOCTYPE ఉపయోగించండి
ఒకసారి మీరు ఈ రకమైన DOCTYPE స్విచింగ్ను గురించి తెలుసుకున్న తర్వాత, మీరు మీ వెబ్ పేజీలను మరింత సులభంగా ప్రభావితం చేయవచ్చు, ఇది DOCTYPE ను ఉపయోగించి మీ బ్రౌజరు నుండి మీ బ్రౌజరు ఆశించినదానిని సూచిస్తుంది. కూడా, ఒకసారి మీరు DOCTYPE ను ఉపయోగించడం మొదలుపెడితే, మీరు చెల్లుబాటు అయ్యే HTML ను రాయడం చేస్తారు (మీరు దీనిని ధృవీకరించాలి). మరియు చెల్లుబాటు అయ్యే XHTML రాయడం ద్వారా, మీరు ప్రమాణాల కంప్లైంట్ బ్రౌజర్లు నిర్మించడానికి బ్రౌజర్ మేకర్స్ ప్రోత్సహిస్తున్నాము.
బ్రౌజర్ సంస్కరణలు మరియు క్విర్క్స్ మోడ్
DOCTYPE | Android Chrome ఫైర్ఫాక్స్ IE 8+ iOS Opera 7.5+ సఫారి | IE 6 IE 7 Opera 7 | నెట్స్కేప్ 6 |
---|---|---|---|
గమనిక | క్విర్క్స్ మోడ్ | క్విర్క్స్ మోడ్ | క్విర్క్స్ మోడ్ |
HTML 3.2 | |||
క్విర్క్స్ మోడ్ | క్విర్క్స్ మోడ్ | క్విర్క్స్ మోడ్ | |
HTML 4.01 | |||
పరివర్తన | స్టాండర్డ్స్ మోడ్ * | స్టాండర్డ్స్ మోడ్ * | స్టాండర్డ్స్ మోడ్ |
పరివర్తన | క్విర్క్స్ మోడ్ | క్విర్క్స్ మోడ్ | క్విర్క్స్ మోడ్ |
కఠినమైన | స్టాండర్డ్స్ మోడ్ | స్టాండర్డ్స్ మోడ్ * | స్టాండర్డ్స్ మోడ్ |
కఠినమైన | స్టాండర్డ్స్ మోడ్ | స్టాండర్డ్స్ మోడ్ * | స్టాండర్డ్స్ మోడ్ |
HTML5 | |||
స్టాండర్డ్స్ మోడ్ | స్టాండర్డ్స్ మోడ్ * | క్విర్క్స్ మోడ్ | |
* ఈ DOCTYPE తో, బ్రౌజర్లు ప్రమాణాల కంప్లైంట్కు దగ్గరగా ఉంటాయి, కానీ కొన్ని సమస్యలు ఉన్నాయి-పరీక్షించాలో ఖచ్చితంగా. దీనిని "దాదాపు స్టాండర్డ్స్ మోడ్" అని కూడా పిలుస్తారు. |