DevProTalk

Forumi IT profesionalaca
web development, web design, e-business, SEO


Idite nazad   DevProTalk > Web development i web aplikacije > (X)HTML, JavaScript, DHTML, XML, CSS
Želite da se reklamirate ekskluzivno na ovoj poziciji? Javite se

(X)HTML, JavaScript, DHTML, XML, CSS Client scripting tehnologije, Dynamic HTML, Cascading Stylesheets, XML i standardi

Odgovori
 
Alati teme Način prikaza
Staro 09. 07. 2007.   #1
mungos
Knowledge base
Wrote a book
 
Datum učlanjenja: 09.06.2005
Poruke: 1.123
Hvala: 26
319 "Hvala" u 22 poruka
mungos is on a distinguished roadmungos is on a distinguished roadmungos is on a distinguished roadmungos is on a distinguished road
Default Any Colour You Like vs Da li je moguće...

Evo vam jedne razbibrige za dosadni ponedeljak ujutru, jel moguće ovako nešto izvesti:

1. Korisnik dođe na sajt, regularno mu se učita, hoće da promjeni color šemu sajta, iskoči mu jedan ovakav color picker http://www.colorjack.com/plugin/

2. Izabere jednu boju i kaže OK

3. Sad ide zanimljivi dio. Npr. primarna boja sajta definisana isključivo kroz CSS je recimo #000000 dok je ovaj recimo sad ubo #FFBB0

4. Da li sad može na neki način da skript automatski prošvrlja kroz CSS fajl sajta i odradi automatski search & replace #000000; sa #FFBB0;? Zatim sejvuje fajl i ponovo ga servira korisniku sada sa njegovom novom bojom?

Sad da li se ovo može izvesti server-side ili čak sve na klijentskoj strani, nisam sa aspekta tehnologije upoznat, kontam da svaki CSS fajl se faktički svuče u cache na client-side i kroz javascript bi se možda sve moglo odraditi na strani klijenta

Jel ovo izvodljivo ovako kako sam zamislio i da li može neko sa dpt da izvede ovo?
mungos je offline   Odgovorite uz citat
Staro 09. 07. 2007.   #2
Milos Vukotic
Knowledge base
Wrote a book
 
Avatar Milos Vukotic
 
Datum učlanjenja: 07.06.2005
Lokacija: Neđe ođe...
Poruke: 1.197
Hvala: 339
688 "Hvala" u 178 poruka
Milos Vukotic je pravi dragi kamenMilos Vukotic je pravi dragi kamenMilos Vukotic je pravi dragi kamenMilos Vukotic je pravi dragi kamenMilos Vukotic je pravi dragi kamenMilos Vukotic je pravi dragi kamenMilos Vukotic je pravi dragi kamen
Default

Mozes umjesto npr. "style.css" imati "style.php" koji ce biti dinamicki generisan.
Kad korisnik odabere boju to se npr. snimi u cookie ili session, iz cega style.php cita koja je osnovna boja i po njoj gradi ostatak css-a.
Znaci, u html ti stoji:
Kôd:
<link rel="stylesheet" type="text/css" href="style.php" />
a u style.php je bitno da kao prvu liniju metnes:
Kôd:
<?php header("Content-type: text/css"); ?>
__________________
Чак Норис може да си ги врзе врвките на чевлите со стапалата.

Poslednja izmena od Milos Vukotic : 09. 07. 2007. u 02:08.
Milos Vukotic je offline   Odgovorite uz citat
Staro 09. 07. 2007.   #3
kodi
133t
Master
 
Avatar kodi
 
Datum učlanjenja: 08.01.2006
Lokacija: Beograd
Poruke: 714
Hvala: 16
37 "Hvala" u 28 poruka
kodi is on a distinguished road
Pošaljite ICQ poruku za kodi
Default

postoji par nacina da se to resi

elem, moras da razmisljas malo drugacije
ako je pozadina crna, a neko izabere narandzastu, postoje velieke sanse da se neki tekst, ili tako nesto uopste nece videti, ili ce se jako slabo videti.

znaci jedna varijanta ti je da definises manji broj ponudjenih boja - pa da JS-om svitchujes alternativne css fajlove al to je daleko od elegantnog

druga varijanta je da napravis jednu JS funkciju, koja u zavisnosti od range-a izabrane boje farba tekst u crno, sivo ili belu. Boju bi mogao da cuvas u cookie-u

