केवल प्रथम तत्व के लिए दोहरे उद्धरण क्यों दिखाए गए हैं?


89

मैं सोच रहा हूं कि ब्राउज़र केवल पहले तत्व के लिए दोहरे खुले उद्धरण क्यों दिखाता है। दूसरे तत्व के बजाय एकल उद्धरण हैं।

a::before {
  content: open-quote;
}
<a href="http://www.google.com">Google</a> <br>
<a href="http://www.amazon.com">Amazon</a>


4
open-quoteकरता खोलने एक उद्धरण। यह एक दोहरे-भाव वाले चरित्र को संदर्भित नहीं करता है।
बर्गी

5
Internet Explorer 11 में, वे दोनों खुले खुले उद्धरण हैं।

जवाबों:


137

आपके खुले उद्धरण समाप्त नहीं होते हैं, इसलिए ब्राउज़र "स्मार्ट" धारणा बनाता है कि आप अपने उद्धरणों को घोंसला बनाने वाले हैं, जिसके परिणामस्वरूप पहले तत्व के लिए डबल बाहरी उद्धरण और दूसरे के लिए एकल आंतरिक उद्धरण हैं। यह है कि नेस्टेड कोटेशन में उद्धरण विराम कैसे काम करता है। विकिपीडिया और उसमें निहित उद्धरणों के संदर्भ देखें ।

विशेष रूप से, तत्व सीमाओं को अनदेखा किया जाता है, इसलिए इससे कोई फर्क नहीं पड़ता कि आपका दूसरा तत्व गहरा है या यदि दोनों तत्व अपने स्वयं के मूल तत्वों में नेस्टेड हैं, तो भी यह उसी तरह काम करेगा, जो पैराग्राफ में विशेष रूप से उपयोगी है विभिन्न प्रकार के और phrasing तत्वों का संयोजन (होते हैं a, br, code, em, span, strong, आदि, और साथ ही qअपने आप में)। नेस्टेड कैसे होते हैं यह पूरी तरह से open-quotes और close-quotes की संख्या पर निर्भर करता है जो कि किसी भी समय उत्पन्न हुए हैं, और एल्गोरिथ्म CSS2 कल्पना की धारा 12.3.2 में विस्तृत है , निम्नलिखित नोट के साथ समाप्त होता है:

ध्यान दें। स्रोत दस्तावेज़ या स्वरूपण संरचना के घोंसले से मुक्त होने पर उद्धरण गहराई है।

उस अंत तक, इस समस्या के दो तथाकथित "समाधान" हैं, दोनों ::afterमें खुले उद्धरणों के पहले सेट को संतुलित करने के लिए एक छद्म तत्व जोड़ना शामिल है ।

::afterपहले तत्व के लिए उद्धरण का उपयोग करके करीबी उद्धरण सम्मिलित करने से पहले दूसरे तत्व का सामना करने से पहले समाप्त कर दिया जाता है ताकि कोटेशन का कोई घोंसला न हो।

a::before {
  content: open-quote;
}

a::after {
  content: close-quote;
}
<a href="http://www.google.com">Google</a> <br>
<a href="http://www.amazon.com">Amazon</a>

यदि आप वास्तव में करीबी उद्धरण प्रस्तुत नहीं करना चाहते हैं, तब भी आप ब्राउज़र को दूसरे तत्व के उपयोग के लिए एकल उद्धरण उत्पन्न करने से रोक सकते हैं no-close-quote

a::before {
  content: open-quote;
}

a::after {
  content: no-close-quote;
}
<a href="http://www.google.com">Google</a> <br>
<a href="http://www.amazon.com">Amazon</a>


35

ऐसा इसलिए है क्योंकि आपने पिछले उद्धरणों को बंद नहीं किया है, अगले उद्धरण केवल एक के साथ रहेंगे '

इसलिए छद्म तत्व का उपयोग afterके साथcontent: close-quote

नीचे देखें स्निपेट:

तुम भी उपयोग करके किसी टैग पर प्राथमिक और माध्यमिक उद्धरण संपादित कर सकते हैं उद्धरण सीएसएस संपत्ति इस प्रकार है:

a {
  quotes: "“" "”" "“" "”";
           ^   ^   ^   ^
           |   |   |   |
           |   |   |   |_ #secondary close quotes 
           |   |   |_____ #secondary open quotes 
           |   |_________ #primary close quotes    
           |_____________ #primary open quotes 
 }

नीचे देखें स्निपेट:

a {
  quotes: "“" "”" "“" "”";
}

a::before{
    content: open-quote;
}
<a href="http://www.google.com"> Google</a> <br>
<a href="http://www.amazon.com">Amazon</a>  <br>
<a href="http://www.google.com"> Google</a> <br>
<a href="http://www.amazon.com">Amazon</a>

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.