Warning: mysqli_select_db() expects parameter 1 to be mysqli, string given in /home/itstreet/public_html/classes/CMySQL.php on line 22

Warning: mysqli_query() expects at least 2 parameters, 1 given in /home/itstreet/public_html/classes/CMySQL.php on line 24
ITstreet -CSS3 lažnjaci
Preskoči na sadržaj

ITstreet postovi

CSS3 lažnjaci

Ovoga puta pričaću o pseudo elementima (selektorima) i to ne o svim. Verovatno ste se sretali sa :after ili :before elementima koje se odnose na postojeće u nekim css fajlovima. Moj prvi susret je bio tipa: Uh Bog te, kako li ovo funkcioniše? Zapravo i nije toliko komplikovano ako znaš šta želiš da postigneš i  znaš css iole dobro.

Dobro, šta su to u stvari pseudo elementi? Samo ime im kaže. U pitanju su lažni elementi koji se postavljaju ispred ili iza elementa na koji se odnose. Reč pseudo je grčkog porekla i otprilike znači laž.

Malo o sintaksi.
Pseudo elementi zahtevaju klasu na koju će se odnositi. Dalje, moraju imati content objekat, bilo sa, bilo bez vrednosti. Recimo:

p:before {
   content: "-";
}

p:after {
   content: "!";
}

U ovom slučaju ispred svakog paragrafa će biti ispisana crtica, a iza znak uzvika. Kao što sam rekao, content mora biti prisutan pa makar i prazan: content:" ";.

Gde se ovo može upotrebiti? Recimo, konkretno ovaj slučaj kada želite da svaki paragraf počne sa (recimo) crticom a završi se sa (recimo) znakom uzvika. I opet recimo imate veliki broj paragrafa gde biste morali iskucati sve ovo za svaki. Na ovaj način možete stilizovati ogroman broj unosa. A ako vam svaki paragraf počinje sa rečima "Kako da", ove reči stavite u before pseudo element. Generalno, mogućnosti su velike pošto umesto slovnih i drugih znakova možete staviti i  putanje do slike. Evo šta kaže W3S.

Da li je samo to? Ne. Šta kažete za oblačić za tekst kakav imaju dugmad svih relevantnijih socijalnih mreža? Evo koda:
.bubble {
	position: relative;
	background: #ffffff;
	border: 1px solid #000000;
	border-radius:3px;
	width: 30px;
	margin-left: 30px;
	height:30px;
}
.bubble:after, .bubble:before {
	right: 100%;
	border: solid transparent;
	content: " ";
	height: 0;
	width: 0;
	position: absolute;
	pointer-events: none;
}
.bubble:after {
	border-color: rgba(255, 255, 255, 0);
	border-right-color: #ffffff;
	border-width: 5px;
	top: 50%;
	margin-top: -5px;
}
.bubble:before {
	border-color: rgba(0, 0, 0, 0);
	border-right-color: #000000;
	border-width: 6px;
	top: 50%;
	margin-top: -6px;
}


Prvo smo napravili div kome smo dali dimenzije, oivičili i dali mali radijus. Margina sa leve strane je bitna da napravi mesta za strelicu. Pozicija je relativna. Zatim smo u oba pseudo elementa dali obavezan ali prazan content sa visinom i širinom nula. After element je zatim napravio trougao iste boje kao i border diva, a before je isti trougao popunio drugim trouglom iste boje kao i div ali malo u desnu stranu da bi stvorio efekat jedne te iste linije. U div se može ubaciti bilo šta.

Ako vam je to malo, možete pogledati šta se sve može uraditi sa css3 ovde.

Ostavite poruku

Vaša mejl adresa neće biti objavljena.Označena polja su obavezna*