[а-яА-ЯЁё-]+
— одна и более буква кириллицы в верхнем и нижнем регистре или знака -
\s
— пробельный символ[а-яА-ЯЁё-]+
— одна и более буква кириллицы в верхнем и нижнем регистре или знака -
Под данное регулярное выражение будет валидным ввод - -
Поэтому тире так же следует добавить в отдельную группу, что бы после него шли буквенные символы:
[а-яА-ЯЁё]+(-[а-яА-ЯЁё-]+)?\s[а-яА-ЯЁё-]+(-[а-яА-ЯЁё-]+)?
Теперь тире может быть установлено только в середину слова
<form> <input name="i_like" required pattern="[а-яА-ЯЁё]+(-[а-яА-ЯЁё-]+)?\s[а-яА-ЯЁё-]+(-[а-яА-ЯЁё-]+)?" title="Кириллица разделенная одиночным пробелом" > <button>Тык</button> </form>
2
Зарегистрируйтесь или войдите
Регистрация через Facebook
Регистрация через почту
Отправить без регистрации
Почта
Необходима, но никому не показывается
Отправить без регистрации
Почта
Необходима, но никому не показывается
Нажимая на кнопку «Отправить ответ», вы соглашаетесь с нашими пользовательским соглашением, политикой конфиденциальности и политикой о куки
Соглашение по именованию / Методология / БЭМ
Имя БЭМ-сущности уникально. Во всех технологиях (CSS, JavaScript, HTML) одна и та же БЭМ-сущность всегда называется одинаково. Основная идея соглашения по именованию — вложить смысл в имена и сделать их максимально информативными для разработчика.
Можно сравнить одно и тоже имя CSS-селектора, написанное разными способами:
menuitemvisible
menu-item-visible
menuItemVisible
Чтобы понять смысл первого имени, нужно вчитаться в каждое слово. В последних двух примерах имя явно разделяется на логические части. Но ни одно из имен пока не помогает точно определить, что menu
— это блок, item
— элемент, а visible
— модификатор. Чтобы имена сущностей были однозначными и понятными, в БЭМ были разработаны правила формирования имен БЭМ-сущностей.
Правила формирования имен
block-name__elem-name_mod-name_mod-val
Имена записываются латиницей в нижнем регистре.
Для разделения слов в именах используется дефис (
-
).Имя блока задает пространство имен для его элементов и модификаторов.
Имя элемента отделяется от имени блока двумя подчеркиваниями (
__
).Имя модификатора отделяется от имени блока или элемента одним подчеркиванием (
_
).Значение модификатора отделяется от имени модификатора одним подчеркиванием (
_
).Значение булевых модификаторов в имени не указывается.
Важно! В методологии БЭМ не существует элементов элементов. Правила именования запрещают создавать элементы элементов, но в DOM-дереве элементы можно вкладывать друг в друга.
Примеры
В HTML БЭМ-сущности представлены атрибутом class
. В БЭМ во всех технологиях происходит обращение к классу:
CSS
JavaScript
шаблоны
Примеры правил формирования имен приведены на CSS.
Имя блока
menu
Почему префиксы в именах блока не нужны?
HTML
<div>...</div>
CSS
.menu { color: red; }
Имя элемента
menu__item
Важно! Имена одинаковых элементов одного и того же блока совпадают. Например, все пункты в блоке меню называются
menu__item
.
HTML
<div> ... <span></span> </div>
CSS
.menu__item { color: red; }
Имя модификатора блока
menu_hidden
menu_theme_islands
HTML
<div>...</div> <div>...</div>
CSS
.menu_hidden { display: none; } .menu_theme_islands { color: green; }
Имя модификатора элемента
menu__item_visible
menu__item_type_radio
HTML
<div> . .. <span>...</span> </div>
CSS
.menu__item_visible {} .menu__item_type_radio { color: blue; }
Альтернативные схемы именования
Описанные выше правила формирования имен — это классическая схема именования БЭМ-сущностей. Все инструменты БЭМ по умолчанию настроены на классическую схему.
Существуют альтернативные схемы именования, которые активно используются в БЭМ-сообществе. Чтобы во всех технологиях применять одинаковые имена, созданные по альтернативным схемам, используйте инструмент bem-naming. По умолчанию bem-naming
содержит настройки соглашения по именованию, предложенного методологией, но позволяет добавлять правила для применения альтернативных схем.
Стиль Two Dashes
block-name__elem-name--mod-name--mod-val
Имена записываются латиницей в нижнем регистре.
Для разделения слов в именах БЭМ-сущностей используется дефис (
-
).Имя элемента отделяется от имени блока двумя подчеркиваниями (
__
).Булевые модификаторы отделяются от имения блока или элемента двумя дефисами (
--
).Значение модификатора отделяется от его имени двумя дефисами (
--
).
Важно! Двойной дефис внутри комментария (
--
) может вызвать ошибки при валидации HTML-документа.
Стиль CamelCase
blockName__elemName_modName_modVal
Имена записываются латиницей.
Каждое слово внутри имени пишется с заглавной буквы.
Разделители элементов и модификаторов совпадают с классической схемой.
Стиль React
BlockName-ElemName_modName_modVal
Имена записываются латиницей.
Имена блоков и элементов пишутся с заглавной буквы. Имена модификаторов — со строчной.
Каждое слово внутри имени пишется с заглавной буквы.
Имя элемента отделяется от имени блока одним дефисом (
-
).Разделители имени и значения модификаторов совпадают с классической схемой.
Стиль No-namespace
_available
Имена записываются латиницей.
Имя блока или элемента перед модификатором не указывается.
Такая схема именования ограничивает использование миксов, так как не дает возможности определить, к какому блоку или элементу относится модификатор.
Ваша схема именования
Можно создать собственную схему именования БЭМ-сущностей. Важно, чтобы разделители в новой схеме давали возможность на программном уровне отделять блоки от элементов и модификаторов.
А | Dash for Python Documentation
Компонент A
.
A
представляет собой оболочку для <a>
элемент HTML5.
Для получения подробной информации об атрибуте см.:
https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a
Получите доступ к этой документации в своем терминале Python с помощью:
«`pythonhelp(dash. html.A)
«`Наша рекомендуемая IDE для написания приложений Dash — Dash Enterprise 9.0005 Data Science Workspaces,
, который имеет поддержку ввода для свойств компонента Dash.
Узнайте, использует ли ваша компания
Dash Enterprise.
дочерние элементы
( список или компонент тире в единственном числе, строка или число ; необязательно):
дочерние элементы этого компонента.
id
( строка ; необязательно):
Идентификатор этого компонента, используемый для идентификации компонентов тире в обратных вызовах
. Идентификатор должен быть уникальным для всех компонентов в
приложение.
n_clicks
( число ; по умолчанию 0
):
Целое число, представляющее количество раз, когда этот элемент был нажат
раз.
n_clicks_timestamp
( число ; по умолчанию -1
Целое число, представляющее время (в мс с 1970 года), когда изменилось
n_clicks. Это можно использовать, чтобы узнать, какая кнопка была изменена
в последний раз.
key
( string ; необязательно):
Уникальный идентификатор компонента, используемый
React.js для повышения производительности при рендеринге компонентов См.
https://reactjs.org/docs/lists-and-keys. html для получения дополнительной информации.
загрузка
( строка ; необязательно):
Указывает, что гиперссылка должна использоваться для загрузки ресурса.
href
( строка ; необязательно):
URL связанного ресурса.
hrefLang
( строка ; необязательно):
носитель
( строка ; необязательно):
Указывает подсказку носителя, для которого
был разработан связанный ресурс.
referrerPolicy
( строка ; необязательно):
Указывает, какой реферер отправляется при получении ресурса.
отн.
( строка ; необязательно):
Задает отношение целевого объекта к объекту ссылки.
форма
( строка ; необязательно)
цель
( строка ; необязательно):
Указывает, где открыть связанный документ (в элементе <00>) или 9005 где отображать полученный ответ (в случае элемента