uglavnom fora je da imas sto optimizovaniji css fajl, sa sto manje klasa i ID-eva, tako da ne moras da menjas 1000 razlicitih stvari, vec generalizuj sve u 3-4 grupe, pozadina, tekst, senka, i kontrast boja i cao...

dobrodosao nazad na forum, i nadam se da ces uspeti u tome sto si naumio (mislim na potpis)
__________________
kodi je offline   Odgovorite uz citat
Staro 09. 07. 2007.   #4
kodi
133t
Master
 
Avatar kodi
 
Datum učlanjenja: 08.01.2006
Lokacija: Beograd
Poruke: 714
Hvala: 16
37 "Hvala" u 28 poruka
kodi is on a distinguished road
Pošaljite ICQ poruku za kodi
Default

Citat:
Originalno napisao Milos Vukotic Pogledajte poruku
Mozes umjesto npr. "style.css" imati "style.php" koji ce biti
.
.
.
ovo takodje radi, skroz na mestu resenje.
Al sam hteo to da izbegnem, zahteva refresh

EDIT: Htedoh reci, ja sam za JS resenje, kad vec imas JS picker.
EDIT2: JS resenje stedi bandwidth i server CPU
__________________

Poslednja izmena od kodi : 09. 07. 2007. u 02:21.
kodi je offline   Odgovorite uz citat
Staro 09. 07. 2007.   #5
Milos Vukotic
Knowledge base
Wrote a book
 
Avatar Milos Vukotic
 
Datum učlanjenja: 07.06.2005
Lokacija: Neđe ođe...
Poruke: 1.197
Hvala: 339
688 "Hvala" u 178 poruka
Milos Vukotic je pravi dragi kamenMilos Vukotic je pravi dragi kamenMilos Vukotic je pravi dragi kamenMilos Vukotic je pravi dragi kamenMilos Vukotic je pravi dragi kamenMilos Vukotic je pravi dragi kamenMilos Vukotic je pravi dragi kamen
Default

Citat:
Originalno napisao kodi Pogledajte poruku
Al sam hteo to da izbegnem, zahteva refresh

Sad lupam, mrzi me da isprobavam, mozda i grijesim
Moze li biti ovako:
Kôd:
<link rel="stylesheet" type="text/css" href="style.php" id="css_link"/>
i u javascriptu:
Kôd:
function promjenaBoje(boja)
{
document.getElementById("css_link").href="style.php?color="+boja;
}
na kraju, boju odabranu color picker-om saljes gornjoj funkciji kao argument, npr.
Kôd:
promjenaBoje("FFBB00");
Teoretski, samo refreshujes css... Da li bi radilo?
__________________
Чак Норис може да си ги врзе врвките на чевлите со стапалата.
Milos Vukotic je offline   Odgovorite uz citat
Staro 09. 07. 2007.   #6
ivanhoe
Ivan Dilber
Sir Write-a-Lot
 
Avatar ivanhoe
 
Datum učlanjenja: 18.10.2005
Lokacija: Bgd
Poruke: 5.320
Hvala: 104
2.344 "Hvala" u 583 poruka
ivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svima
Pošaljite poruku preko Skype™ za ivanhoe
Default

problem sa ovim je sto dizajn mora da bude jako minimalisticki, jedna boja pozadine, plus crna ili bela slova (koja menjas zavisno od izabrane pozadine).

Cim imas par boja to ce vec biti tesko uklopiti, a takodje postoji i problem sa gifovima koji imaju transparenciju (coskovi, dugmici) jer ce promena pozadine znaciti krzave ivice..

a takodje mySpace me je naucio da ne treba pustati ljude da biraju boje, jer vecina korisnika naprosto nema ukusa
__________________
Leadership is the art of getting people to want to do what you know must be done.
ivanhoe je offline   Odgovorite uz citat
Staro 09. 07. 2007.   #7
akubra
član
Certified
 
Avatar akubra
 
Datum učlanjenja: 17.10.2006
Poruke: 65
Hvala: 42
18 "Hvala" u 9 poruka
akubra is on a distinguished road
Default

To sto hoces moguce je uraditi u javascriptu, bez refresha i server side generisanja css-a, s tim da je potpuno tacno ovo sto je ivanhoe rekao, ali ako to stvarno hoces, onda ok.

Moze se pristuputi svakom css-u (nebitno da li je u pitanju iniline ili externi css fajl) i svaki rule se moze modifikovati, brisati ili dodavati novi. Ovo je primer koji sve #000000 boje fonta menja u #008000, a pozadine koje su #ffffff u #d0d0d0. Jedino je dodata funkcija color2hex, posto firefox boje predstavlja kao rgb(ddd, ddd, ddd), pa se to konvertuje u #xxxxxx format.

HTML kôd:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>JS change CSS</title>
<style>
body {
	font-family: arial, helvetica, sans-serif;
}
h1 {
	color: #000000;
	background-color: #ffffff;
}
p {
	color: #000000;
	background-color: #ffffff;
	width: 80%;
}
</style>
<script type="text/javascript">

function changecolor() {

	var css = document.styleSheets[0];
	var rules = (css.rules) ? css.rules : css.cssRules;
	for (var i = 0; i < rules.length; i++) {

		if (color2hex(rules[i].style.color) == '#000000') {
			rules[i].style.color = '#008000';
		}

		if (color2hex(rules[i].style.backgroundColor) == '#ffffff') {
			rules[i].style.backgroundColor = '#d0d0d0';
		}
	}
}
function color2hex(str) {

	var bytes = str.match(/^rgb\((\d+),\s*(\d+),\s*(\d+)\)$/);
	if (bytes) {
		var r = parseInt(bytes[1]).toString(16);
		var g = parseInt(bytes[2]).toString(16);
		var b = parseInt(bytes[3]).toString(16);

		r = (r.length == 1) ? ('0' + r) : r;
		g = (g.length == 1) ? ('0' + g) : g;
		b = (b.length == 1) ? ('0' + b) : b;

		return '#' + r + g + b;
	}

	return str.toLowerCase();
}
</script>
</head>
<body>

<h1>Lorem ipsum dolor sit amet</h1>

<p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Vestibulum vel mauris. Etiam blandit pretium pede. Curabitur ligula. Aenean auctor. Integer scelerisque velit in augue. In non lacus. Quisque sagittis aliquet libero.</p>

<input type="button" onclick="changecolor()" value="Change Colors">

</body>
</html>
akubra je offline   Odgovorite uz citat
Staro 09. 07. 2007.   #8
Dragan Babić
Designer guy
Wrote a book
 
Avatar Dragan Babić
 
Datum učlanjenja: 06.06.2005
Lokacija: Novi Sad
Poruke: 1.373
Hvala: 55
42 "Hvala" u 22 poruka
Dragan Babić će postati "faca" uskoro
Pošaljite poruku preko Skype™ za Dragan Babić
Default

Citat:
Originalno napisao ivanhoe Pogledajte poruku
a takodje mySpace me je naucio da ne treba pustati ljude da biraju boje, jer vecina korisnika naprosto nema ukusa
Pusti korisnike da rade i menjaju šta hoće i kako hoće, jer, ljudi ne vole lepo, to im je strano, vole obično i prosečno - ili čak ružno, to poznaju. Nama su njihove majspejs stranice noćna mora, njima su do jaja jer kontaju da su napravili nešto individualno i "cool". Tako da, slobodno ti njih pusti da rade šta god hoće sa dizajnom, jer na kraju oni gledaju u to, ti kupi $.
Dragan Babić je offline   Odgovorite uz citat
Staro 09. 07. 2007.   #9
mungos
Knowledge base
Wrote a book
 
Datum učlanjenja: 09.06.2005
Poruke: 1.123
Hvala: 26
319 "Hvala" u 22 poruka
mungos is on a distinguished roadmungos is on a distinguished roadmungos is on a distinguished roadmungos is on a distinguished road
Default

Hvala vam veliko na odgovorima! Sad cu detaljno da iscitam sva rjesenja, pa se javljam sa opsirnijim odgovorom.

Sto se tice boja, ne brinite: tipografija je #000, pozadina je #fff, borderi su u #ccc, samim tim cetvrta boja u kojoj su linkovi, logo i navigacija ostavlja veliku slobodu da se mjenja po zelji, samim tim, samo bi se ona i mjenjala.

@kodi: Povratak bludnog sina
mungos je offline   Odgovorite uz citat
Staro 09. 07. 2007.   #10
mungos
Knowledge base
Wrote a book
 
Datum učlanjenja: 09.06.2005
Poruke: 1.123
Hvala: 26
319 "Hvala" u 22 poruka
mungos is on a distinguished roadmungos is on a distinguished roadmungos is on a distinguished roadmungos is on a distinguished road
Default

Potpisujem ono što je rekao Dragan, s druge strane dovoljno dugo se bavim Webom da znam da li želim ili ne, da omogućim korisnicima da sami prave svoj MySpace od mog korporativnog sajta

Akubra je ponudio elegatno rješenje, ako je ovo moguće povezati sa color pickerom i to sve ovako u JS, bez refresha i server side generisanja CSS bilo bi odlično! Akubra možemo i na pp da se čujemo oko detalja.
mungos je offline   Odgovorite uz citat
Odgovori



Pravila pisanja
Možete ne započinjati nove teme
Možete ne slati odgovore
Možete ne slati priloge
Možete ne izmeniti svoje poruke
vB kôd je Uključen
Smajliji su Uključen
[IMG] kod je Uključen
HTML kôd je Isključen
Pogledajte forum

Slične teme
Tema Početna poruka teme Forum Odgovori Poslednja poruka
Ne mogu da izdržim... chegevara Opušteno 3 05. 03. 2007. 02:10
On screen colour picker za Win bojan_bozovic Web aplikacije, web servisi i software 7 12. 02. 2006. 17:41


Vreme je GMT +2. Trenutno vreme je 19:57.


Powered by vBulletin® Verzija 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright © DevProTalk. All Rights Reserved.
Mišljenja, saveti, izjave, ponude ili druge informacije ili sadržaji nastali na Sajtu su vlasništvo onoga ko ih je kreirao, a ne DevProTalk.com, tako da ne morate da se oslanjate na njih.
Autori poruka su jedini odgovorni za ovakve sadržaje. DevProTalk.com ne garantuje tačnost, kompletnost ili upotrebnu vrednost informacija, stavova, saveta ili datih izjava. Ne postoje uslovi pod kojima bi mi bili odgovorni za štetu ili gubitak koji je posledica bilo čijeg oslanjanja na nepouzdane informacije, ili bilo kakve informacije nastale kroz komunikaciju između registrovanih članova.
Web sajt može sadržavati linkove na druge web sajtove na Internetu ili neke druge sadržaje. Ne kontrolišemo niti podržavamo te druge web sajtove, niti smo pregledali bilo kakve sadržaje na takvim sajtovima. Mi nećemo biti odgovorni za legalnost, tačnost ili prikladnost bilo kog sadržaja, oglasa, proizvoda, usluga ili informacije lociranim na ili distribuiranih kroz druge web sajtove, niti za bilo kakvu štetu nastalu kao posledica takvih informacija. DevProTalk.com drži i čuva druga prava vlasništva na web sajtu. Web sajt sadrže materijale zaštićene copyright-om, zaštitne znakove i druge informacije o pravu vlasništva ili softver. Članovi mogu poslatu informacije zaštićene pravima vlasništva njihovih nosilaca i ona ostaju zaštićena bez obzira da li su oni koji prenose te informacije to naveli ili ne. Osim informacija koje su u javnom vlasništvu ili za koje dobijete dozvolu, nemate pravo da kopirate, modifikujete ili na bilo koji način menjate, objavljujete, prenosite, distribuirate, izvršavate, prikazujete ili prodajte bilo koju informaciju zaštićenu pravima vlasništva. Slanjem informacija ili sadržaja na bilo koji deo DevProTalk.com, Vi automatski dozvoljavate i predstavljate garanciju da imate pravo da dozvolite DevProTalk.com ili članovima DevProTalk.com bespovratnu, kontinualnu, neograničenu, globalnu dozvolu da koriste, kopiraju, izvršavaju, prikazuju i distribuiraju takve informacije i sadržaje i da iz takvih sadžaja koriste bilo koji deo u bilo koje svrhe, kao i pravo i dozvolu da koriste gore navedene sadržaje. Svi zaštitni znakovi (trademarks), logotipi, oznake usluga, firme ili imena proizvoda koji se pominju na ovom web sajtu su vlasništvo kojim raspolažu njihovi vlasnici.