-
Notifications
You must be signed in to change notification settings - Fork 600
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Sibling combinators #320
Comments
Слово сиблинг при довольно близком соседе и нулевом (важно!) употреблении — это что-то странное. |
С этим «соседством» и раньше были вопросы, но именно на нем (не без труда) сошелся консенсус в прошлый раз. На мой взгляд, оно логично: селектор соседа строится с помощью простых селекторов, объединенных комбинатором соседства. Но можно пересмотреть всю систему еще раз, если найдутся варианты лучше. |
Сильно в спор идти не буду, но sibling «соседом» вы не переведёте ни в какой иной ситуации, а фронтенд почему-то будет исключением? ОК, ладно, sibling — это сосед... а сосед — это sibling? Кто вообще такой сосед? Только тот, кто с твоего же этажа? Или этаж не важен? Может из соседнего дома? А через семь кварталов на одной и той же улице он тоже ещё сосед? А через 15? Сплошные вопросы )) |
Давайте не скатываться в изобретение языка. Мы не минобр или минкульт какой-нибудь, мы просто фиксируем, направляем. Ну напишем мы «сиблинг» в словаре, останемся довольны. Но никто так как ни говорил, так и не будет. Толку-то? |
Что такое соседний элемент в DOMе, по-моему, понятно интуитивно. Мало кому придет в голову называть соседними элементы из разных родителей. А вот кто такой «сиблинг», боюсь, сходу поймут разве что генетики или те, кто и так знает английский... Вот что, имхо, можно уточнить, так это то, что это селекторы/комбинаторы не просто соседа/соседей, а именно следующих соседей, что поиск идет только вперед. Кстати, на MDN с какого-то перепугу «селектором следующего элемента» обозвали как раз комбинатор |
По делу: adjacent sibling вполне может быть «примыкающим/прилегающим элементом». На мой взгляд фраза «непосредственный сосед» точно так же ничего не объясняет для новичков, как и «примыкающий сиблинг». adjacent sibling combinator был бы «комбинатором примыкающего элемента». М? Было бы как-то так:
Не по делу (с уважением): Говоря про изобретение языка, а как ты думаешь это должно происходить; кто, если не разработчики должны изобретать варианты, профессора в минобре? Оно ж не «само» в язык попадает, так чего отмахиваться? |
Ворклет — это что-то новое, на это есть все шансы повлиять. Этим селекторам сто лет в обед, мы можем только зафиксировать в этом случае. Если говорить про задачу назвать разные селекторы, то важно решать её в контексте — не по одному, а в списке всех типов селекторов. См. также как мы в Академии назвали селекторы: ч. 1, ч. 2, ч. 3. |
Конечно, это сильно opinionated;), но лично меня (в роли новичка) «примыкающий/прилегающий» могло бы ввести в ступор, направив мысли в сторону визуальной близости. В DOM-инспекторе лично я никакого прилегания не вижу, там просто соседние строчки кода, а «примыкающим» сбоку к родителю мне мог бы показаться и первый потомок. Понятно, что это вопрос привычки... @pepelsbey, а кстати, почему в словарик не попали термины из Академии? На мой взгляд, какой-то селектор действительно звучит и запоминается лучше, чем селектор/комбинатор чего-то (причем если у селекторов что-то — это сами элементы, то у комбинаторов — отношения между ними). Может, действительно внедрить удачный вариант «сестринский» для
А альтернативные варианты, употребимые и не очень, можно указать в скобках после «тж.». Ну и MDN привести в соответствие, на всякий случай:) |
Можно обсудить и сделать второй заходи по селекторам вот прямо здесь, в рамках обсуждения сиблингов. Если найдём что-то лучше, чем варианты Академии, то и в Академии поменять сможем. |
Мне варианты Академии очень нравятся краткостью и запоминаемостью (в сочетании с употребимостью, что называется, in the wild), а также тем, что одним словом можно назвать и комбинатор, и весь селектор с ним (уходит проблема сосед/соседство). Смущает только выбивающийся из ряда «селектор последующих элементов», но это не критично, к тому же он в любом случае намного лучше MDNовского варианта. Ну и совсем мелочь... «соседний селектор» лично для меня тоже скорее соседнее правило в CSS-файле, чем селектор соседнего элемента, но это уже «opinionated» дальше некуда и с этим я вполне могу жить:) P.S. Для |
Почему важно перевести слово adjacent, вы спросите? А я отвечу :) Лингв. справка: Это я к чему — это к тому, что во фразе adjacent sibling selector ключевым словом является sibling, а не selector. Переводить его, как «какой-то там селектор» нежелательно, он «селектор чего-то». Хотите верьте, хотите — нет :) @SelenIT мнение про визуальное прилегание справедливо в полной мере. Давай попробуем перевести ситуацию на английскую почву, как английский новичок воспринимает слово adjacent? Точно также как и мы воспринимаем «примыкающий»... наверное ))) Про инспектор и ДОМ речь же не идёт пока. |
И всё-таки главное слово в compound noun — именно последнее, определяемое. А существительные в роли определений, AFAIK, постепенно дрейфуют в сторону прилагательных до степени смешения с ними (passenger plane, конечно, можно перевести как Насчет, того, как англоговорящие воспринимают adjacent — хороший вопрос! Кембриджский словарь дает варианты very near, next to, or touching. Как по мне, первые два значения ближе-таки к нашему «соседнему» (жалко, нет прилагательного от «рядом»)... но тут уже я пристрастен:). А насчет DOM и инспектора — имхо, зря речь не идет:). На мой взгляд, F12 — это первое, с чем надо освоиться новичку, т.к. в HTML нельзя слепо полагаться на теги в разметке, и надо как можно раньше приучаться рассматривать ту структуру, с которой реально имеет дело браузер, в подходящем для этого инструменте. |
Попытался сделать понятное описание и разложить по полочкам. sibling (также general sibling), сестринский элемент. В CSS так называют элементы, следующие после формирующего (англ. former element). Напр. в селекторе adjacent sibling, примыкающий элемент. В CSS так называют первый из сестринских элементов. Напр. в селекторе adjacent sibling selector, селектор примыкающего элемента, см. примыкающий элемент. general sibling selector, селектор сестринских элементов, см. сестринский элемент. Ну норм же описание, люди ))) Единственное, что режет глаз, (нет, не бревно) — это фразы вида «элементом являются элементы». И да, продолжаю пропихивать «примыкающий» (не прилегающий) в качестве точного аналога слова adjacent, зная, что так пока никто не говорит и вариант не нашёл широкого применения. Считаю, что никому неизвестный, но правильно передающий смысл вариант куда важнее, чем неправильный, но популярный. @SelenIT твой классный пример с самолётом (как и очевидная разница между swimming pool и swimming girl) является подтверждением, что под такие фразы нельзя подобрать один паттерн перевода. Переходя к sibling combinator и sibling selector, я всё же настроен предлагать «селектор чего-то», как в примерах выше и как написан текущий вариант с соседом, поскольку ты и сам заметил, как звучит «соседний селектор». Он действительно отражает соседство двух правил в одном файле. Похожая проблема представляется и в browsing context, хоть я и предложил «браузерный», а не какой-нибудь «браузинговый» контекст, нужно будет разрулить перевод browser context (если такое сочетание вообще встречается), который тоже вполне может быть «браузерным». |
@skip405, моё главное возражение против комбинатора сестринских элементов и т.п. в том, что если селектор действительно выбирает элементы, то комбинатор не комбинирует элементы — он выражает отношение между элементами, соответствующими простым селекторам, которые он комбинирует, чтобы полученный с его помощью сложный селектор мог выбрать соответствующий элемент. Именно поэтому был селектор соседнего элемента, но комбинатор соседства. А любая неточность в определении, на мой взгляд, мешает и пониманию. Варианты с прилагательным, на мой взгляд, этой проблемы лишены — прилагательное само по себе более абстрактно, а существительное задает ему контекст, в котором интуитивно понятно, что сестринский селектор — это селектор сестринских элементов, а сестринский комбинатор — это комбинатор, выражающий отношение сестринства между частями селектора. Поскольку при этом они еще и 1) короче, 2) легче для запоминания, 3) больше распространены в обиходе — на мой взгляд, этого достаточно для того, чтобы предпочесть их. И, увы, я не могу согласиться, что примыкающий — более точный перевод для adjacent element (в контексте DOM-дерева, к которому применяется CSS), чем соседний элемент. Начиная с меньшей благозвучности (корень -мык- часто несет негативную окраску — «помыкать», «умыкнуть» и т.п.), совершенно лишнего здесь, на мой взгляд, причастного суффикса -ющ- (элемент ведь ничего не делающий, он просто сидит себе рядом с другим, по соседству с ним!), и заканчивая оттенком не просто близости, а тесного касания, которое у adjacent, согласно кембриджскому словарю, никак не основное и вообще факультативное. Смысл adjacent element в контексте DOM не в том, что они касаются или прилегают/примыкают друг к другу вплотную, а всего лишь в том, что между ними нет других элементов — они соседствуют напрямую. Проблему с двусмысленностью соседнего селектора я предложил решить заменой его на соседский селектор — но опять же, не стоит эту проблему преувеличивать (в конце концов, читатель веб-стандартов явно не идиот и понимает контекст:). В общем, я не вижу от введения этого термина выигрыша ни в точности, ни в выразительности. Полагаю, именно поэтому он и не прижился (хотя попытки бывали и ��аньше). На правах конструктивного оффтопа, в CSS слово adjacent встречается в еще одном контексте — как adjacent margins (те самые внешние отступы, которые могут «схлопываться»). Вот для этого случая, по-моему, варианты примыкающие или смежные вполне уместны — там действительно есть оттенок именно соприкосновения. P.S. Ну и former element, по-моему, явно предыдущий/предшествующий, а вовсе не «формирующий» (тогда было бы forming). |
Спасибо за пояснение позиции, @SelenIT я не буду аргументы уже подбирать, надо закруглиться, как мне кажется :) Переведи, пожалуйста, типичный разговор в типичной компании, если не затруднит, чтобы и в контексте разговора были понятны твои варианты, не только в контексте словарной статьи. Dev 1: Damn, why are all the spans red and not just the first one? |
«сестринский комбинатор» :) без улыбки я не могу это читать )) да и «комбинатор сестринских элементов» не лучше )) блин, почему так сложно?! |
Может, это не минус, а плюс? Вызвало эмоциональную реакцию (тем более позитивную) — легче запомнилось?) Разговор я перевел бы примерно так:
На мой взгляд, то, что в живой речи термин может использоваться в вариациях — это нормально. В репликах ведь не было слов селектор и комбинатор, так что «в лоб» словарная статья сюда бы всё равно не подошла)) |
@SelenIT по поводу former мне так тоже сначала показалось, но я чёт потом подумал, что может это form-former как work-worker. Да, это мой бзик ) |
+
.~
.КМК, использование слова «соседство» вместо «соседа» немного искажает.
Понимая всю сложность передачи в русском языке слова sibling в отношении элементов имеющих общего родителя, предлагаю вариант сиблинг. Генетический термин в качестве подтверждения наличия такого слова в языке :)
непосредственногопримыкающего сиблинга,+
~
The text was updated successfully, but these errors were encountered: