Завершение кода
Полагаю, интерпретация тире как пунктуации или непрозрачного идентификатора зависит от выбранного редактора. Однако, как личное предпочтение, я предпочитаю возможность переходить между каждым словом в файле CSS, и это будет раздражать, если они будут разделены подчеркиванием и не будет остановок.
Кроме того, использование дефисов позволяет вам воспользоваться селектором атрибута | = , который выбирает любой элемент, содержащий текст, за которым, возможно, следует тире:
span[class|="em"] { font-style: italic; }
Это сделало бы следующие элементы HTML курсивным шрифтом:
<span class="em">I'm italic</span>
<span class="em-strong">I'm italic too</span>
Неоднозначность с арифметическим оператором
Я бы сказал, что доступ к элементам HTML с помощью точечной нотации в JavaScript - это скорее ошибка, чем функция. Это ужасная конструкция с первых дней ужасных реализаций JavaScript и не очень хорошая практика. Для большинства вещей, которые вы делаете с JavaScript в наши дни, вы бы хотели использовать CSS-селекторы для извлечения элементов из DOM в любом случае, что делает целую нотацию точек бесполезной. Какой из них вы бы предпочли?
var firstName = $('#first-name');
var firstName = document.querySelector('#first-name');
var firstName = document.forms[0].first_name;
Я считаю, что первые два варианта гораздо предпочтительнее, тем более что '#first-name'
можно заменить переменной JavaScript и построить динамически. Я также нахожу их более приятными для глаз.
Тот факт, что Sass включает арифметику в своих расширениях CSS, на самом деле не относится к самому CSS, но я понимаю (и принимаю) тот факт, что Sass следует языковому стилю CSS (за исключением префикса $
в переменные, которые, конечно, должны были быть @
). Если документы Sass должны выглядеть и чувствовать себя как документы CSS, они должны следовать тому же стилю, что и CSS, который использует дефис в качестве разделителя. В CSS3 арифметика ограничена функцией calc
, которая показывает, что в самом CSS это не проблема.
Несоответствие с именами переменных в разных языках
Все языки, будь то языки разметки, языки программирования, языки стилей или языки сценариев, имеют свой собственный стиль. Вы найдете это в подъязыках языковых групп, таких как XML, где, например, XSLT использует строчные буквы с разделителями дефисов, а XML Schema использует верблюжий регистр.
В общем, вы обнаружите, что принятие стиля, который выглядит и выглядит наиболее «родным» для языка, на котором вы пишете, лучше, чем пытаться придать свой собственный стиль каждому другому языку. Поскольку вы не можете избежать использования нативных библиотек и языковых конструкций, ваш стиль будет «загрязнен» нативным стилем, нравится вам это или нет, поэтому даже пытаться делать это довольно бесполезно.
Мой совет - не находить любимый стиль на разных языках, а вместо этого чувствовать себя как дома на каждом языке и учиться любить все его причуды. Одна из странностей CSS заключается в том, что ключевые слова и идентификаторы пишутся в нижнем регистре и разделяются дефисами. Лично я нахожу это очень визуально привлекательным и думаю, что оно вписывается в строчные буквы (хотя без дефиса) HTML .