কেন কেবল প্রথম উপাদানটির জন্য ডাবল উদ্ধৃতি প্রদর্শিত হবে?


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নেই খুলতে একটি উদ্ধৃতি। এটি একটি ডাবল-উদ্ধৃতি চরিত্রের উল্লেখ করে না।
বার্গি

4
ইন্টারনেট এক্সপ্লোরার 11-এ, তারা উভয়ই ডাবল উন্মুক্ত উদ্ধৃতি।

উত্তর:


137

আপনার উন্মুক্ত উদ্ধৃতিগুলি সমাপ্ত হয় না, তাই ব্রাউজারটি "স্মার্ট" ধারণাটি তৈরি করে যে আপনি আপনার উদ্ধৃতিগুলি বাসাতে চলেছেন, ফলস্বরূপ প্রথম উপাদানটির জন্য দ্বিগুণ বহিরাগত উদ্ধৃতি এবং দ্বিতীয়টির জন্য একক অভ্যন্তরীণ উক্তি পাওয়া যাবে। নেস্টেড কোটেশনে উদ্ধৃতি বিরামচিহ্নগুলি এভাবে কাজ করে। উইকিপিডিয়া এবং এতে নেস্টেড উদ্ধৃতিগুলির উল্লেখ দেখুন ।

উল্লেখযোগ্যভাবে, উপাদানগুলির সীমানা উপেক্ষা করা হয়, সুতরাং আপনার দ্বিতীয় উপাদানটি আরও গভীরভাবে বাসা বাঁধার পরেও বা যদি উভয় উপাদান তাদের নিজস্ব অভিভাবক উপাদানগুলিতে বাসা বেঁধে রাখে তা বিবেচনা করে না, এটি এখনও একইভাবে কাজ করবে, যা এটি অনুচ্ছেদে বিশেষত কার্যকর করে তোলে বিভিন্ন ধরণের এবং বাচনভঙ্গীর উপরে নির্ভর উপাদানের সমন্বয় (ধারণ a, br, code, em, span, strong, ইত্যাদি, সেইসাথে qনিজেই)। কিভাবে কোট নেস্টেড হয় সংখ্যার উপর নির্ভর করে open-quotes এবং close-quoteগুলি ঐ সময়ের মধ্যে যেকোনো সময় উত্পন্ন হয়েছে এবং অ্যালগোরিদমের মধ্যে বিস্তারিত হয় CSS 2 বৈশিষ্ট বিভাগে 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>

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.