: неодређено - ЦСС-трикови

Anonim

:indeterminateје селектор псеудо-класе у ЦСС-у који је именован за стање које није ни означено ни одзначено. То је оно међупросторно стање које бисмо могли размотрити као „Можда“ између „Да“ и „Не“ опција. Држава није у потпуности одређена, па отуда и назив: неодређена.

Неодређена поља за потврду

Најчешће место које бисмо могли видети у игри су поља за потврду у облику:

Неодредити као треће стање поља за потврду

Постоји неколико необичних ствари у вези :indeterminateса пољима за потврду које вреди напоменути пре него што истражите како се то може одабрати у ЦСС-у.

Не може се подесити у ХТМЛ-у

Прво, не постоји начин за постављање поља за потврду у неодређено стање у ХТМЛ-у. У горњем уводном примеру, могли смо да поставимо на друго поље за потврду изричито изговарајући то у ХТМЛ-у.

 

Логично је претпоставити да бисмо то могли учинити и са неодређеним стањем:

 

Али, нажалост, то није случај, па немојте користити тај последњи пример у свом коду.

У време писања овог текста, Јавасцрипт је једино средство за постављање неодређеног стања у поље за потврду. Један од начина да се то уради је да означите одређено поље за потврду према ИД-у:

var checkbox = document.getElementById("some-checkbox"); checkbox.indeterminate = true;

Ограничење горњег примера је да поље за потврду никада не може да се врати у неодређено стање када се пређе у друго стање. Уместо тога, можемо ротирати између проверених, непроверених и неодређених стања:

 
function toggle(demo) ( if (demo.readOnly) demo.checked=demo.readOnly=false; else if (!demo.checked) demo.readOnly=demo.indeterminate=true; )

Погледајте поља за потврду Ротате Пен Ротате, Геофф Грахам (@геоффграхам) на ЦодеПен-у.

То је чисто визуелно стање

Поље за потврду и даље броји само да ли је означено или не, без обзира да ли смо активирали неодређено стање. Другим речима, неодређено маскира стварну вредност поља за потврду и не рачуна се као сопствена вредност.

Подразумевани изглед је недоследан у свим прегледачима

Попут нумеричких уноса, неодређено стање се не обликује доследно у сваком прегледачу.

Поређење како се неодређено приказује у неколико различитих прегледача

Све у свему, овде је подршка за неодређене оквире за потврду.

Подаци о подршци за прегледач су од компаније Цаниусе, која садржи више детаља. Број указује на то да прегледач подржава функцију у тој верзији и новијој.

Десктоп

Хром Фирефок ИЕ Ивица Сафари
28 3.6 6 12 6

Мобиле / Таблет

Андроид Цхроме Андроид Фирефок Андроид иОС Сафари
88 85 4.4 12.2-12.4

Неодређени радио тастери

:indeterminate се може применити на радио дугмад на нивоу групе, где се сматра да је читава група у неодређеном стању ако није изабрана ниједна опција.

Погледајте радио дугмад Неодређена оловка, Геофф Грахам (@геоффграхам) на ЦодеПен-у.

Треба да приметимо да коришћење :indeterminateможда није најбољи избор што се тиче корисничког искуства.

Неодређени тракови напретка

Такође се можемо применити :indeterminateна елемент где ниједна вредност није изричито постављена у ХТМЛ-у. Нема потребе за Јавасцриптом, али обликовање елемента је само по себи незгодна ствар која захтева пуно рада и разматрања ради доследности више прегледача.

Погледајте елемент неодређеног напретка оловке, Геофф Грахам (@геоффграхам) на ЦодеПен.

Подршка прегледача

Подаци о подршци за прегледач су од компаније Цаниусе, која садржи више детаља. Број указује на то да прегледач подржава функцију у тој верзији и новијој.

Десктоп

Хром Фирефок ИЕ Ивица Сафари
39 51 11 79 10.1

Мобиле / Таблет

Андроид Цхроме Андроид Фирефок Андроид иОС Сафари
88 85 81 10.3

Више информација

  • ЦСС Селецторс Левел 4 Радна скица
  • Неодређена поља за потврду
  • Неодређени радио тастери
  • ХТМЛ5 елемент напретка