ফোকাস এবং: সক্রিয় মধ্যে পার্থক্য কি?


উত্তর:


413

:focusএবং :activeদুটি পৃথক রাষ্ট্র।

  • :focus যখন উপাদানটি বর্তমানে ইনপুট গ্রহণের জন্য নির্বাচিত হয় এবং তখন রাষ্ট্রটির প্রতিনিধিত্ব করে
  • :active যখন উপাদানটি বর্তমানে ব্যবহারকারী দ্বারা সক্রিয় করা হচ্ছে তখন রাষ্ট্রটির প্রতিনিধিত্ব করে।

উদাহরণস্বরূপ বলা যাক আমাদের একটি আছে <button>। এর সাথে আর <button>কোনও রাজ্য শুরু হবে না। এটি সবেমাত্র বিদ্যমান। যদি আমরা Tab"ফোকাস" দিতে ব্যবহার করি তবে <button>এটি এখন তার :focusরাজ্যে প্রবেশ করে । আপনি যদি ক্লিক করেন (বা টিপুন space), আপনি তারপরে বোতামটি তার ( :active) অবস্থায় প্রবেশ করুন ।

এই নোটটিতে, আপনি যখন কোনও উপাদানটিতে ক্লিক করেন, আপনি এটিকে ফোকাস দেন, যা মায়াও চাষ করে :focusএবং :activeএটি একই। তারা একই নয়। ক্লিক করা হলে বোতামটি :focus:activeঅবস্থায় থাকে।

একটি উদাহরণ:

<style type="text/css">
  button { font-weight: normal; color: black; }
  button:focus { color: red; }
  button:active { font-weight: bold; }
</style>
  
<button>
  When clicked, my text turns red AND bold!<br />
  But not when focused only,<br />
 where my text just turns red
</button>

সম্পাদনা: jsfiddle


2
এছাড়াও মনে রাখবেন যে বিভ্রান্তিকরভাবে নামকরণ করা document.activeElementসম্পত্তিটি ব্যবহার করে আপনি কেন্দ্রীভূত উপাদানটি পেতে পারেন , যদিও এটি চেষ্টা করে ধরা দরকার কারণ আইই 8 ব্যতিক্রম ছুঁড়ে ফেলতে পারে। এবং সচেতন থাকুন যে ব্রাউজারগুলির পুরানো সংস্করণগুলি আচরণ করতে পারে: সক্রিয় এবং: আলাদাভাবে ফোকাস করুন। function activeElement() { try { return document.activeElement; /* can get exeption in IE8 */ } catch(e) { } }
রোবোক্যাট

6
আমি এখানে আপনার উদাহরণের একটি জেএসফিডেল তৈরি করেছি: jsfiddle.net/NCwvj ক্রোমে টেস্টিং ( ভি 24 ) আমি লক্ষ্য করেছি যে বোতামটি ক্লিক করা কেবলমাত্র :activeরাষ্ট্রকেই আহবান করে
জাকি আজিজ

3
নীট: ফোকাসের ক্রম এবং সক্রিয় ক্রমটি এইচটিএমএল বোতামের স্থিতিকে প্রভাবিত করে: যদি না থাকে: সক্রিয়: ফোকাস রাষ্ট্র - পুটিং: সক্রিয় রাষ্ট্রের পরে: ফোকাস, আমি ট্যাবটি আঘাত করলে এবং স্পেসে আঘাত করলে সক্রিয় পরিবর্তনগুলি পাই। যদি: ফোকাস শেষ হয়, আমি কখনই সক্রিয় রাষ্ট্রটি দেখতে পাই না।
ম্যাট গন্ট 18

@ গন্টফ্রেস, আপনি কোন ব্রাউজারটি ব্যবহার করছেন? ক্রোমে, আপনার focusএবং activeঘোষণার ক্রম কোনও ব্যাপার নয়। এটি কেবল তখনই গুরুত্বপূর্ণ যখন তারা একে অপরের সাথে বিরোধিতা করে যেমন উদাহরণস্বরূপ color:redএবং color:blue(তারপরে একটি জিতেছে)।
পেসারিয়ার 14

সম্পর্কিত প্রশ্ন এবং উত্তর, এটির উপর ভিত্তি করে: stackoverflow.com/a/48597351/5587480 । আমার দৃষ্টিকোণ থেকে, বুঝতে খুব সহজ
জন সিজে

59
:active       Adds a style to an element that is activated
:focus        Adds a style to an element that has keyboard input focus
:hover        Adds a style to an element when you mouse over it
:lang         Adds a style to an element with a specific lang attribute
:link         Adds a style to an unvisited link
:visited      Adds a style to a visited link

সূত্র: সিএসএস সিউডো-ক্লাস


10
সম্পর্কিত থাকা সত্ত্বেও, এই প্রশ্নের উত্তর দেয় না
গ্রেগর ওয়েবার

6
@ গ্রেগর ওয়েবার এটি সংজ্ঞা দেখিয়ে পার্থক্য প্রকাশ করেছে
কামিল কিয়েসজেউসকি

