2016-05-30 9 views
6

Próbuję utworzyć zestaw pól. Chcę spróbować sprawdzić, czy mogę ustawić rozmiar pudełka na podstawie jego pozycji w grupie.Styl elementu na podstawie jego pozycji w grupie

Obecnie jest to możliwe, jeśli wiem liczbę skrzynek wcześniej i użyć selektora :nth-child() i odpowiednią pozycję.

Ponieważ CSS ma już możliwość znalezienia pozycji elementu w grupie, czy możliwe jest użycie tego pozycjonowania jako danych wejściowych dla rozmiaru.

Tak na przykład coś takiego

#boxes:nth-child() { 
    height:calc(n * 10); 
    width:calc(n * 10); 
} 

Cel ten można łatwo osiągnąć za pomocą kodu po stronie serwera lub nawet JavaScript, ale po prostu ciekawy zrozumieć, jeśli możemy użyć CSS, aby to osiągnąć, stosując calc lub jakąkolwiek inną cechę .

+0

nie, niestety .. ale byłoby dobrze – jackjop

Odpowiedz

3

W selektorach CSS Level 3, nie ma żadnych metod kierowania elementu, używając zmiennych odpowiadających pozycji tego elementu w grupie, dostosowując style dla tego elementu.

W CSS funkcja calc() nie dopuszcza zmiennych. Jedynie wyrażenia matematyczne z dodawaniem (+), odejmowaniem (-), mno eniem (*) i dzieleniem (/) są dozwolone jako wartości składowe.

Z Sass jednak preprocesor CSS, za pomocą zmiennych w calc() funkcji jest możliwe.

Referencje:

1

Nie można tego zrobić w czystym CSS, ale można z SCSS. Na przykład:

@for $i from 1 through 5 { 
    .box:nth-child(#{$i}) { 
    height: 50px * $i; 
    } 
} 

można odtwarzać z kodem here.

+0

Dziękuję, scss jest z pewnością drogą – skv