Не работает слайдер JavaScript

275
23 ноября 2017, 02:10

Всем привет, вообщем практикуюсь на JavaScript, дело дошло до слайдера, и тут заминка. Делаю вот такой вот контейнер:

<section class="first_sect">
    <div class="slider">
        <div class="img_box">
            <img src="img/img1.jpg" alt="google.com" class="opas">
            <img src="img/img2.jpg" alt="google.com" >
            <img src="img/img3.jpg" alt="google.com" >
            <img src="img/img4.jpg" alt="google.com" >
            <img src="img/img6.jpg" alt="google.com" >
            <img src="img/img5.jpg" alt="google.com" >
        </div>
    </div>
</section>

Применяю следующее css правило:

.img_box > img {
   opacity: 0;
}

Делаю класс c opacity:1 для первого потомка img, далее через js через итерацию и newclass меняю класс у последующих элементов.

Собственно вопрос, почему приоритет для
.img_box > img {
    opacity : 0; 
}

Выше чем класс

.opas {
    opacity: 1;
}

И при переборе классов, opacity остается неизменным.

P.S решил проблему задав свойство опасисти, через класс

.slider img {
    opacity: 1;
}

Вообщем, спасибо за ответы, извините если вопрос нубовский. Только учюсь. Успехов Вам!)

Answer 1

Ваш вопрос мало касается js.
Но в целом: вся штука в том, что селектор .img_box > img более спецефичен, чем просто селектор по классу, из-за этого стили не применяются. Аналогичный эффект вы можете получить, если сделаете так:

.img_box img {
    opacity : 0; 
}

И перебивать его с помощью такого селектора:

.img_box .opas {
    opacity : 1; 
}

Так должно сработать как вы хотите

UPD
Про специфичность селекторов, да и в целом неплохая теория по html, css есть на Этом ресурсе
Конкретно про специфичность селекторов и их вес:
Хабра
Документация

READ ALSO
Выравнивание полями margin

Выравнивание полями margin

Подскажите почему свойство margin не выравнивает список ul по вертикали Поле справа слева добавляет, верх низ не выравнивает http://cssdeckcom/labs/5en

227
Bootstrap 4 dropdown menu не под кнопкой

Bootstrap 4 dropdown menu не под кнопкой

Не могу понять как сделать вывод dropdown-menu не под кнопкой а под самим меню, чтобы ширина этого dropdown-menu была равна ширине основной строки дабы...

429