1
আপনি সম্ভবত এটি জানেন, তবে আপনি যদি সেই ক্রমে তাদের সংজ্ঞায়িত করেন তবে visitedআড়াল বা ক্লিক করার সময় লিঙ্কগুলি স্টাইল পরিবর্তন করবে না কারণ তাদের "পরিদর্শন" অন্যান্য সিউডো-শ্রেণীর উপরের লিখিত হবে। LVHFA হ'ল আদেশ বেশিরভাগ ক্ষেত্রেই ব্যবহার করতে চায়। আপনি কেন অন্তর্ভুক্ত ছিলেন তা নিশ্চিত নন lang...
মানসিকবিদ

22

চারটি মামলা রয়েছে।

  1. ডিফল্টরূপে, সক্রিয় এবং ফোকাস উভয় বন্ধ are
  2. যখন আপনি ফোকাসযোগ্য উপাদানগুলির মাধ্যমে চক্রটিতে ট্যাব করেন তখন তারা প্রবেশ করবে (সক্রিয় ছাড়া)।:focus
  3. আপনি যখন কোনও ফোকাসযোগ্য উপাদানটিতে ক্লিক করেন , এটি প্রবেশ করে (ফোকাস ছাড়াই)।:active
  4. আপনি যখন ফোকাসযোগ্য উপাদানটিতে ক্লিক করেন এটি প্রবেশ করে (সক্রিয় এবং একযোগে ফোকাস)।:active:focus

উদাহরণ:

<div>
  I cannot be focused.
</div>

<div tabindex="0">
  I am focusable.
</div>

div:focus {
  background: green;
}

div:active {
  color: orange;
}

div:focus:active {
  font-weight: bold;
}

পৃষ্ঠাটি লোড হয়ে গেলে উভয় ক্ষেত্রেই ১ থাকে। আপনি যখন ট্যাব টিপবেন তখন আপনি দ্বিতীয় ডিভকে ফোকাস করবেন এবং এটি কেসটি প্রদর্শন করবেন 2 আপনি যখন প্রথম ডিভের উপর ক্লিক করেন তখন আপনি কেসটি দেখেন When যখন আপনি দ্বিতীয় ডিভিতে ক্লিক করেন, আপনি কেস 4 দেখতে পাবেন ।


কোনও উপাদান ফোকাসযোগ্য কিনা তা অন্য প্রশ্ন । বেশিরভাগ ডিফল্টরূপে হয় না। কিন্তু, এটা অনুমান করা নিরাপদ <a>, <input>, <textarea>ডিফল্টরূপে focusable হয়।


উপাদানগুলি কীভাবে থাকতে পারে :activeতবে কী না তা নির্দেশ করার জন্য ধন্যবাদ :focus। অন্য একটি উত্তর যে সম্বোধন করে না সে সম্পর্কে আমি বিভ্রান্ত হয়ে পড়েছিলাম।
বি-স্টুয়ার্ট

6

: ফোকাস হ'ল যখন কোনও উপাদান ইনপুট গ্রহণ করতে সক্ষম হয় - একটি ইনপুট বাক্সে কার্সার বা একটি লিঙ্ক যা ট্যাবড করা হয়েছে।

: সক্রিয় তখন হয় যখন কোনও উপাদান কোনও ব্যবহারকারী দ্বারা সক্রিয় করা হয় - যখন ব্যবহারকারী কোনও মাউস বোতাম টিপায় এবং তারপরে ছেড়ে দেয় তার মধ্যে সময়।


2
ওহে! "বর্তমানে ক্লিক করা" জন্য একটি রাষ্ট্র আছে? বলুন যে এনএভি মেনুতে তিনটি লিঙ্ক রয়েছে, আপনি লিঙ্কটি "চালু" থাকাকালীন কোনও নির্দিষ্ট রঙ রাখতে এটি কীভাবে পাবেন? ব্যবহারকারীকে বর্তমানে তিনি কোথায় আছেন তা দেখাতে। হিসাবে: সক্রিয় কেবলমাত্র ততক্ষণ কাজ করে যতক্ষণ লিঙ্কটি (এই ক্ষেত্রে) ক্লিক করা হচ্ছে, তবে মাউস বোতাম-রিলিজটিতে ফিরে আসে।
কিজার ইয়াকুজা

0

