Я новичок в CSS, и после поиска в Google мне все еще трудно заставить работать селектор: last-child.
HTML:
<div class="A">
<div class="B">
<div class="C"></div>
</div>
<div class="B">
<div class="C"></div>
</div>
<div class="B">
<div class="C"></div>
</div>
</div>
CSS:
.A > .B > .C {
margin-bottom: 8px;
}
.A > .B > .C:last-child {
margin-bottom: 0px;
}
Моя цель - я хочу, чтобы первые два div .C имели нижнее поле, но последний .C div не должен иметь отступ. Однако: last-class не регистрируется - все 3 .C div имеют нижнее поле 8px.
Я также пробовал варианты: last-child в разных классах, и дочерний селектор против дочернего селектора
Я не уверен, что я делаю неправильно / что мне нужно сделать, чтобы установить для последнего поля класса .C значение 0px.
Редактировать: На самом деле я могу заставить вышеописанное работать в codepen.io ... ниже приведен мой фактический код, который я не могу заставить работать правильно.
<div class="A" ng-repeat="component in components">
<div title="{{component.name}}" ng-show="rightStatusBarFlags[component.id] === true" class="B" ng-class="(component.notifyFlag === true)? 'right-status-alert' : ''" ng-click="toggleComponentVisibility(component)">
<span class="C">
<img class="icon-component_{{component.id}}" ng-show="!component.notifyFlag"></img>
</span>
</div>
</div>
Это будет повторяться для количества компонентов, максимум 4 компонента.
Редактировать 2:
Это было решено с помощью разных вещей, предложенных ниже. Я изменил промежуток до div, затем понял, что angular повторяет div класса A. Ниже мой последний HTML и CSS:
HTML:
<div class="A">
<div class="B" ng-repeat="component in components">
<div title="{{component.name}}" ng-show="rightStatusBarFlags[component.id] === true" class="C" ng-class="(component.notifyFlag === true)? 'right-status-alert' : ''" ng-click="toggleComponentVisibility(component)">
<div class="btn btn-status-sections">
<img class="icon-component_{{component.id}}" ng-show="!component.notifyFlag"></img>
</div>
</div>
</div>
</div>
CSS:
.A .B .C {
margin-bottom: 8px;
}
.A .B:last-child .C {
margin-bottom: 0px;
}