Losowanie i wstawianie liczby w CSS

Wszystko o HTML, XHTML, XML, CSS.
4zywioly
Posty: 528
Rejestracja: 26 kwie 2011, 16:33:42
Strona na CBA.pl: 4zywioly.c0.pl
Płeć: Niewybrana
User Agent: Chrome Windows 1366x768
Kontakt:

Losowanie i wstawianie liczby w CSS

Post autor: 4zywioly »

Witam!
Mam 5 headerów, które składają się z 4 części każdy. Muszą być pocięte, bo są w kolumnach.

Chciałem zapytać, czy jest jakaś opcja, żeby zrobić tak, żeby losowało liczbe z zakresu 1-5 (liczba headerów) i wstawiało do nazwy pliku. Tylko liczba musi być taka sama dla każdej z 4 kolumn, żeby obrazek się zgadzał, a nie były to 4 różne obrazki.
CSS:

Kod: Zaznacz cały

#kol1 {background: #ffffff url(header/header1.jpg) no-repeat top left;}
#kol2 {background: #ffffff url(header/header2.jpg) no-repeat top left;}
#kol3 {background: #ffffff url(header/header3.jpg) no-repeat top left;}
#kol4 {background: #ffffff url(header/header4.jpg) no-repeat top left;}
 
I chciałbym, żeby było tak:

Kod: Zaznacz cały

#kol1 {background: #ffffff url(header/[wylosowana liczba z zakresu 1-5]header1.jpg) no-repeat top left;}
#kol2 {background: #ffffff url(header/[ta sama liczba]header2.jpg) no-repeat top left;}
#kol3 {background: #ffffff url(header/[ta sama liczba]header3.jpg) no-repeat top left;}
#kol4 {background: #ffffff url(header/[ta sama liczba]header4.jpg) no-repeat top left;}
 
tak dla objaśnienia: [wylosowana liczba=numer headera]header1[a ta jedynka to pierwsza z czterech części headera].jpg
mam prosty kod PHP który generuje liczbę z zakresu 1-5, ale nie wiem czy da się to jakoś połączyć i na dodatek tak, żeby wykorzystał 4 razy tą samą liczbe...

jak coś to kod do losowania:

Kod: Zaznacz cały

<?php
$a = 1;
$b = 5;
echo rand($a, $b);
?>
LaY
Posty: 1120
Rejestracja: 28 sty 2009, 15:20:07
Lokalizacja: Silesia
Płeć: Mężczyzna
User Agent: Opera Windows 1920x1080
Kontakt:

Re: Losowanie i wstawianie liczby w CSS

Post autor: LaY »

Czy kod css nagłówka musi koniecznie być w zewnętrznym pliku?

Jeśli tak to zawsze możesz stworzyć nowy plik w którym przechowywałbyś tylko kod nagłówka i np. importował go do głównego cssa. Wtedy uzupełnienie go odpowiednią treścią nie jest żadnym problemem.

Kod nagłowka zapisywałbym w tablicy z której rekordy wybierałbym losując liczbę od 1 do 5. Później pozostaje otwarcie pliku, wyczyszczenie go jeśli coś w nim jest zapipsane i wstawianie nowej treści. Pytanie tylko czy cache nie będzie stanowić problemu...
Niě nerwuj hanysa
Awatar użytkownika
piwo
Posty: 673
Rejestracja: 13 lip 2010, 16:13:44
Płeć: Niewybrana
User Agent: Firefox Windows 1152x864

Re: Losowanie i wstawianie liczby w CSS

Post autor: piwo »

możesz spróbować wstawić takie coś do sekcji <head> w głównym szablonie

Kod: Zaznacz cały

<head>
    <style type="text/css">
        <?php $losowaliczba1to5 = rand(1,5); ?>
        #kol1 {background: #ffffff url(header/<?php echo $losowaliczba1to5;?>header1.jpg) no-repeat top left !important;}
        #kol2 {background: #ffffff url(header/<?php echo $losowaliczba1to5;?>header2.jpg) no-repeat top left !important;}
        #kol3 {background: #ffffff url(header/<?php echo $losowaliczba1to5;?>header3.jpg) no-repeat top left !important;}
        #kol4 {background: #ffffff url(header/<?php echo $losowaliczba1to5;?>header4.jpg) no-repeat top left !important;}
    </style>
</head>
(Prawdopodobnie może być wymagane poprawienie w powyższym przykładzie ścieżek do tych JPG)
cośtam/cośtam/header/<?php echo $losowaliczba1to5;?>headerX.jpg gdzie <?php echo $losowaliczba1to5;?> oznacza Twoją liczbę od 1 do 5

Odradzam pomysł dynamicznego modyfikowania pliku jako że
w sytuacji odczytu strony (próby modyfikacji) przez np 10 osób jednocześnie może to spowodować "niezłe jaja".
{$signature}
4zywioly
Posty: 528
Rejestracja: 26 kwie 2011, 16:33:42
Strona na CBA.pl: 4zywioly.c0.pl
Płeć: Niewybrana
User Agent: Chrome Windows 1366x768
Kontakt:

Re: Losowanie i wstawianie liczby w CSS

Post autor: 4zywioly »

Jupi :)

Dziękuje bardzo, działa :)
ODPOWIEDZ