ব্যবহারকারী সেই পয়েন্টটি সক্রিয় করার সময় অ্যাক্টিভ হয় (মাউস ক্লিকের মতো, যদি আমরা ফিল্ড-টু-ফিল্ড থেকে ট্যাব ব্যবহার করি তবে সক্রিয় শৈলীর কোনও চিহ্ন নেই Maybe পয়েন্টটি সক্রিয় করা হয়েছে। এটা চেষ্টা কর :

<style type="text/css">
  input { font-weight: normal; color: black; }
  input:focus { color: green; outline: 1px solid green; }
  input:active { color: red; outline: 1px solid red; }
</style>

<input type="text"/>
<input type="text"/>

-3

ফোকাস কেবল কীবোর্ড ইনপুট দ্বারা দেওয়া যেতে পারে, তবে একটি উপাদান একটি মাউস বা কীবোর্ড উভয় দ্বারা সক্রিয় করা যেতে পারে।

যদি কোনওটি ব্যবহার করে: কোনও লিঙ্কে ফোকাস করুন, শৈলীর নিয়ম কেবল কীবোর্ডে একটি বোটন টিপে প্রয়োগ করা হবে।


1
:focusযে মত কাজ করে না। আমি বর্তমানে যে পাঠ্য টাইপ করছি তাতে ফোকাস রয়েছে কারণ আমি একটি বোতাম ক্লিক করেছি। এটি এটিকে আবার বাইরে এনে ফোকাস হারাতে এবং পুনরুদ্ধার করতে পারে। মাত্র এক সেকেন্ডের মধ্যে, আমি ক্লিক করে ডানদিকে মন্তব্য যুক্ত করুন বোতামটিতে ফোকাস দিতে যাচ্ছি। এই সমস্ত কিবোর্ড ইনপুট ছাড়াই ফোকাস সৃষ্টি করে।
জোয়েল মেলন 21

যদি আপনার কোনও লিঙ্কটিতে ফোকাস না থাকে তবে এটি কেবলমাত্র কোনও কারণ হিসাবে কোনও লিঙ্কটি নোঙ্গর করা না থাকলে, বা আপনি একটি ট্যাবডেক্স বৈশিষ্ট্য যুক্ত না করে ফোকাস করা যায় না। তবে আপনি ডিওএম উপাদানগুলি যেমন ডিভস বা ইনপুটগুলিকে ফোকাস করতে পারেন।
অ্যালেক্স

-5

"ফোকাস" ব্যবহার করা কীবোর্ড ব্যবহারকারীদের মাউস ব্যবহারকারীরা যখন মাউস নিয়ে ঘোরাফেরা করে তখন একই প্রভাব দেয়। ইন্টারনেট এক্সপ্লোরারে একই প্রভাব পেতে "অ্যাকটিভ" দরকার।

বাস্তবতা হ'ল, এই রাজ্যগুলি সমস্ত ব্যবহারকারীর মতো তাদের কাজ করে না। তিনটি নির্বাচকই ব্যবহার না করা কেবলমাত্র অনেকগুলি কীবোর্ড ব্যবহারকারীদের জন্য অ্যাক্সেসযোগ্যতার সমস্যা তৈরি করে যারা শারীরিকভাবে মাউস ব্যবহার করতে অক্ষম। আমি আপনাকে # বাসা চ্যালেঞ্জ গ্রহণের জন্য আমন্ত্রণ জানাই (নমস ডট org)।


1
: হোভার এবং: ফোকাস একই জিনিস নয়। : হোভার একটি নির্দিষ্ট রাষ্ট্র এবং: ফোকাস একটি নির্দিষ্ট রাষ্ট্র। এগুলিকে সমীকরণ করতে এটি কিছুটা বিভ্রান্তিকর এবং বিভ্রান্তিকর।
গ্যারি পোলি

1
আমি আপনার দক্ষতার সন্দেহ করছি না। আমি এটি উল্লেখ করার চেষ্টা করছি: হোভার এবং: সক্রিয় একই জিনিস নয়। এবং এটি ওয়েবের থেকে নতুন এবং অ্যাক্সেসযোগ্যতার জন্য লোকদের জন্য বিভ্রান্ত হয় যখন এটিকে সহজভাবে বলা হয়: কীবোর্ডের ব্যবহারের জন্য হোভার প্রায় সমান: সমান। আমি উত্তরটি প্রশংসা করি, তবে সম্ভবত আরও কিছু গভীরতা সাহায্য করবে?
গ্যারি পোলি

অবশ্যই তারা একই জিনিস নয়! আমি বলিনি যে তারা প্রায় একই ছিল। (দয়া করে আমার পোস্টগুলি আবার পড়ুন)) আমি একই কাজটি সম্পাদন করতে মাউস ব্যবহার এবং একটি কীবোর্ড ব্যবহার করার মধ্যে পার্থক্য সম্পর্কে কথা বলছি। আমি বলছি উভয় সেট ব্যবহারকারীদের একই অভিজ্ঞতা দেওয়ার জন্য আপনাকে সেগুলি সবই ব্যবহার করতে হবে। অন্যথায় কেবল কীবোর্ডের ব্যবহারকারীরা যাঁরা শারীরিকভাবে মাউস ব্যবহার করতে অক্ষম তারা কোনও পৃষ্ঠায় কোথায় ট্যাবড করেছেন তা দেখতে অসুবিধা হবে। এটি পৃষ্ঠাতে নেভিগেট করার ক্ষেত্রে এই লোকেদের জন্য একটি অ্যাক্সেসযোগ্যতার সমস্যা তৈরি করে।
এএমজি
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.