লুকানো অ্যাট্রিবিউট (এইচটিএমএল 5) এবং ডিসপ্লে: কোনও নিয়ম (সিএসএস) এর মধ্যে পার্থক্য কী?


110

এইচটিএমএল 5 এর একটি নতুন গ্লোবাল অ্যাট্রিবিউট রয়েছে hidden, যা সামগ্রী লুকিয়ে রাখতে ব্যবহার করা যেতে পারে।

<article hidden>
   <h2>Article #1</h2>
   <p>Lorem ipsum ...</p>
</article>

সিএসএসের display:noneনিয়ম রয়েছে, যা সামগ্রী লুকানোর জন্যও ব্যবহার করা যেতে পারে।

article { display:none; }

দৃশ্যত, তারা অভিন্ন। শব্দার্থগতভাবে পার্থক্য কী? গণনা?

একটি বা অন্য ব্যবহার করার সময় আমার কোন নির্দেশিকা বিবেচনা করা উচিত?

টিয়া।

সম্পাদনা : @ নিউট্রনের প্রতিক্রিয়াগুলির ভিত্তিতে (নীচে), আমি আরও অনুসন্ধান করেছি। hiddenঅ্যাট্রিবিউট ঘিরে গত বছরের প্রতিদ্বন্দ্বিতা করা হয় এবং (দৃশ্যত) সবে এটা HTML5 এর বৈশিষ্ট মধ্যে তৈরি। কেউ কেউ যুক্তি দিয়েছিলেন যে এটি অপ্রয়োজনীয় এবং এর কোনও উদ্দেশ্য ছিল না। আমি যা বলতে পারি তা থেকে চূড়ান্ত মূল্যায়নটি হ'ল: আমি যদি কেবল ওয়েব ব্রাউজারগুলিকে লক্ষ্য করে থাকি তবে কোনও পার্থক্য নেই। (একটি পৃষ্ঠা এমনকি জোর দিয়েছিল যে ওয়েব ব্রাউজারগুলি display:noneগোপন বৈশিষ্ট্য প্রয়োগ করতে ব্যবহার করে)) তবে আমি যদি অ্যাক্সেসযোগ্যতার বিষয়টি বিবেচনা করি (উদাহরণস্বরূপ, সম্ভবত আমি আমার সামগ্রীটি স্ক্রিন-পাঠকদের দ্বারা পড়ার আশা করি), তবে তার মধ্যে একটি পার্থক্য রয়েছে। সিএসএস বিধি display:noneআমার সামগ্রীগুলি ওয়েব ব্রাউজারগুলি থেকে আড়াল করতে পারে তবে সম্পর্কিত আরিয়া বিধি (যেমন,aria-hidden="false") এটি পড়ার চেষ্টা করতে পারে। সুতরাং, আমি এখন সম্মত হয়েছি যে @ নিউট্রনের উত্তর সঠিক, যদিও সম্ভবত (যুক্তিযুক্ত) আমার পছন্দ মত পরিষ্কার নয়। আপনার সহায়তার জন্য @ নিউট্রন ধন্যবাদ


4
hiddenবৈশিষ্ট্যটি বিদ্যমান রয়েছে তাও জানতেন না তবে এটি কাঠামো / উপস্থাপনা বিচ্ছিন্নতা লঙ্ঘন করে বলে মনে হচ্ছে অবশ্যই একটি ভাল প্রশ্ন।
ওয়ালধেঞ্জ

যারা এখনও এই বৈশিষ্ট্যটিতে এইচটিএমএল 5 টি পড়ার আনন্দ পাননি তাদের জন্য: w3.org/TR/html5/editing.html#thehided-attribute
james.garriss


ইতিমধ্যে এটি পড়ুন, @ ইয়িগিট। এটি এক বছরেরও বেশি পুরনো। এবং লুকানো এখনও চশমা আছে। এটি আমার কাছে ইঙ্গিত করবে যে প্রস্তাবটি কোনও রূপান্তর জিতেনি।
james.garriss

সম্পাদনার জন্য ধন্যবাদ। দুঃখিত এটি পরিষ্কার ছিল না! উপরে আপনি যে তথ্য যোগ করেছেন তা দুর্দান্ত। +1
নিউট্রন

উত্তর:


63

মূল পার্থক্যটি মনে হয় যে hiddenউপস্থাপনা নির্বিশেষে উপাদানগুলি সর্বদা লুকিয়ে থাকে:

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

http://dev.w3.org/html5/spec/Overview.html#the-hidden-attribute

সিএসএস যেহেতু বিভিন্ন মিডিয়া / উপস্থাপনার ধরণের display: noneলক্ষ্যবস্তু করতে পারে তাই একটি প্রদত্ত উপস্থাপনার উপর নির্ভর করবে। যেমন কোনও display: noneডেস্কটপ ব্রাউজারে দেখার সময় কিছু উপাদান থাকতে পারে তবে মোবাইল ব্রাউজারটি নয়। অথবা, চাক্ষুষভাবে লুকানো থাকুন তবে স্ক্রিন-রিডারের কাছে এখনও উপলভ্য।


1
সুতরাং আপনি বলছেন যে লুকানো ট্রাম্প প্রদর্শন? যদি তা হয়, তবে আপনি বলছেন যে এর উদ্দেশ্যটি কেবল উপস্থাপনাটিকে ওভাররাইড করা। হুম।
james.garriss

1
আমার অনুমান যে হ্যাঁ, লুকানো ট্রাম্প প্রদর্শন। কিন্তু, আমি আসলে এটি নিয়ে পরীক্ষা নিরীক্ষা করি নি। এটি CSS টি ওভাররাইড করতে পারলে এটি অর্থহীন বলে মনে হবে।
নিউট্রন

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

6
বিকাশকারী.মোজিলা.আর.জি.আজ.ইউজিলা.আর / অনুযায়ী- ইউএস / ডকস / ওয়েব / এইচটিএমএল / গ্লোবাল_অ্যাট্রিবিউটস / এর মতে এখানে কিছু মন্তব্যের সাথে সম্পর্কিত (@ জেমস-গ্যারিস, @ নিউট্রন), সম্পর্কিত চিত্রগুলি লুকিয়ে রয়েছে - যান চিত্র :-)
জুরকো গসপডনেটিć

2
লুকানো অ্যাট্রিবিউটের জন্য আমি এমডিএন পৃষ্ঠায় একটি গুরুত্বপূর্ণ পার্থক্য চিহ্নিত করেছি: "লুকানো অ্যাট্রিবিউটের সাহায্যে কোনও উপাদানটিতে সিএসএস প্রদর্শন বৈশিষ্ট্যের মান পরিবর্তন করা আচরণকে ওভাররাইড করে instance উদাহরণস্বরূপ, উপাদানগুলির স্টাইলড প্রদর্শন: লুকানো বৈশিষ্ট্যের উপস্থিতি সত্ত্বেও ফ্লেক্স প্রদর্শিত হবে।"
মোহসিনুলহাক
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.