Можно ли использовать 2 класса CSS с одинаковыми именами для селекторов и т. д. В одном файле HTML? Если да, то как отличить их друг от друга при стилизации элементов?






Да, это возможно. Определения во втором файле перезапишут определения первого файла. Невозможно различить их, кроме как добавить имена классов в соответствии с файлом.
вы имеете в виду 2 определения для одного и того же класса? или 2 имени класса на элементе?
Первый случай, нет.
<style>
.foo{
border:1px solid blue;
color:red;
}
.foo{
border:4px solid orange;
}
</style>
<div class = "foo">this will have an orange border and red text (no blue border)</div>
Второй случай, да
<div class = "class1 class2">this is valid</div>
Что ж, правда. Но, заблуждение. Каждое новое определение расширяет / отменяет предыдущее. В div "foo" по-прежнему будет красный текст.
Ах, моя беда, мой образец кода не соответствовал моей мысли. Xaisoft: если названия другие, то у вас все в порядке, вы можете делать все, что хотите. Единственная проблема в том, совпадают ли имена.
...that have similar names for the selectors
Если имена действительно похожий, а не идентичный, тогда проблем быть не должно.
Что ж, тогда ответы на перезапись, которые у вас уже есть, являются правильным ответом.
Да, это возможно, просто включите два файла css в раздел HEAD документа. Любые стили, установленные в первом, будут перезаписаны во втором, так что скажем, что у вас есть это:
Первый файл:
#something{
background-color: #F00;
color: #FFF;
}
А потом во втором файле:
#something{
background-color: #000;
}
Тогда цвет фона для #something будет заменен во втором файле на черный, но цвет останется прежним, поскольку второй файл ничего об этом не говорит.
Имейте в виду, что это происходит только с той же специфичностью - если бы более ранний был #something .blah, это бы выиграло.
Это должно сработать, попробуйте.
<style>
.foo{
border:1px solid blue;
color:red;
}
.foo{
border:4px solid orange !important;
}
</style>
<div class = "foo">this will have an orange border and red text (no blue border)</div>
2 одинаковых имени класса в 2 отдельных файлах.