-1

Is there any specific css selector to style container which contains specific numbers of children. For example:

<div class="container">
   <div class="child"></div>
   <div class="child"></div>
   <div class="child"></div>
   <div class="child"></div>
   <div class="child"></div>
   <div class="child"></div>
   <div class="child"></div>
</div>

So I need to apply 'justify-content: flex-start;' to .container only if it has 1, 5, 6 or 7 children. At other cases it has to contain 'justify-content: center;' property

Ifenkiul
  • 1
  • 1

1 Answers1

-1

If you know the number of items youre about to render, add it as data attribute and use it for styling.

.container {
  justify-content: center;
}

.container[data-itemcount="1"],
.container[data-itemcount="5"].,
.container[data-itemcount="6"],
.container[data-itemcount="7"] {
  justify-content: flex-start;
}
<div class="container" data-itemcount="3">
  <div class="child">Child</div>
  <div class="child">Child</div>
  <div class="child">Child</div>
</div>

<div class="container" data-itemcount="4">
  <div class="child">Child</div>
  <div class="child">Child</div>
  <div class="child">Child</div>
  <div class="child">Child</div>
</div>

<div class="container" data-itemcount="5">
  <div class="child">Child</div>
  <div class="child">Child</div>
  <div class="child">Child</div>
  <div class="child">Child</div>
  <div class="child">Child</div>
</div>

<div class="container" data-itemcount="7">
  <div class="child">Child</div>
  <div class="child">Child</div>
  <div class="child">Child</div>
  <div class="child">Child</div>
  <div class="child">Child</div>
  <div class="child">Child</div>
  <div class="child">Child</div>
</div>
Fabian S.
  • 2,441
  • 2
  • 24
  • 34
  • Thanks. I have this way. But is there some specific selector for solvation. Without additional changes to template, using JS and so on? – Ifenkiul Oct 29 '21 at 09:25
  • No, you can target a specific child in a container but you can not target a container from its contents in css only. Its kinda only "outside in", never "Inside out". – Fabian S. Oct 29 '21 at 09:42
  • 1
    So implementation with data-attribute will be the best. Thanks. – Ifenkiul Oct 29 '21 at 09:52