CSS не имеет и не является (я не думаю), чтобы иметь выбор между селектором BETWEEN. Браузеры обрабатывают веб-страницы как потоки, а селектор между ними требует обращения к ранее прочитанному элементу, что замедляет время рендеринга. Эта страница содержит пояснения относительно желаемого селектора parent
, который также в некоторой степени применим к селектору between
.
Использование промежуточного элемента div просто в качестве элемента стиля не является семантически приемлемым, лучше использовать следующее.
Я думаю, что вам лучше всего использовать селектор ADJACENT для изменения верхней части либо positive
, либо negative
в ответ на соседа. Использование CSS3:
.positive + .negative { border-top-image:url('NEGATIVE_BELOW_POSTIIVE'); }
.negative + .positive { border-top-image:url('POSITIVE_BELOW_NEGATIVE'); }
Вы также можете использовать несколько фоновых изображений в CSS3 согласно:
.positive + .negative { background-image:url('NEGATIVE_BELOW_POSTIIVE');
background-position:center-top;
}
.negative + .positive { background-image:url('POSITIVE_BELOW_NEGATIVE');
background-position:center-top;
}
В CSS2 и более ранних версиях вам, вероятно, потребуется предварительно собрать все фоновые изображения и изменить их, используя приведенную выше стратегию.
.positive, .negative { background-image:url('DEFAULT'); }
.positive + .negative { background-image:url('NEGATIVE_BELOW_POSTIIVE'); }
.negative + .positive { background-image:url('POSITIVE_BELOW_NEGATIVE'); }