Π Π°Π·Π½ΠΎΠ΅

Π’Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠΉ список js: ΠŸΠΎΠ΄Π±ΠΎΡ€ΠΊΠ° ΠΊΡ€ΡƒΡ‚Ρ‹Ρ… Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΡ… списков Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΡ… Π½Π° CSS ΠΈ JavaScript

10.05.2021

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅

Бписок Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ стилизации select | Π‘Π»ΠΎΠ³ ΠΎΠΏΡ‹Ρ‚Π½ΠΎΠ³ΠΎ вСбмастСра

Searchable Single & Multiple Select Plugin For Bootstrap 4

Π’Π°Π½ΠΈΠ»ΡŒΠ½ΠΎΠ΅ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ JavaScript для ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ Bootstrap 4, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΉ для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΡƒΠ΅ΠΌΡ‹ΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ с ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ»ΠΈ нСсколькими элСмСнтами Π²Ρ‹Π±ΠΎΡ€Π° ΠΈΠ· собствСнного элСмСнта Π²Ρ‹Π±ΠΎΡ€Π°.

ΠΊ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΡŽ ↑

Beautify Native Select Elements With JavaScript – nativejs-select

nativejs-select – это Π²Π°Π½ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ JavaScript-ΠΏΠ»Π°Π³ΠΈΠ½, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΡƒΠΊΡ€Π°ΡˆΠ°Π΅Ρ‚ собствСнныС поля Π²Ρ‹Π±ΠΎΡ€Π° с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… стилСй.

ΠΊ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΡŽ ↑

Elegant Select Element Replacement In Pure JavaScript – vanilla-select

vanilla-select – это чистый Π²Π°Π½ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ JavaScript-ΠΏΠ»Π°Π³ΠΈΠ½, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ для отобраТСния динамичСского Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰Π΅Π³ΠΎ списка / мСню с Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ поиска для Π·Π°ΠΌΠ΅Π½Ρ‹ собствСнного поля Π²Ρ‹Π±ΠΎΡ€Π°.

ΠΊ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΡŽ ↑

Elegant Multi-Select Component With Autocomplete – SelectPure

SelectPure – это Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° JavaScript (es6) для создания элСгантных элСмСнтов управлСния с ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ»ΠΈ нСсколькими элСмСнтами Π²Ρ‹Π±ΠΎΡ€Π° с ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ автозаполнСния ΠΈ динамичСского Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³Π° Π΄Π°Π½Π½Ρ‹Ρ….

ΠΊ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΡŽ ↑

Bootstrap Style Searchable Dropdown Plugin – fstdropdown

Плагин fstdropdown JavaScript ΠΏΡ€Π΅Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΉ элСмСнт select Π² Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠΉ Π²Ρ‹Π±ΠΎΡ€ Π² стилС Bootstrap с чистым JavaScript ΠΈ CSS.

Custom Single/Multi Select In Pure JavaScript – vanillaSelectBox

Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° JavaScript Vanilla, которая ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΉ элСмСнт select Π² настраиваСмый Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠΉ список с Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ поиска.

ΠΊ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΡŽ ↑

Custom Filterable Select Input In Pure JavaScript

НСбольшой скрипт для создания настраиваСмого, доступного, Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΡƒΠ΅ΠΌΠΎΠ³ΠΎ Π²Π²ΠΎΠ΄Π° Π²Ρ‹Π±ΠΎΡ€Π° ΠΈΠ· простого Π²Π²ΠΎΠ΄Π° ΠΈ элСмСнтов списка HTML.

Convert Select Box Into A Fully Styleable Dropdown List – Selectal.js

Selectal.js – это ΠΏΠ»Π°Π³ΠΈΠ½ JavaScript, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ замСняСт ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠ΅ ΠΏΠΎΠ»Π΅ Π²Ρ‹Π±ΠΎΡ€Π°, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ позволяСт простым способом ΡΡ‚ΠΈΠ»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠ΅ списки.

Плагин Ρ€Π΅ΠΉΡ‚ΠΈΠ½Π³Π° создан Π°Π²Ρ‚ΠΎΡ€ΠΎΠΌ этого Π±Π»ΠΎΠ³Π°. Π‘ΡƒΠ΄Ρƒ ΠΎΡ‡Π΅Π½ΡŒ ΠΏΡ€ΠΈΠ·Π½Π°Ρ‚Π΅Π»Π΅Π½, Ссли Π²Ρ‹ смоТСтС Π΅Π³ΠΎ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ (ссылка)

ExtJs — Javascript — ComboBox in Grid (ΠΏΠ»Π°Π³ΠΈΠ½ рСдактирования ячССк)

I have a grid with cell editing plugin on it. When i click the cell i want to edit, sometimes the dropdown list of the combo box is behind the grid/window (I can not see it, but if i modify the window size i can see the combo box items behind it).

My code looks like this (I have a window which contains this form):

