বিকল্প 1: :focus-visible
সিউডো-ক্লাস ব্যবহার করুন
:focus-visible
সিউডো-শ্রেণী (, স্পর্শ বা মাউস ক্লিকের মাধ্যমে বড়) কুদর্শন প্রান্তরেখা হত্যা করে এবং ব্যবহারকারীদের কীবোর্ড মাধ্যমে নেভিগেট হয় না জন্য বোতাম এবং বিভিন্ন উপাদানে রিং ফোকাস ব্যবহার করা যাবে।
/**
* The default focus style is likely provided by Bootstrap or the browser
* but here we override everything else with a visually appealing cross-
* browser solution that works well on all focusable page elements
* including buttons, links, inputs, textareas, and selects.
*/
*:focus {
outline: 0 !important;
box-shadow:
0 0 0 .2rem #fff, /* use site bg color to create whitespace for faux focus ring */
0 0 0 .35rem #069 !important; /* faux focus ring color */
}
/**
* Undo the above focused button styles when the element received focus
* via mouse click or touch, but not keyboard navigation.
*/
*:focus:not(:focus-visible) {
outline: 0 !important;
box-shadow: none !important;
}
সতর্কতা: 2020 সালের হিসাবে, :focus-visible
সিউডো-শ্রেণি ব্রাউজারগুলিতে বহুলভাবে সমর্থিত নয় । তবে পলিফিল ব্যবহার করা খুব সহজ; নীচের নির্দেশাবলী দেখুন।
বিকল্প 2: .focus-visible
পলিফিল ব্যবহার করুন
এই সমাধানটিতে উপরে উল্লিখিত সিউডো-ক্লাসের পরিবর্তে একটি সাধারণ সিএসএস ক্লাস ব্যবহার করা হয়েছে এবং এতে ব্রাউজারের ব্যাপক সমর্থন রয়েছে কারণ এটি একটি সরকারী জাভাস্ক্রিপ্ট-ভিত্তিক পলিফিল ।
পদক্ষেপ 1: আপনার HTML পৃষ্ঠায় জাভাস্ক্রিপ্ট নির্ভরতা যুক্ত করুন
দ্রষ্টব্য: ফোকাস-দৃশ্যমান পলফিলের জন্য ক্লাসলিস্ট সমর্থন করে না এমন বেশ কয়েকটি পুরানো ব্রাউজারগুলির জন্য একটি অতিরিক্ত পলিফিল প্রয়োজন :
<!-- place this code just before the closing </html> tag -->
<script src="https://cdn.polyfill.io/v2/polyfill.js?features=Element.prototype.classList"></script>
<script src="https://unpkg.com/focus-visible"></script>
পদক্ষেপ 2: আপনার স্টাইলশিটে নিম্নলিখিত সিএসএস যুক্ত করুন
নীচে আরও পুঙ্খানুপুঙ্খভাবে ডকুমেন্টেড সিএসএস সমাধানের একটি পরিবর্তিত সংস্করণ।
/**
* Custom cross-browser styles for keyboard :focus overrides defaults.
*/
*:focus {
outline: 0 !important;
box-shadow:
0 0 0 .2rem #fff,
0 0 0 .35rem #069 !important;
}
/**
* Remove focus styles for non-keyboard :focus.
*/
*:focus:not(.focus-visible) {
outline: 0 !important;
box-shadow: none !important;
}
পদক্ষেপ 3 (alচ্ছিক): যেখানে প্রয়োজন সেখানে 'ফোকাস-দৃশ্যমান' শ্রেণি ব্যবহার করুন
আপনার যদি এমন কোনও আইটেম থাকে যেখানে আপনি যখন কেউ ক্লিক করেন বা স্পর্শ ব্যবহার করেন তখন ফোকাস রিংটি প্রদর্শন করতে চান তবে কেবল focus-visible
ক্লাসটি ডিওএম উপাদানটিতে যুক্ত করুন।
<!-- This example uses Bootstrap classes to theme a button to appear like
a regular link, and then add a focus ring when the link is clicked --->
<button type="button" class="btn btn-text focus-visible">
Clicking me shows a focus box
</button>
সম্পদ:
ডেমো: