Ответ 1
В CSS нет такой функциональности. Вам нужно будет использовать решение JS, чтобы найти их на клиентской машине или серверное решение, чтобы применить дополнительный класс к первому элементу с этим классом CSS. Что нужно использовать, зависит от того, насколько важно стилизовать этот элемент уникально.
Используя jQuery, вы можете найти первый экземпляр класса с помощью:
var firstAsJQueryObject = $('.showreel').eq(0);
var firstAsDOMElement = $('.showreel')[0];
Использование чистого JavaScript в современных браузерах:
var firstAsDOMElement = document.querySelector('.showReel');
Использование чистого JavaScript в старых браузерах:
function findFirstElementWithClass(className){
var hasClass = new RegExp("(?:^|\\s)"+className+"(?:\\s|$)");
for (var all=document.getElementsByTagName('*'),len=all.length,i=0;i<len;++i){
if (hasClass.test(all[i].className)) return all[i];
}
}
var firstAsDOMElement = findFirstElementWithClass('showReel');
Если вы собираетесь использовать JavaScript, вместо применения визуального стиля через JavaScript я бы предложил применить класс с использованием JavaScript и по-прежнему использовать CSS для стилирования элемента:
// Using jQuery for simplicity
$('.showreel').eq(0).addClass('first-showreel');
.first-showreel {
/* apply your presentation here */
}
Изменить. Обратите внимание, что ответ на более высокий голос от @mickey_roy неверен. Он будет работать только тогда, когда элемент с классом, который вы хотите, также является первым элементом его типа на странице.
Запись .showreel:nth-of-type(1)
означает: "Найдите мне первый элемент с каждым именем класса, который также имеет класс showreel
". Если один и тот же тип элемента появляется ранее на странице без класса, он будет терпеть неудачу. Если другой тип элемента разделяет один и тот же класс, он не работает.
В вопросе спрашивается, как выбрать первый экземпляр класса. Ниже приведен пример того, как очень плохо ответ на этот вопрос.
div { color:red }
.showreel:nth-of-type(1) {
font-weight:bold;
color:green
}
<div>not this</div>
<div class="showreel">this should be green</div>
<div>not this</div>
<div class="showreel">not this</div>
<p class="showreel">not this</p>
<section class="showreel">not this</section>