ПредишенСледващото

I (и, според мен, много от вас да има), не се сблъскват само с вашия Изберете несъвместимост с дизайна на сайта.
Болката е, че те не могат да бъдат стил, и във всеки браузър, те изглеждат по свой собствен начин.

Разбира се, има много решения, които се представят рамки / библиотеки (същият връзки за обувки).
Но всички те предполагат ЗСВ.
Разбира се, няма нищо лошо / лошо, но аз се опитах да се stilizuemy Изберете без JS като follbeka в случай, JS по някаква причина паузи.

избор на инструменти

Под инструментите в този контекст искам да кажа, ние ще замени изберете.
И изборът ми падна върху бутона за избор, защото на тяхната подобно поведение: можете да изберете само една опция в даден момент.

Обърнахме бутоните за избор

За изпълнение изберете желаната опция в Selecta ние трябва да се, така че той се озова в най-горната позиция в списъка.
За това, нека стойността на избрания елемент трябва да бъде поставен абсолютно (да се измъкнат от потока) и се поставя на върха:

Ние също трябва да спазва правилото, че височината на всеки елемент трябва да е равно на "свободни" места (горното поле) за избрания елемент

По-голямата част от работата - когато изберете изглежда на челни позиции.
Тя наляво, за да се погрижи за това, че в "тих" държавата може да видите само на избрания елемент, а останалата част от списъка се отваря с едно кликване, и когато кликнете на "мляко" на списъка трябва да бъдат затворени, без промяна на стойността.

Той идва на ум манипулация псевдо: фокус.
Добавете малко INPUT, която ще падне под него. Избрах [тип = текст], тъй като е възможно да се определи размера (разпределени по цялата ширина и височина) и да ги предпази водещ на избрания елемент.

За да скриете списъка падащото ще бъде ограничаване на височината и преливане: скрит:

Разбира се, на входа не трябва да се разглежда (като радио бутони, представляващи опции):

Вие трябва да използвате непрозрачност: 0; вместо езика: няма; се дължи на факта, че сринат елементи (визуално: скрит, както и), не може да бъде държавна: фокус.

мръсен хак

И когато изглеждаше, че всичко, което се оказа, че е бил изправен пред изненада, когато кликнете върху елемент от менюто, от списъка с управление на фокуса вход отива по-бързо от едно кликване се задейства по статията списък.
Това означава, че има точно същата, както когато кликнете chtoi в млякото - списъкът е просто затворен.

За да се увеличи закъснението да се скрие пусна списък, ще трябва да използвате една мръсна хак:

Ако отидем по-нататък, ние искаме да се направи по същия начин (без JS) multiselekt.
Не всеки интегратор JQuery-плъгини, като общо с JS (JQuery), а ние сме с вас, което се отправя към Иш!
Добре казано - прави, не е възможно да падне лице в калта.
Опитайте се да разберете дали това е възможно. И ако не, това е моментът, в който е невъзможно да се направи, без JS.

Това, което трябва да се промени предишния пример, за да ни изберете да се превърне в мулти?
Всеки елемент трябва да бъде в състояние да се не избират в зависимост от другите.
Очевидно е, че ние трябва да се промени върху бутона за избор на квадратчета:

Да, това не е всичко необходимо и няма инцидент, с негова помощ, ще се справят с нашия списък.

Ако ние го увийте в

. тогава ще бъде в състояние да манипулират псевдо: валиден /: невалиден.

За да се разбере това, което ние трябва да направим, е необходимо да се формулира проблемът ясно:

Нека избрания елемент ще бъде първи в списъка. На една и съща линия с него други избрани елементи.

Разположен е в горната част на списъка за избор е проста, ние ще поискаме дисплея родител: огъва и ще играе с поръчка на стойност:

Първото условие е изпълнено, и да постави всички избрани елементи на един ред, за избраните елементи питат

Voila! Той изглежда да се работи.

заключение

Не успяхме да разберете къде (в контекста на проблема), не можем да направим без JS.
Може би (само) до по-сложни примери, така да бъде.

Дублиране на връзки към примера:

Е, за тези, които не искат да се напише този "един куп маркиране" ръце незабавно вмъкват скрипт, който ще го направи вместо вас.

Добавки и други въпроси са добре дошли, без съмнение!

Свързани статии

Подкрепете проекта - споделете линка, благодаря!