CSS deklarowanie dziedziczenia

0

Cześć. Chciałem prosić o pomoc w optymalizacji kodu.

<?php
kategorie=array(1,2,3,4,5);

echo '<ul>';
for($x=0;$x<count($kategorie);$x++){
echo '<li class="li_'.$kategorie.'">Przykładowy tekst</li>';
}
echo '</ul>';
?>
.li_1{
margin:2px;
padding:1px;}
.li_2{
margin:2px;
padding:2px;}
.li_3{
margin:2px;
padding:3px;}
.li_4{
margin:2px;
padding:4px;}
.li_5{
margin:2px;
padding:5px;}

Chciałbym zoptymalizować kod tak, aby mieć nadrzędny element 'li_glowny', a pozostałe 'li_x' dziedziczyłyby wszystko z niego.

.li_glowny{
margin:2px;}
.li_1{
padding:1px;}
.li_2{
padding:2px;}
.li_3{
padding:3px;}
.li_4{
padding:4px;}
.li_5{
padding:5px;}

Z góry dziękuje za sugestie

0

Jedyne co możesz zrobić to zamiast powtarzać
margin: 2px; przy każdym li, mógłbyś zrobić

li { 
  margin: 2px;
}

Po drugie mógłbyś generować atrybut style bezpośrednio w tej pętli i od razu dodawać ten styl margin:2px. Wtedy praktycznie css masz załatwiony.

foreach ($kategorie as $x) {
  echo '<li style="margin: ' . $x. 'px"></li> ';
} 
0

Dodaj do każdego elementu li, który powinien mieć margines 2px, klasę li_glowny. Będzie to zatem wyglądać w następujący sposób

<?php
kategorie=array(1,2,3,4,5);
 
echo '<ul>';
for($x=0;$x<count($kategorie);$x++){
echo '<li class="li_glowny li_'.$kategorie.'">Przykładowy tekst</li>';
}
echo '</ul>';
?>;
?> 
0

BTW co zwraca "li_" + $kategorie, w momencie kiedy $kategorie to tablica?...

1 użytkowników online, w tym zalogowanych: 0, gości: 1