items: [{
       xtype: 'form',
       items: [
       me.currentMultipleValuesGrid = Ext.create('Ext.grid.Panel', {
           store: me.gridStoreToValidate,
           plugins: [Ext.create('Ext.grid.plugin.CellEditing', {
               clicksToEdit: 1,
               delay: 10
           })],
           listeners: {
               validateedit: function (editor, cell, eOpts) {
                   //cell.cancel = true;
               }
           },
           columns: [{
               header: GTR(CLNAME(me), 'colSource.Text', 'Source'),
               dataIndex: 'source',
               flex: 1
           }, {
               dataIndex: 'name',
               header: GTR(CLNAME(me), 'colLinkDestination.
Text', 'Link destination'), editor: { xtype: 'combobox', queryMode: 'local', valueField: 'nr', displayField: 'name', store: me.comboBoxEditorStore, listeners: { change: function (thisCmb, newValue, oldValue) { }, beforerender: function (thisCmb, eOpts) { } } }, flex: 1 }, { dataIndex: 'linkdestination', hidden: true }] })] }]

I think it is a layout problem, so I tried different layouts (anchor and fit) assigned to window, grid or form, with various combinations of them. No success so far. Any ideas? Thank you. I am using Extjs 4.0.7

Π£ мСня Π΅ΡΡ‚ΡŒ сСтка с ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠΌ рСдактирования ячСйки. Когда я наТимаю ячСйку, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ я Ρ…ΠΎΡ‡Ρƒ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, ΠΈΠ½ΠΎΠ³Π΄Π° Ρ€Π°ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉΡΡ список поля со списком находится Π·Π° сСткой/ΠΎΠΊΠ½ΠΎΠΌ (я Π½Π΅ Π²ΠΈΠΆΡƒ Π΅Π³ΠΎ, Π½ΠΎ Ссли я измСняю Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΎΠΊΠ½Π°, я ΠΌΠΎΠ³Ρƒ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ элСмСнты со списком Π·Π° Π½ΠΈΠΌ).

Мой ΠΊΠΎΠ΄ выглядит ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ (Ρƒ мСня Π΅ΡΡ‚ΡŒ ΠΎΠΊΠ½ΠΎ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ содСрТит эту Ρ„ΠΎΡ€ΠΌΡƒ):

items: [{ 
    xtype: 'form', 
    items: [ 
    me.currentMultipleValuesGrid = Ext.create('Ext.grid.Panel', { 
     store: me.gridStoreToValidate, 
     plugins: [Ext.create('Ext.grid.plugin.CellEditing', { 
      clicksToEdit: 1, 
      delay: 10 
     })], 
     listeners: { 
      validateedit: function (editor, cell, eOpts) { 
       //cell.cancel = true; 
      } 
     }, 
     columns: [{ 
      header: GTR(CLNAME(me), 'colSource.Text', 'Source'), 
      dataIndex: 'source', 
      flex: 1 
     }, { 
      dataIndex: 'name', 
      header: GTR(CLNAME(me), 'colLinkDestination.Text', 'Link destination'), 
      editor: { 
       xtype: 'combobox', 
       queryMode: 'local', 
       valueField: 'nr', 
       displayField: 'name', 
       store: me.comboBoxEditorStore, 
       listeners: { 
        change: function (thisCmb, newValue, oldValue) { 

        }, 
        beforerender: function (thisCmb, eOpts) { 

        } 
       } 
      }, 
      flex: 1 
     }, { 
      dataIndex: 'linkdestination', 
      hidden: true 
     }] 
    })] 
}] 

Π― Π΄ΡƒΠΌΠ°ΡŽ, Ρ‡Ρ‚ΠΎ это ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° ΠΌΠ°ΠΊΠ΅Ρ‚Π°, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ я ΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Π» Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΌΠ°ΠΊΠ΅Ρ‚Ρ‹ (ΡΠΊΠΎΡ€ΡŒ ΠΈ ΠΏΠΎΠ΄Ρ…ΠΎΠΆΡƒ), присвоСнноС ΠΎΠΊΠ½Ρƒ, сСтки ΠΈΠ»ΠΈ Ρ„ΠΎΡ€ΠΌΡ‹, с Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ комбинациями ΠΈΠ· Π½ΠΈΡ….

Пока Π½Π΅Ρ‚ успСха. Π•ΡΡ‚ΡŒ ΠΈΠ΄Π΅ΠΈ? Бпасибо. Π― ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ Extjs 4.0.7

javascript extjs combobox grid behind4,511

Π’Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠ΅ списки Β· Bootstrap 4 Π½Π° русском

ΠŸΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°ΠΉΡ‚Π΅ контСкстныС ΠΎΠ²Π΅Ρ€Π»Π΅ΠΈ для отобраТСния списков ссылок ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ³ΠΎ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ модуля Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΡ… мСню Bootstrap.

ΠžΠ±Π·ΠΎΡ€

Π’Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠ΅ списки — это ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌΡ‹Π΅, контСкстныС элСмСнты повСрхностного налоТСния для отобраТСния списков ссылок ΠΈ Ρ‚.ΠΏ. Они ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ благодаря ΠΏΠ»Π°Π³ΠΈΠ½Ρƒ JavaScript. Π€ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ toggle Π² Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΡ… элСмСнтах запускаСтся ΠΏΠΎ ΠΊΠ»ΠΈΠΊΡƒ, Π° Π½Π΅ ΠΏΠΎ навСдСнию – это сдСлано ΡƒΠΌΡ‹ΡˆΠ»Π΅Π½Π½ΠΎ.

Π’Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠ΅ списки построСны Π½Π° стороннСй Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅ Popper.js, которая обСспСчиваСт динамичСскоС ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° ΠΎΠΊΠ½Π° просмотра. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ popper.min.js ΠΏΠ΅Ρ€Π΅Π΄ JavaScript Bootstrap ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅

bootstrap.bundle.min.js / bootstrap. bundle.js, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ содСрТит Popper.js.

Если Π²Ρ‹ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅Ρ‚Π΅ наши JS Ρ„Π°ΠΉΠ»Ρ‹, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌ util.js.

Π”ΠΎΡΡ‚ΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ

Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚ WAI ARIA описываСт ΠΈ опрСдСляСт Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ role="menu" ΠΊΠ°ΠΊ настоящий Π²ΠΈΠ΄ΠΆΠ΅Ρ‚, Π½ΠΎ лишь для мСню ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Π·Π°ΠΏΡƒΡΠΊΠ°ΡŽΡ‰ΠΈΡ… дСйствия ΠΈΠ»ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. МСню

ARIA ΠΌΠΎΠ³ΡƒΡ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ лишь ΠΏΡƒΠ½ΠΊΡ‚Ρ‹ мСню, чСкбоксы, Ρ€Π°Π΄ΠΈΠΎ-ΠΊΠ½ΠΎΠΏΠΊΠΈ, Π³Ρ€ΡƒΠΏΠΏΡ‹ Ρ€Π°Π΄ΠΈΠΎ-ΠΊΠ½ΠΎΠΏΠΎΠΊ ΠΈ подмСню.

Π’Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠ΅ списки Bootstrap, с Π΄Ρ€ΡƒΠ³ΠΎΠΉ стороны, спроСктированы для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ мноТСства Π·Π°Π΄Π°Ρ‡ ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π² Ρ€Π°Π·Π½Ρ‹Ρ… структурах Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΠΈ. НапримСр, ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠ΅ списки, содСрТащиС Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля Π²Π²ΠΎΠ΄Π° ΠΈ элСмСнты контроля Ρ„ΠΎΡ€ΠΌ, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ поиск ΠΈΠ»ΠΈ ΠΏΠΎΠ»Π΅ Π²Π²ΠΎΠ΄Π° Π»ΠΎΠ³ΠΈΠ½Π°. По этой ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π΅ Bootstrap Π½Π΅ ΠΎΠΆΠΈΠ΄Π°Π΅Ρ‚ (ΠΈ Π½Π΅ добавляСт автоматичСски) Π½ΠΈ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ² (role ΠΈ aria-), Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… для мСню согласно стандарту ARIA.

Однако Bootstrap всСгда добавляСт Π²ΡΡ‚Ρ€ΠΎΠ΅Π½Π½ΡƒΡŽ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ для Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° стандартных взаимодСйствий мСню ΠΈ ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π΄Π²ΠΈΠ³Π°Ρ‚ΡŒΡΡ Ρ‡Π΅Ρ€Π΅Π· ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ элСмСнты класса .dropdown-item ΠΊΠ½ΠΎΠΏΠΊΠ°ΠΌΠΈ курсора Π½Π° ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Π΅ ΠΈ Π·Π°ΠΊΡ€Ρ‹Π²Π°Ρ‚ΡŒ мСню ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ESC.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹

ΠžΠ±Π΅Ρ€Π½ΠΈΡ‚Π΅ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ элСмСнт Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰Π΅Π³ΠΎ элСмСнта ΠΈ Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰Π΅Π΅ мСню классом .dropdown ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠΌ элСмСнтом с position: relative;. ΠŸΡ€ΠΈ нСобходимости Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠ΅ списки ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ ΠΈΠ· элСмСнтов <a> ΠΈΠ»ΠΈ <button>.

Π’Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠ΅ списки ΠΎΠ΄ΠΈΠ½Π°Ρ€Π½Ρ‹Ρ… ΠΊΠ½ΠΎΠΏΠΎΠΊ

Π›ΡŽΠ±ΡƒΡŽ ΠΎΠ΄ΠΈΠ½Π°Ρ€Π½ΡƒΡŽ ΠΊΠ½ΠΎΠΏΠΊΡƒ .btn ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€Π΅Π²Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ Π² ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ элСмСнт (ΠΊΠ½ΠΎΠΏΠΊΠ° открытия\скрытия) ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΠΈ. Π’ΠΎΡ‚ ΠΊΠ°ΠΊ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ это ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ‚Π°ΠΊΠΆΠ΅ ΠΈ с элСмСнтами

<button>:

<div>
  <button type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
    Кнопка Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰Π΅Π³ΠΎ списка
  </button>
  <div aria-labelledby="dropdownMenuButton">
    <a href="#">Action</a>
    <a href="#">Another action</a>
    <a href="#">Something else here</a>
  </div>
</div>

А Π²ΠΎΡ‚ Ρ‚Π°ΠΊ — с <a> элСмСнтами:

<div>
  <a href="#" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
    Π’Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰Π°Ρ ссылка
  </a>

  <div aria-labelledby="dropdownMenuLink">
    <a href="#">Action</a>
    <a href="#">Another action</a>
    <a href="#">Something else here</a>
  </div>
</div>

Π‘Π°ΠΌΠΎΠ΅ Π·Π°Π±Π°Π²Π½ΠΎΠ΅, Ρ‡Ρ‚ΠΎ это ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ с Π»ΡŽΠ±Ρ‹ΠΌ ΠΈΠ· Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² ΠΊΠ½ΠΎΠΏΠΎΠΊ: главная, вторичная, успСх, ΠΈΠ½Ρ„ΠΎ, ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅, ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ:

ΠŸΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅
<!-- Example single danger button -->
<div>
  <button type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
    Action
  </button>
  <div>
    <a href="#">Action</a>
    <a href="#">Another action</a>
    <a href="#">Something else here</a>
    <div></div>
    <a href="#">Separated link</a>
  </div>
</div>

Π’Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠ΅ списки ΠΊΠ½ΠΎΠΏΠΎΠΊ с Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌΠΈ Π·ΠΎΠ½Π°ΠΌΠΈ

По Ρ‚Π°ΠΊΠΎΠΌΡƒ ΠΆΠ΅ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡƒ создавайтС Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠ΅ списки Π² ΠΊΠ½ΠΎΠΏΠΊΠ°Ρ… с Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌΠΈ Π·ΠΎΠ½Π°ΠΌΠΈ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΏΠΎΡ‡Ρ‚ΠΈ Ρ‚Π°ΠΊΡƒΡŽ ΠΆΠ΅ Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΡƒ, ΠΊΠ°ΠΊ Π² ΠΏΡƒΠ½ΠΊΡ‚Π΅ Π²Ρ‹ΡˆΠ΅, Π½ΠΎ с Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ класса . dropdown-toggle-split для ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ³ΠΎ отступа Π²ΠΎΠΊΡ€ΡƒΠ³ Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰Π΅Π³ΠΎ элСмСнта.

Π’ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ класс, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°Π΅Ρ‚ Π½Π° 25% Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠ°Π΄Π΄ΠΈΠ½Π³ padding

с ΠΎΠ±Π΅ΠΈΡ… сторон Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰Π΅ΠΉ Β«ΠΊΠ°Ρ€Π΅Ρ‚ΠΊΠΈΒ» ΠΈ удаляСт margin-left, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½Ρ‹ΠΉ для Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΡ… элСмСнтов ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Ρ… ΠΊΠ½ΠΎΠΏΠΎΠΊ. Π­Ρ‚ΠΈ измСнСния ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Ρ†Π΅Π½Ρ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΡƒΡŽ Β«ΠΊΠ°Ρ€Π΅Ρ‚ΠΊΡƒΒ» Π² Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠ΅ ΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‚ Π±ΠΎΠ»Π΅Π΅ подходящий Ρ€Π°Π·ΠΌΠ΅Ρ€ Π·ΠΎΠ½Ρ‹ ΠΊΠ»ΠΈΠΊΠ° Π²Π±Π»ΠΈΠ·ΠΈ Π³Π»Π°Π²Π½ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΈ.

Главная Toggle Dropdown Вторичная Toggle Dropdown УспСх Toggle Dropdown ΠŸΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ Toggle Dropdown ΠžΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ Toggle Dropdown
<!-- Example split danger button -->
<div>
  <button type="button">Action</button>
  <button type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
    <span>Toggle Dropdown</span>
  </button>
  <div>
    <a href="#">Action</a>
    <a href="#">Another action</a>
    <a href="#">Something else here</a>
    <div></div>
    <a href="#">Separated link</a>
  </div>
</div>

Π Π°Π·ΠΌΠ΅Ρ€Ρ‹

Π’Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠ΅ элСмСнты ΠΊΠ½ΠΎΠΏΠΎΠΊ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ с ΠΊΠ½ΠΎΠΏΠΊΠ°ΠΌΠΈ Π»ΡŽΠ±Ρ‹Ρ… Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠ², Π²ΠΊΠ»ΡŽΡ‡Π°Ρ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΈ ΠΊΠ½ΠΎΠΏΠΊΠΈ с Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠΌΠΈ элСмСнтами с Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌΠΈ Π·ΠΎΠ½Π°ΠΌΠΈ.

<!-- Large button groups (default and split) -->
<div>
  <button type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
    Large button
  </button>
  <div>
    ...
  </div>
</div>
<div>
  <button type="button">
    Large button
  </button>
  <button type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
    <span>Toggle Dropdown</span>
  </button>
  <div>
    ...
  </div>
</div>

<!-- Small button groups (default and split) -->
<div>
  <button type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
    Small button
  </button>
  <div>
    ...
  </div>
</div>
<div>
  <button type="button">
    Small button
  </button>
  <button type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
    <span>Toggle Dropdown</span>
  </button>
  <div>
    . ..
  </div>
</div>

НаправлСния

Π’Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠΉ Π²Π²Π΅Ρ€Ρ…

Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ класс .dropup ΠΈ Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠΉ элСмСнт Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠ°Π΄Π°Ρ‚ΡŒ Π²Π²Π΅Ρ€Ρ….

Split dropup Toggle Dropdown
<!-- Default dropup button -->
<div>
  <button type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
    Dropup
  </button>
  <div>
    <!-- Dropdown menu links -->
  </div>
</div>

<!-- Split dropup button -->
<div>
  <button type="button">
    Split dropup
  </button>
  <button type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
    <span>Toggle Dropdown</span>
  </button>
  <div>
    <!-- Dropdown menu links -->
  </div>
</div>

Π’Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠΉ Π²ΠΏΡ€Π°Π²ΠΎ

Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ класс .dropright ΠΈ Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠΉ элСмСнт Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠ°Π΄Π°Ρ‚ΡŒ Π²ΠΏΡ€Π°Π²ΠΎ.

Split dropright Toggle Dropdright
<!-- Default dropright button -->
<div>
  <button type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
    Dropright
  </button>
  <div>
    <!-- Dropdown menu links -->
  </div>
</div>

<!-- Split dropright button -->
<div>
  <button type="button">
    Split dropright
  </button>
  <button type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
    <span>Toggle Dropright</span>
  </button>
  <div>
    <!-- Dropdown menu links -->
  </div>
</div>

Π’Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠΉ Π²Π»Π΅Π²ΠΎ

Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ класс .dropleft ΠΈ Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠΉ элСмСнт Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠ°Π΄Π°Ρ‚ΡŒ Π²Π»Π΅Π²ΠΎ.

<!-- Default dropleft button -->
<div>
  <button type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
    Dropleft
  </button>
  <div>
    <!-- Dropdown menu links -->
  </div>
</div>

<!-- Split dropleft button -->
<div>
  <div role="group">
    <button type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
      <span>Toggle Dropleft</span>
    </button>
    <div>
      <!-- Dropdown menu links -->
    </div>
  </div>
  <button type="button">
    Split dropleft
  </button>
</div>

Π˜ΡΡ‚ΠΎΡ€ΠΈΡ‡Π΅ΡΠΊΠΈ содСрТимым Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΡ… элСмСнтов всСгда Π±Ρ‹Π»ΠΈ ссылки, Π½ΠΎ Bootstrap ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ» это. БСйчас Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² качСствС содСрТимого Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΡ… элСмСнтов <button>, Π° Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ <a>.

<div>
  <button type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
    Dropdown
  </button>
  <div aria-labelledby="dropdownMenu2">
    <button type="button">Action</button>
    <button type="button">Another action</button>
    <button type="button">Something else here</button>
  </div>
</div>

Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½Π΅ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Π΅ Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠ΅ элСмСнты класса .dropdown-item-text. Π‘Π²ΠΎΠ±ΠΎΠ΄Π½ΠΎ стилизуйтС ΠΈΡ… ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΌ CSS.

<div>
  <span>Dropdown item text</span>
  <a href="#">Action</a>
  <a href="#">Another action</a>
  <a href="#">Something else here</a>
</div>

АктивныС элСмСнты мСню

Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ класс . active ΠΊ элСмСнту Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰Π΅Π³ΠΎ мСню для Π΅Π³ΠΎ стилизации ΠΊΠ°ΠΊ Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ.

<div>
  <a href="#">Regular link</a>
  <a href="#">Active link</a>
  <a href="#">Another link</a>
</div>

НСактивныС элСмСнты мСню

Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ класс .disabled ΠΊ элСмСнту Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰Π΅Π³ΠΎ мСню для Π΅Π³ΠΎ стилизации ΠΊΠ°ΠΊ Π΄Π΅Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ.

<div>
  <a href="#">Regular link</a>
  <a href="#">Disabled link</a>
  <a href="#">Another link</a>
</div>

По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰Π΅Π΅ мСню автоматичСски располоТСно Π² 100% ΠΎΡ‚ Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹ ΠΈ Π½Π° Π»Π΅Π²ΠΎΠΉ сторонС родитСля. Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ класс .dropdown-menu-right ΠΊ элСмСнту класса .dropdown-menu для выравнивания Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰Π΅Π³ΠΎ мСню ΠΏΠΎ ΠΏΡ€Π°Π²ΠΎΠΉ сторонС.

Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅! Π’Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠ΅ списки ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΎΠ½ΠΈΡ€ΡƒΡŽΡ‚ΡΡ благодаря Popper. js (Π·Π° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ случаСв, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ΠΈ содСрТатся Π² navbar).

<div>
  <button type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
    Right-aligned menu
  </button>
  <div>
    <button type="button">Action</button>
    <button type="button">Another action</button>
    <button type="button">Something else here</button>
  </div>
</div>

ΠžΡ‚Π·Ρ‹Π²Ρ‡ΠΈΠ²ΠΎΠ΅ Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅

Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π°Π΄Π°ΠΏΡ‚ΠΈΠ²Π½ΠΎΠ΅ Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅, ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ динамичСскоС ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, Π΄ΠΎΠ±Π°Π²ΠΈΠ² Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ data-display="static", ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ классы Π°Π΄Π°ΠΏΡ‚ΠΈΠ²Π½Ρ‹Ρ… Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ².

Π§Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹Ρ€ΠΎΠ²Π½ΡΡ‚ΡŒ Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰Π΅Π΅ мСню Π²ΠΏΡ€Π°Π²ΠΎ с Π·Π°Π΄Π°Π½Π½ΠΎΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ останова ΠΈΠ»ΠΈ большС, Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ .dropdown-menu{-sm|-md|-lg|-xl}-right.

Left-aligned but right aligned when large screen
<div>
  <button type="button" data-toggle="dropdown" data-display="static" aria-haspopup="true" aria-expanded="false">
    Left-aligned but right aligned when large screen
  </button>
  <div>
    <button type="button">Action</button>
    <button type="button">Another action</button>
    <button type="button">Something else here</button>
  </div>
</div>

Π§Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹Ρ€ΠΎΠ²Π½ΡΡ‚ΡŒ Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰Π΅Π΅ мСню Π²Π»Π΅Π²ΠΎ с Π·Π°Π΄Π°Π½Π½ΠΎΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ останова ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅, Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ . dropdown-menu-right ΠΈ .dropdown-menu{-sm|-md|-lg|-xl}-left.

Right-aligned but left aligned when large screen
<div>
  <button type="button" data-toggle="dropdown" data-display="static" aria-haspopup="true" aria-expanded="false">
    Right-aligned but left aligned when large screen
  </button>
  <div>
    <button type="button">Action</button>
    <button type="button">Another action</button>
    <button type="button">Something else here</button>
  </div>
</div>

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ Π²Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ data-display="static" ΠΊ Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠΌ ΠΊΠ½ΠΎΠΏΠΊΠ°ΠΌ Π½Π° панСлях Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΈ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Popper.js Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π½Π° панСлях Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΈ.

Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡ΠΈΡ‚ΡŒ сСкции дСйствий любого Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰Π΅Π³ΠΎ мСню.

<div>
  <h6>Dropdown header</h6>
  <a href="#">Action</a>
  <a href="#">Another action</a>
</div>

Π Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΠΈ мСню

РаздСляйтС Π³Ρ€ΡƒΠΏΠΏΡ‹ родствСнных элСмСнтов мСню Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»Π΅ΠΌ.

<div>
  <a href="#">Action</a>
  <a href="#">Another action</a>
  <a href="#">Something else here</a>
  <div></div>
  <a href="#">Separated link</a>
</div>

ВСкст мСню

Π Π°Π·ΠΌΠ΅Ρ‰Π°ΠΉΡ‚Π΅ любой тСкст Π²Π½ΡƒΡ‚Ρ€ΠΈ Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰Π΅Π³ΠΎ мСню с тСкстом, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ отступа. Π—Π°ΠΌΠ΅Ρ‚ΡŒΡ‚Π΅, Ρ‡Ρ‚ΠΎ Π²Π°ΠΌ понадобится Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ настройка Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠ² для ограничСния ΡˆΠΈΡ€ΠΈΠ½Ρ‹ мСню.

<div>
  <p>
    Some example text that's free-flowing within the dropdown menu.
  </p>
  <p>
    And this is more example text.
  </p>
</div>

Π€ΠΎΡ€ΠΌΡ‹ мСню

РасполоТитС Ρ„ΠΎΡ€ΠΌΡƒ Π²Π½ΡƒΡ‚Ρ€ΠΈ Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰Π΅Π³ΠΎ мСню, ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ ΠΏΠ°Π΄Π΄ΠΈΠ½Π³Π° ΠΈΠ»ΠΈ ΠΌΠ°Ρ€Π΄ΠΆΠΈΠ½Π° для Π΅Π΅ уплотнСния.

<div>
  <form>
    <div>
      <label for="exampleDropdownFormEmail1">Email address</label>
      <input type="email" placeholder="email@example. com">
    </div>
    <div>
      <label for="exampleDropdownFormPassword1">Password</label>
      <input type="password" placeholder="Password">
    </div>
    <div>
      <div>
        <input type="checkbox">
        <label for="dropdownCheck">
          Remember me
        </label>
      </div>
    </div>
    <button type="submit">Sign in</button>
  </form>
  <div></div>
  <a href="#">New around here? Sign up</a>
  <a href="#">Forgot password?</a>
</div>
<form>
  <div>
    <label for="exampleDropdownFormEmail2">Email address</label>
    <input type="email" placeholder="[email protected]">
  </div>
  <div>
    <label for="exampleDropdownFormPassword2">Password</label>
    <input type="password" placeholder="Password">
  </div>
  <div>
    <div>
      <input type="checkbox">
      <label for="dropdownCheck2">
        Remember me
      </label>
    </div>
  </div>
  <button type="submit">Sign in</button>
</form>

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ Ρ€Π°ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰Π΅Π³ΠΎΡΡ списка

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ data-offset ΠΈΠ»ΠΈ data-reference, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ мСстополоТСниС Ρ€Π°ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰Π΅Π³ΠΎΡΡ списка.

<div>
  <div>
    <button type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" data-offset="10,20">
      Offset
    </button>
    <div aria-labelledby="dropdownMenuOffset">
      <a href="#">Action</a>
      <a href="#">Another action</a>
      <a href="#">Something else here</a>
    </div>
  </div>
  <div>
    <button type="button">Reference</button>
    <button type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" data-reference="parent">
      <span>Toggle Dropdown</span>
    </button>
    <div aria-labelledby="dropdownMenuReference">
      <a href="#">Action</a>
      <a href="#">Another action</a>
      <a href="#">Something else here</a>
      <div></div>
      <a href="#">Separated link</a>
    </div>
  </div>
</div>

ИспользованиС

Π§Π΅Ρ€Π΅Π· Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹ ΠΈΠ»ΠΈ JavaScript, ΠΏΠ»Π°Π³ΠΈΠ½ Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΡ… элСмСнтов измСняСт (ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ скрытоСсодСрТимоС) состояниС содСрТимого (Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠ΅ мСню) ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ класса . show элСмСнта Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ списка. Атрибут data-toggle="dropdown" ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ Π·Π° Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΡ… мСню Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ прилоТСния, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π½Π΅ΠΏΠ»ΠΎΡ…ΠΎΠΉ ΠΈΠ΄Π΅Π΅ΠΉ всСгда ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹ΠΉ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚.

На устройствах, Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… касаниСм, ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰Π΅Π³ΠΎ элСмСнта добавляСт пустыС ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ($.noop) mouseover ΠΊ нСпосрСдствСнным Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΠΌ элСмСнта <body>. Π­Ρ‚ΠΎΡ‚, ΠΏΠΎ ΠΎΠ±Ρ‰Π΅ΠΌΡƒ мнСнию, нСкрасивый Ρ…Π°ΠΊ (Π±Π΅Π· ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ любоС касаниС Π² iOS Π²Π½Π΅ Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰Π΅Π³ΠΎ элСмСнта Π½Π΅ Π·Π°ΠΊΡ€ΠΎΠ΅Ρ‚ Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠΉ элСмСнт) Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌ для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с Π΄Π΅Π»Π΅Π³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ событий Π² iOS. Как Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠΉ элСмСнт Π·Π°ΠΊΡ€Ρ‹Ρ‚, эти Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ пустыС ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΡƒΠ΄Π°Π»ΡΡŽΡ‚ΡΡ.

Π§Π΅Ρ€Π΅Π· Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹

Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ ΠΊ ссылкС ΠΈΠ»ΠΈ ΠΊΠ½ΠΎΠΏΠΊΠ΅ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ data-toggle="dropdown" для скрытия\ΠΏΠΎΠΊΠ°Π·Π° Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰Π΅Π³ΠΎ элСмСнта.

<div>
  <button type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
    Dropdown trigger
  </button>
  <div aria-labelledby="dLabel">
    . ..
  </div>
</div>

Π§Π΅Ρ€Π΅Π· JS

УправляйтС Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠΌΠΈ элСмСнтами с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ JavaScript:

$('.dropdown-toggle').dropdown()
data-toggle="dropdown" still required

НСзависимо ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, управляСтС Π²Ρ‹ Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠΌ элСмСнтом Ρ‡Π΅Ρ€Π΅Π· JavaScript ΠΈΠ»ΠΈ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π°ΠΌΠΈ, Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ data-toggle="dropdown" всСгда Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌ Π² элСмСнтС, Π·Π°ΠΏΡƒΡΠΊΠ°ΡŽΡ‰Π΅ΠΌ Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠΉ элСмСнт.

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹

ΠŸΠ΅Ρ€Π΅Π΄Π°Π²Π°ΠΉΡ‚Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ Ρ‡Π΅Ρ€Π΅Π· JavaScript ΠΈΠ»ΠΈ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹. Если ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹, добавляйтС Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° ΠΊ data- ΠΊΠ°ΠΊ Π² data-offset="".

НазваниСВипПо ΡƒΠΌΠΎΠ»Ρ‡.ОписаниС
offsetnumber | string | function0

Π‘ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ Ρ€Π°ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰Π΅Π³ΠΎΡΡ списка ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π΅Π³ΠΎ Ρ†Π΅Π»ΠΈ.

Когда функция ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для опрСдСлСния смСщСния, ΠΎΠ½Π° вызываСтся с ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ, содСрТащим Π΄Π°Π½Π½Ρ‹Π΅ смСщСния Π² качСствС ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°. Ѐункция Π΄ΠΎΠ»ΠΆΠ½Π° Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ с Ρ‚Π°ΠΊΠΎΠΉ ΠΆΠ΅ структурой. Π£Π·Π΅Π» DOM Π·Π°ΠΏΡƒΡΠΊΠ°ΡŽΡ‰Π΅Π³ΠΎ элСмСнта пСрСдаСтся Π² качСствС Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°.

Π‘ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰Π΅Π³ΠΎ элСмСнта ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π΅Π³ΠΎ Ρ‚Ρ€ΠΈΠ³Π³Π΅Ρ€Π°. Π‘ΠΌ. отступы Popper.js

flipbooleantrueΠŸΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ‚ Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰Π΅ΠΌΡƒ элСмСнту ΠΏΠ΅Ρ€Π΅Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒΡΡ, Ссли ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»ΠΎ ΠΏΠ΅Ρ€Π΅ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ элСмСнта. Π‘ΠΎΠ»ΡŒΡˆΠ΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ: flip docs.
boundarystring | element‘scrollParent’Π“Ρ€Π°Π½ΠΈΡ†Π° ограничСния пСрСполнСния Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰Π΅Π³ΠΎ мСню. ΠŸΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ значСния 'viewport', 'window', 'scrollParent' ΠΈΠ»ΠΈ ссылку HTMLElement (Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для JavaScript). Для получСния Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ΡΡŒ ΠΊ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ preventOverflow ΠΎΡ‚ Popper.js.
referencestring | element‘toggle’Π‘ΠΏΡ€Π°Π²ΠΎΡ‡Π½Ρ‹ΠΉ элСмСнт Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰Π΅Π³ΠΎ мСню. ΠŸΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ значСния 'toggle', 'parent', ΠΈΠ»ΠΈ ссылка Π½Π° HTMLElement. Для получСния Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ΡΡŒ ΠΊ Popper.js’s referenceObject docs.
displaystringdynamic | staticПо ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Popper.js для динамичСского позиционирования. Для ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ static.
popperConfignull | objectnullΠ§Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ Popper.js ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π² Bootstrap, смотритС ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ Popper.js.

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ Ссли для boundary установлСно Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎΠ΅ ΠΎΡ‚ 'scrollParent', позиция position: static примСняСтся ΠΊ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Ρƒ .dropdown.

ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹

ΠœΠ΅Ρ‚ΠΎΠ΄ΠžΠΏΠΈΡΠ°Π½ΠΈΠ΅
$().dropdown('toggle')ЗадСйствуСт ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ toggle Π² Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰Π΅ΠΌ мСню Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π½Π°Π²Π±Π°Ρ€Π° ΠΈΠ»ΠΈ ΠΏΡ€ΠΈ Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΈ Β«TABΒ»ΠΎΠΌ.
$(). dropdown('show')ΠŸΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰Π΅Π΅ мСню Π΄Π°Π½Π½ΠΎΠΉ Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ ΠΈΠ»ΠΈ Π²ΠΊΠ»Π°Π΄ΠΊΠΈ.
$().dropdown('hide')Π‘ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰Π΅Π΅ мСню Π΄Π°Π½Π½ΠΎΠΉ Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ ΠΈΠ»ΠΈ Π²ΠΊΠ»Π°Π΄ΠΊΠΈ.
$().dropdown('update')ΠžΠ±Π½ΠΎΠ²Π»ΡΠ΅Ρ‚ ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ выпадания элСмСнта.
$().dropdown('dispose')Π£Π½ΠΈΡ‡Ρ‚ΠΎΠΆΠ°Π΅Ρ‚ Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠΉ элСмСнт.

Бобытия

ВсС события Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΡ… элСмСнтов Π½Π°ΡΡ‚ΡƒΠΏΠ°ΡŽΡ‚ Π² Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠΌ элСмСнтС класса .dropdown-menu ΠΈ нСсут свойство relatedTarget, Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Ρ€Π°Π²Π½ΠΎ элСмСнту якоря (ссылка, Ρ‚.Π΅. <a>), Π·Π°ΠΏΡƒΡΠΊΠ°ΡŽΡ‰Π΅Π³ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ toggle.

Π‘ΠΎΠ±Ρ‹Ρ‚ΠΈΠ΅ΠžΠΏΠΈΡΠ°Π½ΠΈΠ΅
show.bs.dropdownΠ­Ρ‚ΠΎ событиС наступаСт Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ ΠΏΠΎ Π²Ρ‹Π·ΠΎΠ²Ρƒ экзСмпляра ΠΌΠ΅Ρ‚ΠΎΠ΄Π° show.
shown. bs.dropdownΠ­Ρ‚ΠΎ событиС наступаСт, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠΉ элСмСнт стал Π²ΠΈΠ΄ΠΈΠΌΡ‹ΠΌ ΡŽΠ·Π΅Ρ€Ρƒ (Π±ΡƒΠ΄Π΅Ρ‚ ΠΆΠ΄Π°Ρ‚ΡŒ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ CSS-ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΎΠ²).
hide.bs.dropdownΠ­Ρ‚ΠΎ событиС наступаСт Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ ΠΏΠΎ Π²Ρ‹Π·ΠΎΠ²Ρƒ экзСмпляра ΠΌΠ΅Ρ‚ΠΎΠ΄Π° hide.
hidden.bs.dropdownΠ­Ρ‚ΠΎ событиС наступаСт, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠΉ элСмСнт стал Π½Π΅Π²ΠΈΠ΄ΠΈΠΌΡ‹ΠΌ ΡŽΠ·Π΅Ρ€Ρƒ (Π±ΡƒΠ΄Π΅Ρ‚ ΠΆΠ΄Π°Ρ‚ΡŒ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ CSS-ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΎΠ²).
$('#myDropdown').on('show.bs.dropdown', function () {
  // do something…
})

НативныС Select’ы Π½Π° любой вкус.. Π’ Π΄Π°Π½Π½ΠΎΠΉ ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°ΡŽ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ΡŒ о… | by Mostovoy Nikita

КакиС ΠΎΡ‚Π»ΠΈΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Ρ‡Π΅Ρ€Ρ‚Ρ‹ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΎΡ‚ сСлСкта? Кнопка Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΈΠΊΠΎΠ½ΠΊΠΈ Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰Π΅Π³ΠΎ списка справа, тСкст Ρƒ ΠΊΠ½ΠΎΠΏΠΊΠΈ, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, цСнтрируСтся ΠΏΠΎ сСрСдинС.

Поиск Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ

ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ» <select> Π½Π΅ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ‚ использования ΠΏΠΎ Ρ‚ΠΈΠΏΡƒ β€œΠΊΠ½ΠΎΠΏΠΊΠ°β€ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΈ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ тСкста Π»ΡŽΠ±Ρ‹ΠΌ ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹ΠΌ способ ΠΎΡ‚ β€œΡΠ»Π΅Π²Π°β€ (Π΅ΡΡ‚ΡŒ свойство text-indent, Π½ΠΎ ΠΎΠ½ΠΎ Π½Π΅ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ тСкста ΠΏΠΎ Ρ†Π΅Π½Ρ‚Ρ€Ρƒ). Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π³Π»Π°Π²Π½ΠΎΠΉ Π·Π°Π΄Π°Ρ‡Π΅ΠΉ стал поиск Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ выравнивания тСкста.

Π—Π°Ρ…ΠΎΠ΄ #1 Labels

ΠŸΠ΅Ρ€Π²ΠΎΠΉ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠΎΠΉ стала стилизация label ΠΊΠ°ΠΊ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΈ Ρ€Π°Π±ΠΎΡ‚Π° с select Ρ‡Π΅Ρ€Π΅Π· связку id-for:

Π”Π°Π½Π½Ρ‹ΠΉ способ ΠΌΠΎΠ³ Π±Ρ‹ ΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ подходящим, Ссли Π±Ρ‹ Π½Π΅ критичСская ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° β€” ΠΊΠ»ΠΈΠΊ Π½Π° label Π½Π΅ ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ select :-/

Π—Π°Ρ…ΠΎΠ΄ #2 JS

Вторая ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ° β€” Ρ€Π΅ΡˆΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ c ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ js:

На Π΄Π°Π½Π½ΠΎΠΌ этапС Π±Ρ‹Π»ΠΎ рассмотрСно нСсколько ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΎΠ² ΠΊ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡŽ:

  1. ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠ° ΡΡ‚Ρ€ΠΈΠ³Π³Π΅Ρ€ΠΈΡ‚ΡŒ событиС ΠΊΠ»ΠΈΠΊΠ°.
  2. ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠ° Ρ€Π°ΡΠΊΡ€Ρ‹Ρ‚ΡŒ список ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎ.

Π”Π°Π½Π½Ρ‹ΠΉ экспСримСнт ΠΏΠΎΠΊΠ°Π·Π°Π», Ρ‡Ρ‚ΠΎ <select> Π½Π΅ β€œΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚β€ события Π½ΠΈ ΠΊΠ»ΠΈΠΊΠ°, Π½ΠΈ модСлирования событий mousedown\mouseup ΠΈΠ»ΠΈ touchstart\touchend. β€œΠ Π°ΡΠΊΡ€Ρ‹Ρ‚ΡŒβ€ список ΠΌΠΎΠΆΠ½ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ² Π΅Π³ΠΎ Π°Ρ‚Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ size, Π½ΠΎ это ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π°Ρ€ΡƒΡˆΠΈΡ‚ΡŒ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΡƒΡŽ вСрстку страницы ΠΈ Π½Π΅ являСтся Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠΌ мСню. ЭкспСримСнты с JavaScript Π²Ρ‹Π»ΠΎΠΆΠΈΠ» β€” http://jsbin.com/bevegotela/edit?html,js,output . ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π΄Π°Π½Π½Ρ‹ΠΉ способ Ρ‚ΠΎΠΆΠ΅ ΠΏΠΎΡ‚Π΅Ρ€ΠΏΠ΅Π» Π½Π΅ΡƒΠ΄Π°Ρ‡Ρƒ.

Π—Π°Ρ…ΠΎΠ΄ #3 β€œΠ²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΉ подмСн”

Π’Ρ€Π΅Ρ‚ΡŒΠΈΠΌ способом, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ я рассматривал, стал способ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΏΠΎΠ΄ΠΌΠ΅Π½Ρ‹. Для этого ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌ ΠΎΠ±Ρ‹Ρ‡Π½ΡƒΡŽ ΠΊΠ½ΠΎΠΏΠΊΡƒ, ΠΏΡ€ΠΈ этом ΠΏΠΎΠ²Π΅Ρ€Ρ… ΠΊΠ½ΠΎΠΏΠΊΠΈ устанавливаСм <select>.

Π¨Π°Π³ 1: опрСдСляСм ΠΊΠ½ΠΎΠΏΠΊΡƒ, Π½Π΅ забывая Π·Π°Π΄Π°Ρ‚ΡŒ значСния для :hover ΠΈ :active

ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½Π½Π°Ρ ΠΊΠ½ΠΎΠΏΠΊΠ°:

Π’Π΅ΠΏΠ΅Ρ€ΡŒ создаСм Π½ΠΎΠ²Ρ‹ΠΉ Π±Π»ΠΎΠΊ β€” select-button. Он Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΎΡΡ‚ΠΎΡΡ‚ΡŒ ΠΈΠ· Π±Π»ΠΎΠΊΠ°: select-button, ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π° для Π±Π»ΠΎΠΊΠ° select-button_stretched (для растяТСния Π½Π° всю ΡˆΠΈΡ€ΠΈΠ½Ρƒ) ΠΈ элСмСнта β€” сСлСкта select-button__select:

Π‘Π°ΠΌΠΎΠΉ Π²Π°ΠΆΠ½ΠΎΠΉ строкой Π² Π΄Π°Π½Π½ΠΎΠΌ ΠΊΠΎΠ΄Π΅ являСтся 24 строка β€” opacity: 0.

ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΠ΅ΠΌ Π½Π°ΡˆΡƒ html структуру ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

Π˜Ρ‚Π°ΠΊ, Π² Ρ‡Π΅ΠΌ состоит Π΄Π°Π½Π½Ρ‹ΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄? ΠœΡ‹ создаСм Π±Π»ΠΎΠΊ select-button, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ отобраТаСтся ΠΊΠ°ΠΊ position:relative, Π²Π½ΡƒΡ‚Ρ€ΡŒ этого Π±Π»ΠΎΠΊΠ° инкапсулируСм Π±Π»ΠΎΠΊ button ΠΈ элСмСнт .select-button__select, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎΠ³ΠΎ позиционирования β€œΠ½Π°ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚β€ .button ΠΏΠΎ всСму Ρ€Π°Π·ΠΌΠ΅Ρ€Ρƒ, физичСски β€œΠ·Π°ΠΊΡ€Ρ‹Π²Π°Ρβ€ ΠΊΠ½ΠΎΠΏΠΊΡƒ. Opacity: 0, Π² своС врСмя Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π±ΡƒΠ΄Π΅Ρ‚ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊΠ½ΠΎΠΏΠΊΡƒ. Π’Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ позволяСт Ρ€Π΅ΡˆΠΈΡ‚ΡŒ Π·Π°Π΄Π°Ρ‡Ρƒ стилизации сСлСкта ΠΊΠ°ΠΊ ΠΊΠ½ΠΎΠΏΠΊΠΈ.

Однако, Ρƒ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π° Π΅ΡΡ‚ΡŒ свои минусы. ΠŸΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»ΠΈΠΌ ΠΈΡ…:

  1. Кнопка потСряла стили для :hover ΠΈ :active state, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π½Π° самом Π΄Π΅Π»Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π΄Π΅Π»Π°Π΅Ρ‚ :hover ΠΈ :active с сСлСктом.
  2. Вабуляция ΠΈΠ΄Π΅Ρ‚ ΠΊΠ°ΠΊ ΠΏΠΎ сСлСктам, Ρ‚Π°ΠΊ ΠΈ ΠΏΠΎ ΠΊΠ½ΠΎΠΏΠΊΠ°ΠΌ. ΠŸΡ€ΠΈΡ‡Π΅ΠΌ ΠΊΠ»ΠΈΠΊ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ Π΄Π°Π΅Ρ‚.

ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠ΅ΠΌ Ρ€Π°Π·Ρ€Π΅ΡˆΠΈΡ‚ΡŒ ΠΈ эти ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹:

Π‘ΠΎΠ·Π΄Π°Π΄ΠΈΠΌ микс select-button__button для ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΠΌ Π΅Π³ΠΎ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅:

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π½Π°ΠΌΠΈ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π΅ΡˆΠ΅Π½ вопрос :hover для ΠΊΠ½ΠΎΠΏΠΊΠΈ. :active ΠΆΠ΅ Ρ€Π΅ΡˆΠ°Ρ‚ΡŒ Π½Π΅ Π½Π°Π΄ΠΎ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΏΡ€ΠΈ ΠΊΠ»ΠΈΠΊΠ΅ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ select, ΠΈ ΠΊΠ½ΠΎΠΏΠΊΠ° Π² любом случаС Π½Π΅ смоТСт Π±Ρ‹Ρ‚ΡŒ Π² состоянии :active.

ΠžΡΡ‚Π°Π΅Ρ‚ΡΡ послСдняя ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° β€” Ρ€Π°Π±ΠΎΡ‚Π° с :focus. Π”Π°Π½Π½ΡƒΡŽ Π·Π°Π΄Π°Ρ‡Ρƒ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠΌ Π² нСсколько шагов:

  1. Π—Π°ΠΏΡ€Π΅Ρ‰Π°Π΅ΠΌ Ρ‚Π°Π±ΡƒΠ»ΡΡ†ΠΈΡŽ ΠΏΠΎ ΠΊΠ½ΠΎΠΏΠΊΠ°ΠΌ, добавляСм tabindex=”-1″
  2. ΠŸΠ΅Ρ€Π΅Π½ΠΎΡΠΈΠΌ Π² html структурС select ΠΏΠ΅Ρ€Π΅Π΄ button. ВыставляСм для button (ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ элСмСнта .select-button__button) z-index: 1, Π° для .select-button__select: z-index: 2
  3. ΠŸΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ сСлСктора . select-button__select:focus + .select-button__button Π·Π°Π΄Π°Π΅ΠΌ стили для :focus. НапримСр, Π² ΠΌΠΎΠ΅ΠΌ случаС, это ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ border-color: #0c59a7;

ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅ΠΌ ΠΊΠΎΠ½Π΅Ρ‡Π½Ρ‹ΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ (с ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΌ Ρ€Π°Π±ΠΎΡ‚Ρ‹)β€” jsBin http://jsbin.com/qobado/edit?html,css,output

ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄:

БраузСрная ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ°

Π”Π°Π½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ достаточно прост ΠΈ поэтому Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ Π²ΠΎ всСх Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ β€œΡΡ‚ΠΈΠ»ΠΈΠ·Π°Ρ†ΠΈΡŽβ€ сСлСкта ΠΊΠ°ΠΊ Ρ‚Π°ΠΊΠΎΠ²ΠΎΠ³ΠΎ. ВсС соврСмСнныС Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ сСлСктами ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ. Если Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Ρ‹ β€œΠΏΠΎΡΡ‚Π°Ρ€ΡˆΠ΅β€, Ρ‚ΠΎ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‚ с IE9-. Π­Ρ‚ΠΎ происходит ΠΏΠΎ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π΅, Ρ‡Ρ‚ΠΎ Π΄Π°Π½Π½Ρ‹Π΅ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Ρ‹ Π½Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΡΡ‚ΠΈΠ»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ сСлСкт. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹ΠΉ случай достаточно Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ стили для β€œΡΡ‚Π°Ρ€Ρ‹Ρ…β€ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ€Π°ΡΡˆΠΈΡ€ΡΡ‚ сСлСкт ΠΏΠΎ высотС (Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π±Ρ‹Π» Ρ€Π°Π²Π΅Π½ ΠΊΠ½ΠΎΠΏΠΊΠ΅). Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, сСлСкт Π·Π°ΠΉΠΌΠ΅Ρ‚ всС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠ΅ пространство ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ старых Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ΠΎΠ² Π½Π΅ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ с Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΠΎΠΌ.

Π”Π°Π½Π½Ρ‹ΠΉ юзкСйс ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ Π² Ρ‚Π°ΠΊΠΈΡ… мСстах, ΠΊΠΎΠ³Π΄Π° ΠΏΠΎ Π½Π°ΠΆΠ°Ρ‚ΠΈΡŽ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ β€œΠ΄ΠΈΠ°Π»ΠΎΠ³β€ уточнСния своСго Π²Ρ‹Π±ΠΎΡ€Π°. НапримСр, запрос Π½Π° Π²Ρ‹Π±ΠΎΡ€ Π³ΠΎΡ€ΠΎΠ΄Π° для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°Ρ‚Π΅ΠΌ Π½Π΅ просто β€œΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒβ€ Π³ΠΎΡ€ΠΎΠ΄ Π² сСлСктС, Π½ΠΎ ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ β€œΡΠΎΡΡ‚ΠΎΡΠ½ΠΈΠ΅β€ прилоТСния. Π’ случаС с Π³ΠΎΡ€ΠΎΠ΄ΠΎΠΌ, это ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π³ΠΎΡ€ΠΎΠ΄Π° Π² список Π³ΠΎΡ€ΠΎΠ΄ΠΎΠ².

Π”Ρ€ΡƒΠ³ΠΈΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΌ являСтся Π²Ρ‹Π±ΠΎΡ€ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° связи ΠΏΡ€ΠΈ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ΠΎΠ² Π² мобильном Ρ€Π΅Π·ΡŽΠΌΠ΅Π±ΠΈΠ»Π΄Π΅Ρ€Π΅ сайта http://m.hh.ru . ΠŸΡ€ΠΈ ΠΊΠ»ΠΈΠΊΠ΅ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ Π²Ρ‹Π±ΠΎΡ€Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ прСдоставляСтся Π΄ΠΈΠ°Π»ΠΎΠ³ Π²Ρ‹Π±ΠΎΡ€Π° способа связи, ΠΈ послС Π²Ρ‹Π±ΠΎΡ€Π° ΠΏΡƒΠ½ΠΊΡ‚Π° Π½Π° Ρ„ΠΎΡ€ΠΌΡƒ заполнСния Π΄Π°Π½Π½Ρ‹Ρ… Π΄ΠΎΠ±Π°Π²Π»ΡΡŽΡ‚ΡΡ Π½ΠΎΠ²Ρ‹Π΅ поля.

НС Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠΉ список ΠΈΠ· bootstrapa 4.5, Π² Ρ‡Π΅ΠΌ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°?

Π£ вас Bootstrap 4 Π½Π΅Π²Π΅Ρ€Π½ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ Π² js ΠΊΠΎΠ΄Π°Ρ…. Π’Π°ΠΌ ΠΈΡ… нСсколько Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ, Ρ‚ΡƒΡ‚ Π΅ΡΡ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ с ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ Bootstrap 4 Ρ‡Π΅Ρ€Π΅Π· CDN:

https://fructcode.com/ru/courses/bootstrap4/interactive-containers/

Π’ΠΎΡ‚ Ρ‚Π°ΠΊ ΠΊΠΎΠ΄ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰Π΅Π΅ мСню:

<!doctype html>
<html lang="en">
  <head>
    <!-- Required meta tags -->
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">

    <!-- Bootstrap CSS -->
    <link rel="stylesheet" href="https://maxcdn. bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css">

    <!-- Styles -->
    <link rel="stylesheet" href="style.css">

    <title>Hello, world!</title>
  </head>
  <body>
<nav>
    <a href="#">Navbar</a>
    <button type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
        <span></span>
    </button>

    <div>
        <ul>
            <li>
                <a href="#">Home <span>(current)</span></a>
            </li>
            <li>
                <a href="#">Link</a>
            </li>
            <li>
                <a href="#" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
                    Dropdown
                </a>
                <div aria-labelledby="navbarDropdown">
                    <a href="#">Action</a>
                    <a href="#">Another action</a>
                    <div></div>
                    <a href="#">Something else here</a>
                </div>
            </li>
            <li>
                <a href="#">Disabled</a>
            </li>
        </ul>
        <form>
            <input type="search" placeholder="Search" aria-label="Search" />
            <button type="submit">Search</button>
        </form>
    </div>
</nav>


    <!-- Optional JavaScript -->
    <!-- jQuery first, then Popper. js, then Bootstrap JS -->
    <script src="https://code.jquery.com/jquery-3.2.1.slim.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js"></script>
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js"></script>
  </body>
</html>

student_F3tCJLdd

Π’Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠ΅ списки

Π’Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠ΅ списки ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌΡ‹, контСкстно ΠΏΠ΅Ρ€Π΅ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‚ΡΡ для отобраТСния списков ссылок ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π΄Ρ€ΡƒΠ³ΠΎΠ΅. Они ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ с Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹ΠΌ ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠΌ Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΡ… списков JavaScript. Они ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ΡΡ Π½Π°ΠΆΠ°Ρ‚ΠΈΠ΅ΠΌ, Π° Π½Π΅ ΠΏΡ€ΠΈ Π½Π°Π²Π΅Π΄Π΅Π½ΠΈΠΈ курсора; Π­Ρ‚ΠΎ Π½Π°ΠΌΠ΅Ρ€Π΅Π½Π½ΠΎΠ΅ дизайнСрскоС Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅.

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹

ΠžΠ±Π΅Ρ€Π½ΠΈΡ‚Π΅ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»ΡŒ Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰Π΅Π³ΠΎ списка (ваша ΠΊΠ½ΠΎΠΏΠΊΠ° ΠΈΠ»ΠΈ ссылка) ΠΈ Ρ€Π°ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰Π΅Π΅ΡΡ мСню Π²Π½ΡƒΡ‚Ρ€ΠΈ .dropdown, ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΎΠΉ элСмСнт, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΠ±ΡŠΡΠ²Π»ΡΠ΅Ρ‚ position: relative;. Π’Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠ΅ списки ΠΌΠΎΠ³ΡƒΡ‚ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒΡΡ ΠΈΠ· элСмСнтов <a> ΠΈΠ»ΠΈ <button>, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π»ΡƒΡ‡ΡˆΠ΅ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ вашим ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΌ потрСбностям.

Π’Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠ΅ списки ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΈ

Π›ΡŽΠ±ΠΎΠΉ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ .btn ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€Π΅Π²Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ Π² Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠΉ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»ΡŒ с Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ измСнСниями Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΠΈ. Π’ΠΎΡ‚ ΠΊΠ°ΠΊ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·Π°ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΈΡ… Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с элСмСнтами <button>:

<div>
  <button type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
    Dropdown button
  </button>
  <div aria-labelledby="dropdownMenuButton">
    <a href="#">Action</a>
    <a href="#">Another action</a>
    <a href="#">Something else here</a>
  </div>
</div>

И с элСмСнтами <a>:

<div>
  <a href="https://example. com" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
    Dropdown link
  </a>

  <div aria-labelledby="dropdownMenuLink">
    <a href="#">Action</a>
    <a href="#">Another action</a>
    <a href="#">Something else here</a>
  </div>
</div>

Π‘Π°ΠΌΠΎΠ΅ приятноС Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это с Π»ΡŽΠ±Ρ‹ΠΌ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠΌ ΠΊΠ½ΠΎΠΏΠΊΠΈ:

<!-- Example single danger button -->
<div>
  <button type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
    Action
  </button>
  <div>
    <a href="#">Action</a>
    <a href="#">Another action</a>
    <a href="#">Something else here</a>
    <div></div>
    <a href="#">Separated link</a>
  </div>
</div>

Π’Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠ΅ списки Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… ΠΊΠ½ΠΎΠΏΠΎΠΊ

Аналогичным ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ создайтС Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠ΅ списки Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… ΠΊΠ½ΠΎΠΏΠΎΠΊ с практичСски Ρ‚Π°ΠΊΠΎΠΉ ΠΆΠ΅ Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΠΎΠΉ, Ρ‡Ρ‚ΠΎ ΠΈ Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠ΅ списки с ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ, Π½ΠΎ с Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ . dropdown-toggle-split для ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ³ΠΎ ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»Π° Π²ΠΎΠΊΡ€ΡƒΠ³ Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰Π΅ΠΉ ΠΊΠ°Ρ€Π΅Ρ‚ΠΊΠΈ.

ΠœΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ этот Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ класс, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΡ‚ΡŒ Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΉ padding с ΠΎΠ±Π΅ΠΈΡ… сторон ΠΊΠ°Ρ€Π΅Ρ‚ΠΊΠΈ Π½Π° 25% ΠΈ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ margin-left Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½Ρ‹ΠΉ для ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Ρ… Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΡ… ΠΊΠ½ΠΎΠΏΠΎΠΊ. Π­Ρ‚ΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ измСнСния ΡƒΠ΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ курсор, Ρ†Π΅Π½Ρ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Π² Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠ΅, ΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‚ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΡΡ‰ΡƒΡŽ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ попадания рядом с Π³Π»Π°Π²Π½ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ.

Secondary Toggle Dropdown
<!-- Example split danger button -->
<div>
  <button type="button">Action</button>
  <button type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
    <span>Toggle Dropdown</span>
  </button>
  <div>
    <a href="#">Action</a>
    <a href="#">Another action</a>
    <a href="#">Something else here</a>
    <div></div>
    <a href="#">Separated link</a>
  </div>
</div>

ИзмСнСниС Ρ€Π°Π·ΠΌΠ΅Ρ€Π°

Π’Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠ΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ с ΠΊΠ½ΠΎΠΏΠΊΠ°ΠΌΠΈ всСх Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠ², Π²ΠΊΠ»ΡŽΡ‡Π°Ρ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΈ Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ.

<!-- Large button groups (default and split) -->
<div>
  <button type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
    Large button
  </button>
  <div>
    ...
  </div>
</div>
<div>
  <button type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
    Large button
  </button>
  <button type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
    <span>Toggle Dropdown</span>
  </button>
  <div>
    ...
  </div>
</div>

<!-- Small button groups (default and split) -->
<div>
  <button type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
    Small button
  </button>
  <div>
    . ..
  </div>
</div>
<div>
  <button type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
    Small button
  </button>
  <button type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
    <span>Toggle Dropdown</span>
  </button>
  <div>
    ...
  </div>
</div>

Π’Π°Ρ€ΠΈΠ°Π½Ρ‚ сброса

Π’Ρ‹Π·ΠΎΠ²ΠΈΡ‚Π΅ Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠ΅ мСню Π½Π°Π΄ элСмСнтами, Π΄ΠΎΠ±Π°Π²ΠΈΠ² .dropup ΠΊ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠΌΡƒ элСмСнту.

Split dropup Toggle Dropdown
<!-- Default dropup button -->
<div>
  <button type="button">Dropup</button>
  <button type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
    <span>Toggle Dropdown</span>
  </button>
  <div>
    <!-- Dropdown menu links -->
  </div>
</div>

<!-- Split dropup button -->
<div>
  <button type="button">
    Split dropup
  </button>
  <button type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
    <span>Toggle Dropdown</span>
  </button>
  <div>
    <!-- Dropdown menu links -->
  </div>
</div>

Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ Π±Ρ‹Ρ‚ΡŒ ссылкой, Π½ΠΎ это ΡƒΠΆΠ΅ Π½Π΅ Ρ‚Π°ΠΊ с v4. Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΠΏΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ элСмСнты <button> Π² Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΡ… списках вмСсто просто <a>.

<div>
  <button type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
    Dropdown
  </button>
  <div aria-labelledby="dropdownMenu2">
    <button type="button">Action</button>
    <button type="button">Another action</button>
    <button type="button">Something else here</button>
  </div>
</div>

По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰Π΅Π΅ мСню автоматичСски позиционируСтся Π½Π° 100% свСрху ΠΈ вдоль Π»Π΅Π²ΠΎΠΉ стороны Π΅Π³ΠΎ родитСля. Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ .dropdown-menu-right Π² .dropdown-menu, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹Ρ€ΠΎΠ²Π½ΡΡ‚ΡŒ Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰Π΅Π΅ мСню ΠΏΠΎ ΠΏΡ€Π°Π²ΠΎΠΌΡƒ ΠΊΡ€Π°ΡŽ.

Π‘Π΅Ρ€Π΅Π³ΠΈΡΡŒ! Π’Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠ΅ списки ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΎΠ½ΠΈΡ€ΡƒΡŽΡ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ CSS ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ стили для Ρ‚ΠΎΡ‡Π½ΠΎΠ³ΠΎ выравнивания.

This dropdown’s menu is right-aligned
<div>
  <button type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
    This dropdown's menu is right-aligned
  </button>
  <div>
    <button type="button">Action</button>
    <button type="button">Another action</button>
    <button type="button">Something else here</button>
  </div>
</div>

Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ для обозначСния Ρ€Π°Π·Π΄Π΅Π»ΠΎΠ² дСйствий Π² любом Ρ€Π°ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰Π΅ΠΌΡΡ мСню.

<div>
  <h6>Dropdown header</h6>
  <a href="#">Action</a>
  <a href="#">Another action</a>
</div>

ΠžΡ‚Π΄Π΅Π»ΠΈΡ‚Π΅ Π³Ρ€ΡƒΠΏΠΏΡ‹ связанных элСмСнтов мСню с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ раздСлитСля.

<div>
  <a href="#">Action</a>
  <a href="#">Another action</a>
  <a href="#">Something else here</a>
  <div></div>
  <a href="#">Separated link</a>
</div>

Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ . disabled ΠΊ элСмСнтам Π² Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰Π΅ΠΌ спискС, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΡ‚ΠΈΠ»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ… ΠΊΠ°ΠΊ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹Π΅.

<div>
  <a href="#">Regular link</a>
  <a href="#">Disabled link</a>
  <a href="#">Another link</a>
</div>

ΠŸΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅

Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ»ΠΈ JavaScript ΠΏΠ»Π°Π³ΠΈΠ½ Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰Π΅Π³ΠΎ списка ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ скрытый ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚ (Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠ΅ мСню) ΠΏΡƒΡ‚Π΅ΠΌ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ класса .show Π½Π° Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ элСмСнт списка.

На ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… устройствах ΠΏΡ€ΠΈ раскрытии Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰Π΅Π³ΠΎ списка добавляСтся .dropdown-backdropΠ² качСствС области ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ для закрытия Ρ€Π°ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΡ…ΡΡ мСню ΠΏΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ Π²Π½Π΅ мСню, Ρ‡Ρ‚ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ для ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΉ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ iOS. Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ ΠΈΠ· Ρ€Π°ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰Π΅Π³ΠΎΡΡ мСню Π² Π΄Ρ€ΡƒΠ³ΠΎΠ΅ Ρ€Π°ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰Π΅Π΅ΡΡ мСню Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ наТатия Π½Π° мобильном устройствС.

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅. Атрибут data-toggle="dropdown" ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для закрытия Ρ€Π°ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΡ…ΡΡ мСню Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ прилоТСния, поэтому рСкомСндуСтся всСгда ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ.

Π§Π΅Ρ€Π΅Π· Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…

Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ data-toggle="dropdown" Π² ссылку ΠΈΠ»ΠΈ ΠΊΠ½ΠΎΠΏΠΊΡƒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠΉ список.

<div>
  <button type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
    Dropdown trigger
  </button>
  <div aria-labelledby="dLabel">
    ...
  </div>
</div>

Π§Π΅Ρ€Π΅Π· JavaScript

Π’Ρ‹Π·ΠΎΠ²ΠΈΡ‚Π΅ Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠ΅ списки с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ JavaScript:

$('.dropdown-toggle').dropdown()
data-toggle="dropdown" ΠΏΠΎ-ΠΏΡ€Π΅ΠΆΠ½Π΅ΠΌΡƒ трСбуСтся

НСзависимо ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚Π΅ Π»ΠΈ Π²Ρ‹ Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠΉ список Ρ‡Π΅Ρ€Π΅Π· JavaScript ΠΈΠ»ΠΈ вмСсто этого ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ data-api, всСгда трСбуСтся, Ρ‡Ρ‚ΠΎΠ±Ρ‹ data-toggle="dropdown" присутствовал Π² элСмСнтС Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰Π΅Π³ΠΎ элСмСнта.

ΠžΠΏΡ†ΠΈΠΈ

НСт.

ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹

ΠœΠ΅Ρ‚ΠΎΠ΄ ОписаниС
$().dropdown('toggle') ΠŸΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Ρ€Π°ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰Π΅Π΅ΡΡ мСню Π΄Π°Π½Π½ΠΎΠΉ Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ ΠΈΠ»ΠΈ с Π²ΠΊΠ»Π°Π΄ΠΊΠ°ΠΌΠΈ.

Бобытия

ВсС Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠ΅ события Π·Π°ΠΏΡƒΡΠΊΠ°ΡŽΡ‚ΡΡ Π² Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠΌ элСмСнтС .dropdown-menu ΠΈ ΠΈΠΌΠ΅ΡŽΡ‚ свойствоrelatedTarget, Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ являСтся ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰ΠΈΠΌ элСмСнтом привязки.

Π‘ΠΎΠ±Ρ‹Ρ‚ΠΈΠ΅ ОписаниС
show.bs.dropdown Π­Ρ‚ΠΎ событиС срабатываСт сразу послС Π²Ρ‹Π·ΠΎΠ²Π° ΠΌΠ΅Ρ‚ΠΎΠ΄Π° экзСмпляра ΠΏΠΎΠΊΠ°Π·Π°.
shown.bs.dropdown Π­Ρ‚ΠΎ событиС вызываСтся, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠΉ список становится Π²ΠΈΠ΄ΠΈΠΌΡ‹ΠΌ для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ (Π±ΡƒΠ΄Π΅Ρ‚ ΠΆΠ΄Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΎΠ² CSS, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ΡŒ).
hide.bs.dropdown Π­Ρ‚ΠΎ событиС вызываСтся Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ ΠΏΡ€ΠΈ Π²Ρ‹Π·ΠΎΠ²Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° hide instance.
hidden.bs.dropdown Π­Ρ‚ΠΎ событиС вызываСтся, ΠΊΠΎΠ³Π΄Π° Ρ€Π°ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉΡΡ список Π·Π°ΠΊΠΎΠ½Ρ‡ΠΈΠ» ΡΠΊΡ€Ρ‹Π²Π°Ρ‚ΡŒΡΡ ΠΎΡ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ (Π±ΡƒΠ΄Π΅Ρ‚ ΠΆΠ΄Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΎΠ² CSS, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ΡŒ).
$('#myDropdown').on('show.bs.dropdown', function () {
  // do something…
})

Π›ΡƒΡ‡ΡˆΠ΅Π΅ бСсплатноС Ρ€Π°ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰Π΅Π΅ΡΡ мСню Π² JavaScript ΠΈ CSS

Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° JavaScript, которая ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠ΅ ΠΏΠΎΠ»Π΅ Π²Ρ‹Π±ΠΎΡ€Π° Π² настраиваСмый Ρ€Π°ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉΡΡ список с ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ поиска Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ², мноТСствСнного Π²Ρ‹Π±ΠΎΡ€Π° ΠΈ Ρ‚. Π”.

Π”Π΅ΠΌΠΎΠ‘ΠΊΠ°Ρ‡Π°Ρ‚ΡŒ Π’Π΅Π³ΠΈ: Ρ€Π°ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉΡΡ список, Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅

ΠžΠ±Ρ‹Ρ‡Π½Ρ‹ΠΉ JavaScript для Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ встроСнного ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° Ρ€Π°ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΡ…ΡΡ списков Bootstrap 5, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ позволяСт ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ Π½Π΅ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½Ρ‹ΠΉ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ Ρ€Π°ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΡ…ΡΡ списков ΠΏΡ€ΠΈ Ρ‰Π΅Π»Ρ‡ΠΊΠ΅ ΠΈΠ»ΠΈ Π½Π°Π²Π΅Π΄Π΅Π½ΠΈΠΈ курсора.

Π”Π΅ΠΌΠΎΠ‘ΠΊΠ°Ρ‡Π°Ρ‚ΡŒ Π’Π΅Π³ΠΈ: bootstrap, Bootstrap 5, Ρ€Π°ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉΡΡ список

Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° CSS / SCSS для создания настраиваСмого Π°Π½ΠΈΠΌΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Ρ€Π°ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰Π΅Π³ΠΎΡΡ ΠΈΠ»ΠΈ Ρ€Π°ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰Π΅Π³ΠΎΡΡ списка с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ простого HTML.

Π”Π΅ΠΌΠΎΠ‘ΠΊΠ°Ρ‡Π°Ρ‚ΡŒ Π’Π΅Π³ΠΈ: Ρ€Π°ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉΡΡ список

Плагин Vanilla JavaScript, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ собствСнный элСмСнт select Π² Π°Π½ΠΈΠΌΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ, настраиваСмый, ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΉ для ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… устройств Ρ€Π°ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉΡΡ список.

Π”Π΅ΠΌΠΎΠ‘ΠΊΠ°Ρ‡Π°Ρ‚ΡŒ Π’Π΅Π³ΠΈ: Ρ€Π°ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉΡΡ список, Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅

vanilla-select — это чистый Π²Π°Π½ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ JavaScript-ΠΏΠ»Π°Π³ΠΈΠ½, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ для Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³Π° динамичСского Ρ€Π°ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰Π΅Π³ΠΎΡΡ списка / мСню с Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ поиска, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ собствСнноС ΠΏΠΎΠ»Π΅ Π²Ρ‹Π±ΠΎΡ€Π°.

Π”Π΅ΠΌΠΎΠ‘ΠΊΠ°Ρ‡Π°Ρ‚ΡŒ Π’Π΅Π³ΠΈ: Ρ€Π°ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉΡΡ список, Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅

Бтандартная Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ содСрТимого JavaScript, прСдназначСнная для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ², Ρ‡Ρ‚ΠΎΠ±Ρ‹ быстро ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π°ΠΊΠΊΠΎΡ€Π΄Π΅ΠΎΠ½, Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰ΡƒΡŽ подсказку, Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅Π΅ ΠΎΠΊΠ½ΠΎ, Ρ€Π°ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰Π΅Π΅ΡΡ мСню, ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌΠΎΠ΅ мСню, ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ содСрТимого с Π²ΠΊΠ»Π°Π΄ΠΊΠ°ΠΌΠΈ Π² Π²Π΅Π±-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ.

Π”Π΅ΠΌΠΎΠ‘ΠΊΠ°Ρ‡Π°Ρ‚ΡŒ Π’Π΅Π³ΠΈ: Ρ€Π°ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰Π΅Π΅ΡΡ мСню, Π²ΠΊΠ»Π°Π΄ΠΊΠΈ, ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ мСню

Плагин fstdropdown JavaScript ΠΏΡ€Π΅Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΉ элСмСнт select Π² Ρ€Π°ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉΡΡ список Π² стилС Bootstrap с Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ поиска с использованиСм чистого JavaScript ΠΈ CSS.

Π”Π΅ΠΌΠΎΠ‘ΠΊΠ°Ρ‡Π°Ρ‚ΡŒ Π’Π΅Π³ΠΈ: Ρ€Π°ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉΡΡ список, Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅

dropmic — это ΠΊΡ€ΠΎΡˆΠ΅Ρ‡Π½Π°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° JS с Π½ΡƒΠ»Π΅Π²ΠΎΠΉ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒΡŽ, которая добавляСт минимальноС чистоС Ρ€Π°ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰Π΅Π΅ΡΡ / Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅Π΅ мСню ΠΊ Π»ΡŽΠ±ΠΎΠΌΡƒ элСмСнту ΠΏΡ€ΠΈ запускС.

Π”Π΅ΠΌΠΎΠ‘ΠΊΠ°Ρ‡Π°Ρ‚ΡŒ Π’Π΅Π³ΠΈ: Ρ€Π°ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰Π΅Π΅ΡΡ мСню, Ρ€Π°ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰Π΅Π΅ΡΡ мСню

tail.select — это пСрСписанная вСрсия ΠΏΠ»Π°Π³ΠΈΠ½Π° jQuery tail.select, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для ΡƒΠΊΡ€Π°ΡˆΠ΅Π½ΠΈΡ ΠΈ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡ поля Π²Ρ‹Π±ΠΎΡ€Π° ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π±Π΅Π· ΠΊΠ°ΠΊΠΈΡ…-Π»ΠΈΠ±ΠΎ зависимостСй.

Π”Π΅ΠΌΠΎΠ‘ΠΊΠ°Ρ‡Π°Ρ‚ΡŒ Π’Π΅Π³ΠΈ: Ρ€Π°ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉΡΡ список, мноТСствСнный Π²Ρ‹Π±ΠΎΡ€, Π²Ρ‹Π±ΠΎΡ€

slim-select — это нСбольшой ΠΏΠ»Π°Π³ΠΈΠ½ JavaScript, Π½Π΅ зависящий ΠΎΡ‚ зависимостСй, для создания Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰Π΅Π³ΠΎ списка с Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ поиска ΠΈ мноТСствСнного Π²Ρ‹Π±ΠΎΡ€Π° ΠΈΠ· ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠ³ΠΎ элСмСнта select.

Π”Π΅ΠΌΠΎΠ‘ΠΊΠ°Ρ‡Π°Ρ‚ΡŒ Π’Π΅Π³ΠΈ: Ρ€Π°ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉΡΡ список, мноТСствСнный Π²Ρ‹Π±ΠΎΡ€

, Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰Π΅Π΅ мСню — npm

ΠšΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ Simple Dropdown для React, Π²Π΄ΠΎΡ…Π½ΠΎΠ²Π»Π΅Π½Π½Ρ‹ΠΉ Ρ€Π΅Π°ΠΊΡ†ΠΈΠ΅ΠΉ Π²Ρ‹Π±ΠΎΡ€Π°

ΠŸΠΎΡ‡Π΅ΠΌΡƒ

  • Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ Π²Ρ‹Π±ΠΎΡ€Π° HTML ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ слоТно ΡΡ‚ΠΈΠ»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ
  • И ΠΈΠ½ΠΎΠ³Π΄Π° Π½Π°ΠΌ Ρ‚Π°ΠΊΠΆΠ΅ Π½ΡƒΠΆΠ½Ρ‹ сгруппированныС мСню
  • , Ссли Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π±ΠΎΠ»Π΅Π΅ ΠΏΡ€ΠΎΠ΄Π²ΠΈΠ½ΡƒΡ‚Ρ‹ΠΉ Π²Ρ‹Π±ΠΎΡ€, ΠΎΡ‚ΠΌΠ΅Ρ‚ΡŒΡ‚Π΅ response-select

Установка

  // с нпм
$ npm install response-dropdown --save

// пряТСй
$ yarn Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠΉ список Ρ€Π΅Π°ΠΊΡ†ΠΈΠΈ
  

Π˜ΡΡ‚ΠΎΡ€ΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ

Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ Π²Π΅Ρ€ΡΠΈΡŽ React ΠΏΠΎΠ΄ v0.13, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ [email protected]

ИспользованиС

Π­Ρ‚ΠΎ Π±Π°Π·ΠΎΠ²ΠΎΠ΅ использованиС Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰Π΅Π³ΠΎ мСню Ρ€Π΅Π°ΠΊΡ†ΠΈΠΈ

 ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π°ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉΡΡ список ΠΈΠ· Ρ€Π°ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰Π΅Π³ΠΎΡΡ списка;
ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ 'response-dropdown / style.css';

const options = [
  'ΠΎΠ΄ΠΈΠ½ Π΄Π²Π° Ρ‚Ρ€ΠΈ'
];
const defaultOption = ΠΎΠΏΡ†ΠΈΠΈ [0];
; 

ΠžΠΏΡ†ΠΈΠΈ

Π’Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ плоских массивов

const options = [
  'ΠΎΠ΄ΠΈΠ½ Π΄Π²Π° Ρ‚Ρ€ΠΈ'
]; 

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ массива ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²

const options = [
  {value: 'one', label: 'One'},
  {Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅: 'Π΄Π²Π°', ΠΌΠ΅Ρ‚ΠΊΠ°: 'Π”Π²Π°', имя класса: 'myOptionClassName'},
  {
   Ρ‚ΠΈΠΏ: 'Π³Ρ€ΡƒΠΏΠΏΠ°', имя: 'Π³Ρ€ΡƒΠΏΠΏΠ°1', элСмСнты: [
     {Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅: 'Ρ‚Ρ€ΠΈ', ΠΌΠ΅Ρ‚ΠΊΠ°: 'Π’Ρ€ΠΈ', className: 'myOptionClassName'},
     {Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅: 'Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅', ΠΌΠ΅Ρ‚ΠΊΠ°: 'Π§Π΅Ρ‚Ρ‹Ρ€Π΅'}
   ]
  },
  {
   Ρ‚ΠΈΠΏ: 'Π³Ρ€ΡƒΠΏΠΏΠ°', имя: 'Π³Ρ€ΡƒΠΏΠΏΠ°2', элСмСнты: [
     {Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅: 'ΠΏΡΡ‚ΡŒ', ΠΌΠ΅Ρ‚ΠΊΠ°: 'ΠŸΡΡ‚ΡŒ'},
     {Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅: 'ΡˆΠ΅ΡΡ‚ΡŒ', ΠΌΠ΅Ρ‚ΠΊΠ°: 'Π¨Π΅ΡΡ‚ΡŒ'}
   ]
  }
]; 

ΠŸΡ€ΠΈ использовании ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρƒ строку className для дальнСйшСй настройки Ρ€Π°ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰Π΅Π³ΠΎΡΡ списка, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€.Π³Ρ€Π°ΠΌΠΌ. Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈΠΊΠΎΠ½ΠΎΠΊ Π² ΠΎΠΏΡ†ΠΈΠΈ

ΠžΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Ρ€Π°ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰Π΅Π³ΠΎΡΡ списка

ΠŸΡ€ΠΎΡΡ‚ΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°ΠΉΡ‚Π΅ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½Π½ΠΎΠ΅ логичСскоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² Ρ€Π°ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉΡΡ список, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π΅Π³ΠΎ. Π­Ρ‚ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ даст Π²Π°ΠΌ класс .Dropdown-disabled для элСмСнта , Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΡ‚ΠΈΠ»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ.

 <Π Π°ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉΡΡ список ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ onChange = {this._onSelect} value = {defaultOption} placeholder = "Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚" />; 

Настройка Ρ€Π°ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰Π΅Π³ΠΎΡΡ списка

названиС класса

Бвойство className пСрСдаСтся Π² ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΡƒ div , которая Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΠΌΠ΅Π΅Ρ‚ класс Dropdown-root .

 ; 

controlClassName

Бвойство controlClassName пСрСдаСтся Π²Π½ΠΈΠ· элСмСнту управлСния div , ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΠΌΠ΅Π΅Ρ‚ класс Dropdown-control .

 ; 

placeholderClassName

Бвойство placeholderClassName пСрСдаСтся Π²Π½ΠΈΠ· ΠΊ плСйсхолдСру div , ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΠΌΠ΅Π΅Ρ‚ класс Dropdown-placeholder .

 ; 

menuClassName

Бвойство menuClassName пСрСдаСтся Π²Π½ΠΈΠ· Π² мСню div (Ρ‚ΠΎΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ ΠΈ Π·Π°ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ ΠΈ содСрТит ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹), ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΠΌΠ΅Π΅Ρ‚ класс Dropdown-menu .

 <Ρ€Π°ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰Π΅Π΅ΡΡ мСнюClassName = 'myMenuClassName' />; 

arrowClassName

Бвойство arrowClassName пСрСдаСтся Π²Π½ΠΈΠ· стрСлкС span , которая Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΠΌΠ΅Π΅Ρ‚ класс Dropdown-arrow .

 ; 

стрСлка Π·Π°ΠΊΡ€Ρ‹Ρ‚Π° , стрСлка ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Π°

Π‘Ρ‚Ρ€Π΅Π»ΠΊΠ° Π‘Ρ‚Ρ€Π΅Π»ΠΊΠ° Π—Π°ΠΊΡ€Ρ‹Ρ‚ΠΎ ΠΈ Π‘Ρ‚Ρ€Π΅Π»ΠΊΠ° ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ props позволяСт ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ элСмСнты для стрСлок ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠ³ΠΎ / Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΎΠ³ΠΎ состояния.

 <Ρ€Π°ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉΡΡ список
  arrowClosed = {}
  arrowOpen = {}
/>; 

Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ см. Π’ ΠΏΠ°ΠΏΠΊΠ΅ с ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌΠΈ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ выполнСния

  $ npm Π½Π°Ρ‡Π°Π»ΠΎ
  

ЛицСнзия

MIT | Π‘Π±ΠΎΡ€ΠΊΠ° для ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° CSViz @Wiredcraft

Π’Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠΉ список | ΠšΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ | BootstrapVue

Π’Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠ΅ списки — это ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌΡ‹Π΅ контСкстныС налоТСния для отобраТСния списков ссылок ΠΈ дСйствий Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ Ρ€Π°ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰Π΅Π³ΠΎΡΡ мСню.

(ΠΈΠ»ΠΈ извСстный ΠΏΠΎΠ΄ Π΅Π³ΠΎ Π±ΠΎΠ»Π΅Π΅ ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΠΌ псСвдонимом ). ΠšΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ — это ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌΡ‹Π΅ контСкстныС налоТСния для отобраТСния списков ссылок ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π΄Ρ€ΡƒΠ³ΠΎΠ΅. Они ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ΡΡ Ρ‰Π΅Π»Ρ‡ΠΊΠΎΠΌ (ΠΈΠ»ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠ΅ΠΌ ΠΏΡ€ΠΎΠ±Π΅Π»Π° ΠΈΠ»ΠΈ Π²Π²ΠΎΠ΄ΠΎΠΌ ΠΏΡ€ΠΈ фокусировкС), Π° Π½Π΅ ΠΏΡ€ΠΈ Π½Π°Π²Π΅Π΄Π΅Π½ΠΈΠΈ курсора; это Π½Π°ΠΌΠ΅Ρ€Π΅Π½Π½ΠΎΠ΅ дизайнСрскоС Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅.

 
ΠŸΠ΅Ρ€Π²ΠΎΠ΅ дСйствиС Π’Ρ‚ΠΎΡ€ΠΎΠ΅ дСйствиС Π’Ρ€Π΅Ρ‚ΡŒΠ΅ дСйствиС АктивноС дСйствиС ДСйствиС ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎ

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΠΌΠΎΠ΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ тСкст Ρ€Π°ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰Π΅ΠΉΡΡ ΠΊΠ½ΠΎΠΏΠΊΠΈ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Π»ΠΈΠ±ΠΎ ΠΎΠΏΠΎΡ€Ρƒ text (ΠΏΠΎΠΊΠ°Π·Π°Π½Π½ΡƒΡŽ Π² ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΡ… ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°Ρ…), Π»ΠΈΠ±ΠΎ слот button-content вмСсто text prop.Π‘Π»ΠΎΡ‚ button-content позволяСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ HTML ΠΈ Π·Π½Π°Ρ‡ΠΊΠΈ Π² содСрТимом ΠΊΠ½ΠΎΠΏΠΊΠΈ.

Если ΠΏΡ€ΠΈΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‚ ΠΈ свойство text , ΠΈ слот button-content , Ρ‚ΠΎ слот button-content Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚.

 
Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ Π”Ρ€ΡƒΠ³ΠΎΠΉ элСмСнт <шаблон # button-content> ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚ с HTML Ρ‡Π΅Ρ€Π΅Π· слот Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ Π”Ρ€ΡƒΠ³ΠΎΠΉ элСмСнт

ΠŸΠΎΠ·ΠΈΡ†ΠΈΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅

Π Π°ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉΡΡ список ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΎΠ΅ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, Ρ‚Π°ΠΊΠΎΠ΅ ΠΊΠ°ΠΊ Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎ Π»Π΅Π²ΠΎΠΌΡƒ ΠΈ ΠΏΡ€Π°Π²ΠΎΠΌΡƒ ΠΊΡ€Π°ΡŽ, Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰Π΅Π΅ ΠΈ Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰Π΅Π΅, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ автоматичСскоС ΠΏΠ΅Ρ€Π΅Π²ΠΎΡ€Π°Ρ‡ΠΈΠ²Π°Π½ΠΈΠ΅ (Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰Π΅Π΅ Π² Ρ€Π°ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰Π΅Π΅ΡΡ ΠΈ Π½Π°ΠΎΠ±ΠΎΡ€ΠΎΡ‚), ΠΊΠΎΠ³Π΄Π° мСню Π²Ρ‹Ρ…ΠΎΠ΄ΠΈΡ‚ Π·Π° ΠΏΡ€Π΅Π΄Π΅Π»Ρ‹ Π²ΠΈΠ΄ΠΈΠΌΠΎΠΉ области экрана.

Π Π°ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰Π΅Π΅ΡΡ мСню ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π²Ρ‹Ρ€ΠΎΠ²Π½Π΅Π½ΠΎ ΠΏΠΎ Π»Π΅Π²ΠΎΠΌΡƒ ΠΊΡ€Π°ΡŽ (ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ) ΠΈΠ»ΠΈ ΠΏΠΎ ΠΏΡ€Π°Π²ΠΎΠΌΡƒ ΠΊΡ€Π°ΡŽ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΊΠ½ΠΎΠΏΠΊΠΈ Π½Π°Π΄ Π½ΠΈΠΌ. Π§Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠΉ список Π±Ρ‹Π» Π²Ρ‹Ρ€ΠΎΠ²Π½Π΅Π½ ΠΏΠΎ ΠΏΡ€Π°Π²ΠΎΠΌΡƒ ΠΊΡ€Π°ΡŽ, установитС ΠΏΡ€Π°Π²ΡƒΡŽ ΠΎΠΏΠΎΡ€Ρƒ .

 
ДСйствиС Π”Ρ€ΡƒΠ³ΠΎΠ΅ дСйствиС Π—Π΄Π΅ΡΡŒ Π΅Ρ‰Π΅ ΠΊΠΎΠ΅-Ρ‡Ρ‚ΠΎ ДСйствиС Π”Ρ€ΡƒΠ³ΠΎΠ΅ дСйствиС Π—Π΄Π΅ΡΡŒ Π΅Ρ‰Π΅ ΠΊΠΎΠ΅-Ρ‡Ρ‚ΠΎ

Dropup

ΠŸΡ€Π΅Π²Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Ρ€Π°ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰Π΅Π΅ΡΡ мСню Π² Ρ€Π°ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰Π΅Π΅ΡΡ мСню, установив Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ dropup prop.

 
ДСйствиС Π”Ρ€ΡƒΠ³ΠΎΠ΅ дСйствиС Π—Π΄Π΅ΡΡŒ Π΅Ρ‰Π΅ ΠΊΠΎΠ΅-Ρ‡Ρ‚ΠΎ

Π’Ρ‹ΠΏΠ°Π΄Π΅Π½ΠΈΠ΅ Π²ΠΏΡ€Π°Π²ΠΎ ΠΈΠ»ΠΈ Π²Π»Π΅Π²ΠΎ

ΠŸΡ€Π΅Π²Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Ρ€Π°ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰Π΅Π΅ΡΡ мСню Π² Ρ€Π°ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰Π΅Π΅ΡΡ мСню, установив ΠΎΠΏΡ†ΠΈΡŽ droppright prop. Или ΠΏΡ€Π΅Π²Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π΅Π³ΠΎ Π² Ρ€Π°ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰Π΅Π΅ΡΡ мСню, установив для ΠΏΡ€Π°Π²ΠΎΠΉ ΠΎΠΏΠΎΡ€Ρ‹ dropleft Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ true.

с Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠΉ посадкой ΠΈΠΌΠ΅Π΅Ρ‚ ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ Π½Π°Π΄ с Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠΉ посадкой . Ни dropup , Π½ΠΈ dropleft Π½Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ Π½ΠΈΠΊΠ°ΠΊΠΎΠ³ΠΎ эффСкта, Ссли установлСн dropup .

 
ДСйствиС Π”Ρ€ΡƒΠ³ΠΎΠ΅ дСйствиС Π—Π΄Π΅ΡΡŒ Π΅Ρ‰Π΅ ΠΊΠΎΠ΅-Ρ‡Ρ‚ΠΎ ДСйствиС Π”Ρ€ΡƒΠ³ΠΎΠ΅ дСйствиС Π—Π΄Π΅ΡΡŒ Π΅Ρ‰Π΅ ΠΊΠΎΠ΅-Ρ‡Ρ‚ΠΎ

Авто «ΠΏΠ΅Ρ€Π΅Π²ΠΎΡ€Π°Ρ‡ΠΈΠ²Π°Π½ΠΈΠ΅»

По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Ρ€Π°ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΠ΅ΡΡ списки ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠ΅Ρ€Π΅Π²ΠΎΡ€Π°Ρ‡ΠΈΠ²Π°Ρ‚ΡŒΡΡ Π²Π²Π΅Ρ€Ρ… ΠΈΠ»ΠΈ Π²Π½ΠΈΠ· Π² зависимости ΠΎΡ‚ ΠΈΡ… Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ полоТСния Π² области просмотра.Π§Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ эту Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ автоматичСского пСрСворачивания, установитС ΠΎΠΏΠΎΡ€Ρƒ no-flip prop.

Π₯ΠΎΡ‚ΠΈΡ‚Π΅ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΡ‚ΠΎΠ΄Π²ΠΈΠ½ΡƒΡ‚ΡŒ мСню ΠΎΡ‚ ΠΊΠ½ΠΎΠΏΠΎΠΊ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ? Π—Π°Ρ‚Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΎΠΏΠΎΡ€Ρƒ смСщСниС , Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ количСство пиксСлСй, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½ΡƒΠΆΠ½ΠΎ ΡΠ΄Π²ΠΈΠ½ΡƒΡ‚ΡŒ Π²ΠΏΡ€Π°Π²ΠΎ (ΠΈΠ»ΠΈ Π²Π»Π΅Π²ΠΎ, Ссли ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅) ΠΎΡ‚ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»Ρ:

  • ЗадаСтся ΠΊΠ°ΠΊ количСство пиксСлСй: ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ для сдвига Π²ΠΏΡ€Π°Π²ΠΎ, ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ для сдвига Π²Π»Π΅Π²ΠΎ.
  • Π£ΠΊΠ°ΠΆΠΈΡ‚Π΅ расстояниС Π² Π΅Π΄ΠΈΠ½ΠΈΡ†Π°Ρ… CSS (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, 0,3 rem , 4px , 1,2em ΠΈ Ρ‚. Π”.) пСрСдаСтся ΠΊΠ°ΠΊ строка.
 
ДСйствиС Π”Ρ€ΡƒΠ³ΠΎΠ΅ дСйствиС Π—Π΄Π΅ΡΡŒ Π΅Ρ‰Π΅ ΠΊΠΎΠ΅-Ρ‡Ρ‚ΠΎ

Π“Ρ€Π°Π½ΠΈΡ‡Π½ΠΎΠ΅ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅

По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Ρ€Π°ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΠ΅ΡΡ списки Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Ρ‹ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΈΠΌ элСмСнтом ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠΈ, Ρ‡Π΅Π³ΠΎ достаточно Π² Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ ситуаций.Однако, Ссли Π²Ρ‹ помСститС Ρ€Π°ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉΡΡ список Π²Π½ΡƒΡ‚Ρ€ΠΈ элСмСнта, для ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π·Π°Π΄Π°Π½ΠΎ ΠΏΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ : ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠ° (ΠΈΠ»ΠΈ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½Ρ‹ΠΉ), Ρ€Π°ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰Π΅Π΅ΡΡ мСню ΠΌΠΎΠΆΠ΅Ρ‚ — Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ситуациях — ΠΎΠ±Ρ€Π΅Π·Π°Ρ‚ΡŒΡΡ. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±ΠΎΠΉΡ‚ΠΈ это, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Π³Ρ€Π°Π½ΠΈΡ‡Π½Ρ‹ΠΉ элСмСнт Ρ‡Π΅Ρ€Π΅Π· ΠΎΠΏΠΎΡ€Ρƒ border prop. ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Π΅ значСния: 'scrollParent' (ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ), 'viewport' , 'window' ΠΈΠ»ΠΈ ссылка Π½Π° элСмСнт HTML. Π“Ρ€Π°Π½ΠΈΡ‡Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ пСрСдаСтся нСпосрСдствСнно Π² ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ Popper.js sizesElement .

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: Когда Π³Ρ€Π°Π½ΠΈΡ†Π° — любоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎΠ΅ ΠΎΡ‚ значСния ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ 'scrollParent' , ΡΡ‚ΠΈΠ»ΡŒ position: static примСняСтся ΠΊ ΠΊΠΎΡ€Π½Π΅Π²ΠΎΠΌΡƒ элСмСнту Ρ€Π°ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰Π΅Π³ΠΎΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ΡŒ мСню Β«Ρ€Π°Π·ΠΎΡ€Π²Π°Ρ‚ΡŒΡΡΒ». ΠΈΠ· «ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠΈ». Π’ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ситуациях это ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ²Π»ΠΈΡΡ‚ΡŒ Π½Π° ваш ΠΌΠ°ΠΊΠ΅Ρ‚ ΠΈΠ»ΠΈ располоТСниС ΠΊΠ½ΠΎΠΏΠΊΠΈ запуска Ρ€Π°ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰Π΅Π³ΠΎΡΡ списка. Π’ этих случаях Π²Π°ΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π·Π°ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Ρ€Π°ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉΡΡ список Π² Π΄Ρ€ΡƒΠ³ΠΎΠΉ элСмСнт.

Π Π°ΡΡˆΠΈΡ€Π΅Π½Π½Π°Ρ конфигурация Popper.js

Если Π²Π°ΠΌ Π½ΡƒΠΆΠ΅Π½ ΠΏΡ€ΠΎΠ΄Π²ΠΈΠ½ΡƒΡ‚Ρ‹ΠΉ Popper.js, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π°ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΠ΅ΡΡ списки соотвСтствовали вашим потрСбностям, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠΏΠΎΡ€Ρƒ popper-opts для ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ объСдинСн со значСниями ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ BootstrapVue.

Π—Π°ΠΉΠ΄ΠΈΡ‚Π΅ Π² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ Popper.js, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ всС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅ : Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Ρ‹ , смСщСниС , Π³Ρ€Π°Π½ΠΈΡ†Π° ΠΈ no-flip ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΡ‚Π΅Ρ€ΡΡ‚ΡŒ своС дСйствиС ΠΏΡ€ΠΈ пСрСзаписи ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ Popper.js.

ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… ΠΊΠ½ΠΎΠΏΠΎΠΊ

Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Π½ΡƒΡŽ ΠΊΠ½ΠΎΠΏΠΊΡƒ Ρ€Π°ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰Π΅Π³ΠΎΡΡ списка, Π³Π΄Π΅ лСвая ΠΊΠ½ΠΎΠΏΠΊΠ° обСспСчиваСт стандартноС событиС click ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ ссылок, Π° правая Ρ‡Π°ΡΡ‚ΡŒ — это ΠΊΠ½ΠΎΠΏΠΊΠ° ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Ρ€Π°ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰Π΅Π³ΠΎΡΡ мСню.

 
ДСйствиС Π”Ρ€ΡƒΠ³ΠΎΠ΅ дСйствиС Π—Π΄Π΅ΡΡŒ Π΅Ρ‰Π΅ ΠΊΠΎΠ΅-Ρ‡Ρ‚ΠΎ ...

ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ссылки Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΈ

ЛСвая раздСлСнная ΠΊΠ½ΠΎΠΏΠΊΠ° ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ прСдставляСт собой элСмСнт Ρ‚ΠΈΠΏΠ°















Π’ΠΏΠ΅Ρ€Π²Ρ‹Π΅ здСсь? Π—Π°Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ΠΈΡ€ΡƒΠΉΡ‚Π΅ΡΡŒ
Π—Π°Π±Ρ‹Π»ΠΈ ΠΏΠ°Ρ€ΠΎΠ»ΡŒ?