<div class="rightsidebox">
<div class="item-info-list">
<p>Model: AIDCU</p>
<div class="product-details">
<p></p>
<div class="price-box"> <span class="regular-price" id="product-price-1617-related">
<span class="price">$8.99</span></span>
</div>
<p></p>
</div>
</div>
Я хочу сделать стиль для цены и сделать зеленый цвет только в том случае, если он находится в правом поле div, и я хочу использовать css, я не могу изменить структуру, потому что это тема, и она не должна противоречить другим ценам в другие темы
Я могу использовать div.rightsidebox>div.item-info-list
но я не могу идти дальше из-за абзаца там, как я могу его решить? У меня слабость в использовании ">" и нескольких классов друг в друге
.rightsidebox .price { color: green !important; } // important to override other styles
EDIT: Использование> - selectorr
Селектор элементов>> используется для выбора элементов с определенным родителем. Примечание. Элементы, которые не являются непосредственно дочерними элементами указанного родителя, не выбраны. Больше информации
Я считаю, что это то, что вы ищете:
div.rightsidebox>div.item-info-list>div.product-details {
background:#ff0000;
}
JSFiddle: http://jsfiddle.net/RF5e7/
Если вы просто хотите выбрать price
и сделать ее зеленой, если она содержится в правом поле:
.rightsidebox .price {
color: green !important;
}
.rightsidebox .item-info-list p {
/* code */
}
Это приведет к элементу абзаца внутри классов, определенных там внутри таблицы стилей (выше курса).
Вам не нужно использовать div.rightsidebox
который требуется, только если у вас есть имена классов для нескольких элементов. В противном случае только .rightsidebox
в порядке.
Подробнее о дочерних селекторах CSS вы можете узнать здесь: https://developer.mozilla.org/en-US/docs/Web/CSS/Child_selectors
div.rightsidebox>div.item-info-list .price{
color: green;
}