Documente Academic
Documente Profesional
Documente Cultură
9 - Pseudo-clasele
Pseudo-clase cu selector
Pseudo-clase si clase
Pseudo-clase cu id-uri si elemente de formular
10 - Pseudo-elemente
In aceasta lectie invatati ce sunt si ce fac pseudo-elementele
after, before, first-letter, first-line
CSS3 - Background proprietati noi
Introducere
Crearea paginilor HTML este un lucru relativ simplu, invatarea
etichetelor HTML si crearea unor imagini ducand la realizarea de
pagini web de o complexitate medie. Odata cu dezvoltarea
internetului, site-urile au devenit din ce in ce mai complexe, cu un
numar mai mare de pagini, cerintele privind grafica si elementele
din pagina au devenit mai pretentioase si astfel proiectarea
paginilor web a devenit o sarcina ceva mai dificila.
O problema importanta cand avem un site cu multe pagini este
atunci cand dorim sa facem anumite schimbari in elementele
pagini: fondul, grafica sau fontul textelor din pagini.
Prin utilizarea CSS (Cascading Style Sheets), in traducere "foi de
stil in cascada", acest lucru nu mai este o problema, realizandu-se
relativ usor, prin schimbarea sau adaugarea unor elemente in codul
CSS, ne fiind nevoi sa lucram la fiecare pagina sau la fiecare
element din pagina.
CSS se ocupa in general cu aspectul si controlul grafic al
elementelor din pagina, cum ar fi: textul, imaginile, fondul, culorile
si asezarea acestora in cadrul ferestrei paginii.
CSS foloseste stiluri, acestea inglobeaza, sub un anumit nume,
atribute de formatare care se aplica asupra unui element individual
din pagina, asupra unui grup de elemente sau la nivelul intregului
document.
CSS functioneaza cu HTML, insa nu este HTML. El extinde
functionalitatile HTML, permitand redefinirea etichetelor HTML
existente.
Prin utilizarea CSS aspectul documentului pe ansamblu, sau a unui
element individual din interiorul sau, poate fi controlat mult mai
usor. Stilurile pot fi aplicate asupra unui element, a unui document
sau chiar asupra unui intreg site web.
Un dezavantaj ar fi ca unele navigatoare nu sunt compatibile CSS,
Numele aceleasi clase poate fi atribuit mai multor etichete HTML din
aceeasi pagina, si toate vor prelua acelasi stil css.
- Identificator
Obiectele de tip identificator (ID) sunt asemanatoare cu clasele. Pot
fi aplicate oricarei etichete HTML, dar spre deosebire de clase,
numele unui identificator trebuie atribuit numai unei singure
etichete HTML dintr-o pagina, pentru alta eticheta se adauga un ID
cu nume diferit.
Ca si clasa, identificatoru trebuie intai creat in interiorul etichetei
HTML. Modul de creare este simplu, prin specificarea cuvantului id si
numele clasei, ca in exemplu de mai jos:
<h1 id="nume_id"> Text </h1>
<style type="text/css">
h1 { font-family:Arial; font-size:15px; font-weight:bold; color:#1111ff; }
p {font-family:Arial; font-size:12px; color:blue; }
</style>
Exista cazul in care o clasa este asociata unui selector HTML, ceea
ce inseamna ca acea clasa poate fi folosita doar cu eticheta HTML
respectiva. Pentru a defini o clasa care sa afecteze in mod direct un
anume selector HTML, se foloseste urmatoarea sintaxa:
selector_HTML .nume_clasa { proprietate1:valoare1;
proprietate2:valoare2; ... }
#identificator { proprietate1:valoare1;
proprietate2:valoare2; ... }
Acum iata cum pot fi definiti acestia in interiorul unei foi de stil:
.nume_clasa { proprietate1:valoare1; proprietate2:valoare2; ... }
#span1 { proprietate1:valoare1; proprietate2:valoare2; ... }
span .clasa_span { proprietate1:valoare1; proprietate2:valoare2; ... }
Daca mai multi selectori folosesc aceleasi definitii css, acestia pot
avea aceeasi lista de elemente, fiind scrisi separat prin virgule.
Sintaxa generala pentru definirea unei liste cu mai multi selectori
este urmatoarea:
selector1, selector2, ... { proprietate1:valoare1;
proprietate2:valoare2; ... }
Configurarea fonturilor
Alegerea potrivita a fonturilor si folosirea acestora in cadrul
paginilor web este importanta, poate atrage critici si comentarii din
partea vizitatorilor, mai ales daca formatarea clasica prin scris
normal, aldin sau cursiv nu este folosita corespunzator. CSS include
facilitati de control asupra aspectului fonturilor, prin posibilitatea
de a stabili familia de fonturi, atributele ingrosat si inclinat,
dimensiunea literelor precum si spatiul dintre linii.
Exista cinci familii de fonturi de baza:
serif au un ornament (serif) plasat la terminatia literei, care ii
ofera o distinctie speciala. Sunt folosite pentru tiparire, chiar
daca textele sunt mai mari sau mai mici. Nu sunt indicate
pentru afisarea textelor pe ecran.
sans serif sunt fonturi care nu folosesc serife, fiind indicate
pentru continut text general.
monospace fonturile monospatiate pot avea serife, ele se
deosebesc prin faptul ca fiecare litera ocupa aceeasi cantitate
de spatiu. Sunt cele mai indicate pentru textele care trebuie
citite cu exactitate, ca de exemplu liniile de program.
cursive imita scrisul de mana, intr-o maniera stilizata. Sunt
indicate in scopuri decorative, nefiind recomandate pentru
scrierea unor texte mai lungi.
fantasy nu se incadreaza in nici una dintre categoriile de mai
sus, fiind fonturi care au un caracter predominant ornamental
(reprezentand ilustratii sau pictograme).
1. Stabilirea fontului
3. Text inclinat
selector { font-style:valoare }
5. Majuscule mici
Configurarea textului
Textele alcatuiesc o buna parte din paginile web. Metodele de
afisare a textelor prin controlul nu numai a fontului, dimensiunii si
culorilor, ci si prin alte elemente, pot imbunatati aspectul pagini si
pot atrage atentia asupra anumitor elemente din text.
1. Spatiul intre litere
7. Formarea paragrafelor
9. Spatiile albe
selector {background-color:valoare }
b) Imaginea de fundal
Puteti utiliza pentru fundal si o imagine, pentru aceasta se foloseste
proprietatea background-image, urmata de adresa URL a locatiei
imaginii.
Sintaxa generala este:
selector { background-image:url('adresa_URL'); }
Unde
- prima valoare (val_grosime) reprezinta grosimea chenarului si
poate fi una din urmatoarele tipuri:
Daca specificati toate cele patru valori, ele sunt aplicate in ordinea:
sus, dreapta, jos, stanga.
Daca specificati doar o valoare, ea va fi aplicata tuturor marginilor.
Daca folositi doua sau trei valori, valorile care lipsesc sunt copiate
din valorile marginilor opuse lor in caseta.
Aspectul bordurii poate fi stabilit prin atributul border-style; stilul
este aplicat celor patru margini si este definit astfel:
selector { border-style:valoare; }
Cand specificati toate cele patru valori, ele sunt aplicate in ordinea:
sus, dreapta, jos, stanga.
Daca specificati doar o valoare, aceasta va fi aplicata tuturor celor
patru directii.
Daca specificati doua sau trei valori, atunci valorile care lipsesc sunt
copiate dupa valorile laturilor opuse.
Iata un exemplu in care etichetele DIV vor avea distanta padding:
sus 4 pixeli, dreapta 2 pixeli, jos 3 pixeli si in stanga 2 pixeli:
div { padding:4px 2px 3px 2px; }
Controale de pozitionare
Pozitionarea elementelor folosind CSS este mai precisa decat prin
intermediul obiectelor grafice HTML sau a tabelelor, afisarea
facandu-se mult mai rapid.
Prin intermediul CSS este permisa pozitionarea exacta sau relativa
a elementelor intr-o fereastra sau in raport cu alte elemente.
Fereastra navigatorului este suprafata in care sunt afisate toate
elementele. Ea poate fi redimensionata sau pozitionata pe ecran,
sau poate fi divizata in alte ferestre prin intermediul cadrelor.
Toatele elementele amplasate in fereastra sunt pozitionate relativ
la coltul din stanga-sus.
1. Stabilirea modului de pozitionare
d) Pozitionarea fixa
Pozitionarea fixa a unui element este aproximativ la fel cu cea
absoluta, cu diferenta ca la derularea paginii elementul fixat ramane
pe pozitia lui initiala, fara a se derula.
Sintaxa pentru specificarea pozitionarii fixed este:
selector { position:fixed }
2. Pozitionarea in raport cu latura de sus, respectiv
stanga
<div>
<h1>Text...</h1>
</div>
Pseudo-clase
Pseudo-clasele permit adaugarea de stiluri CSS doar la anumite
elemente ale aceluiasi selector, id sau clasa.
De exemplu, cand definiti un stil pentru un anumit tag HTML sau
pentru o clasa, continutul din toate aceleasi tag-uri sau aceeasi
clasa vor avea acel stil, iar daca doriti sa definiti un stil diferit
pentru primul (sau ultimul) din acele tag-uri ori pentru primul
continut definit de aceeasi clasa, puteti realiza asta folosind
pseudo-clasele. De asemenea, acestea pot modifica stilul grafic al
elementelor cand mouse-ul actioneaza asupra lor.
Pentru a functiona in Internet Explorer 7+ este necesar declararea
<!DOCTYPE>, care se adauga la inceputul documentului HTML, mai
multe detalii (in engleza) gasiti Aici.
Sintaxa pentru utilizarea pseudo-clasei este urmatoarea:
element:pseudo-clasa { proprietate:valoare; }
- unde "element" este un selector, id sau clasa, iar "pseudo-clasa"
este una din expresiile urmatoare:
active - Adauga un stil unui element cand acesta este activat
(actionat prin click pe el)
</body>
</html>
.test i:first-child {
font-weight:bold
}
</style>
</head>
<body>
<p class="test"><i>Paragraf</i> cu mai multe tag-uri I: <i>text oblic</i>, alt
test <i>oblic</i></p>
<p class="test">Alt paragraf: <i>sir inclinat si bold</i>, alt sir
<i>italic</i></p>
</body>
</html>
- Stilul CSS va fi aplicat primelor tag-uri <i> din fiecare clasa ".test",
dupa cu puteti vedea mai jos
Paragraf cu mai multe tag-uri I: text oblic, alt test oblic
Alt paragraf: sir inclinat si bold, alt sir italic
- Daca doriti ca stilul sa fie aplicat tuturor etichetelor <i> din prima
clasa, scrieti: .clasa:first-child i
- Daca vreti sa fie aplicat numai primului <i> din prima clasa,
scrieti: .clasa:first-child i:first-child
3. Pseudo-clase cu id-uri si elemente de formular
<body>
<form action="" method="post">
<input type="text" class="test" /><br />
<textarea cols="20" rows="5" class="test"></textarea><br />
<input type="button" value="Buton" id="unid" />
</form>
</body>
</html>
Pseudo-elemente
Ca sa intelegeti mai bine cum functioneaza si ce fac pseudoelementele, iata cateva exemple cu fiecare in parte.
1. after
- Dupa cum puteti vedea in rezultatul de mai jos, prima litera din
continutul fiecarui tag ce are class="test" este de culoare rosie si
marime 25px.
#menuv li a {
display:block;
margin:0;
font-weight:normal;
}
#menuv li a:hover {
background-color:#fefefe;
text-decoration:none;
font-style:oblique;
}
/* Proprietati pentru nivelul doi din meniul vertical */
#menuv li:hover ul {
display:block;
}
#menuv li ul {
display:none;
position:relative;
margin:-1px 0 -2px 0;
padding:1px 0;
}
#menuv li ul li {
margin:2px 0 0 20px;
background-color:#edfeed;
padding:1px 0;
border:1px dotted yellow;
}
--></style>
<ul id="menuv">
<li><a href="/" title="Pagina personala">Pagina personala</a></li>
<li> + Tutorialle CSS
<ul>
<li><a href="http://www.marplo.net/curs_css/css3-backgroundproprietati-noi.html" title="CSS3 - Background proprietati">CSS3 Background proprietati</a></li>
<li><a href="http://www.marplo.net/curs_css/css3-opacity.html"
title="CSS3 opacity">CSS3 opacity</a></li>
</ul>
</li>
<li> + Tutoriale HTML
<ul>
<li><a href="http://www.marplo.net/html/tutorial-html5.html"
title="Tutorial HTML5">Tutorial HTML5</a></li>
<li><a href="http://www.marplo.net/html/html5-canvas.html"
title="HTML5 canvas">HTML5 canvas</a></li>
<li><a href="http://www.marplo.net/html/html5-taguri-noi.html"
title="HTML5 tag-uri noi">HTML5 tag-uri noi</a></li>
</ul>
</li>
<li><a href="http://www.marplo.net/coment/contact.php"
title="Contact">Contact</a></li>
</ul>
#menuv {
position:relative;
width:160px;
border:1px solid blue;
background-color:#daedfe;
padding:2px;
}
/* Proprietati pentru primul nivel din meniul vertical */
#menuv li {
margin:1px 0;
background-color:#f0f1fe;
padding:1px;
list-style-type:none;
font-weight:600;
text-align:left;
}
#menuv li a, #menuv li span {
display:block;
margin:0;
font-weight:normal;
}
#menuv li a:hover {
background-color:#fefefe;
text-decoration:none;
font-style:oblique;
}
/* Proprietati pentru nivelul doi din meniul vertical */
#menuv li:hover ul {
display:block;
}
#menuv li ul {
display:none;
position:absolute;
z-index:9998;
width:100%;
left:151px;
margin:-20px auto 0 auto;
background-color:#daedfe;
border:1px dashed blue;
padding:1px;
}
#menuv li ul li {
margin:1px;
background-color:#edfeed;
padding:1px 0 1px 2px;
}
--></style>
<ul id="menuv">
<li><a href="/" title="Pagina personala">Pagina personala</a></li>
<li><span> + Tutorialle CSS</span>
<ul>
<li><a href="http://www.marplo.net/curs_css/css3-backgroundproprietati-noi.html" title="CSS3 - Background proprietati">CSS3 Background proprietati</a></li>
<li><a href="http://www.marplo.net/curs_css/css3-opacity.html"
title="CSS3 opacity">CSS3 opacity</a></li>
</ul>
</li>
<li><span> + Tutoriale HTML</span>
<ul>
<li><a href="http://www.marplo.net/html/tutorial-html5.html"
title="Tutorial HTML5">Tutorial HTML5</a></li>
<li><a href="http://www.marplo.net/html/html5-canvas.html"
title="HTML5 canvas">HTML5 canvas</a></li>
<li><a href="http://www.marplo.net/html/html5-taguri-noi.html"
title="HTML5 tag-uri noi">HTML5 tag-uri noi</a></li>
</ul>
</li>
<li><a href="http://www.marplo.net/coment/contact.php"
title="Contact">Contact</a></li>
</ul>
- Codul sursa:
<style><!--
#menuv {
position:relative;
padding:2px;
}
/* Proprietati pentru lista orizontala */
#menuv li {
float:left;
margin:1px 8px;
border:1px solid blue;
background-color:#daedfe;
padding:1px 2px;
list-style-type:none;
font-weight:600;
text-align:left;
text-decoration:nderline;
}
/* Proprietati pentru listele verticale */
#menuv li:hover ul {
display:block;
}
#menuv li ul {
display:none;
position:absolute;
margin:1px auto 1px -8px;
background-color:#f0f1fe;
border:1px dashed blue;
padding:1px;
}
#menuv li ul li {
position:relative;
clear:both;
width:99%;
margin:1px 0;
border:none;
background-color:#edfeed;
padding:1px;
}
/* Link-uri in sub-menu */
#menuv ul li a {
display:block;
margin:0;
font-weight:normal;
padding:1px;
}
#menuv ul li a:hover {
background-color:#fefefe;
text-decoration:none;
font-style:oblique;
}
--></style>
<ul id="menuv">
<li><a href="/" title="Pagina personala">Pagina personala</a></li>
<li>Tutorialle CSS
<ul>
<li><a href="http://www.marplo.net/curs_css/css3-backgroundproprietati-noi.html" title="CSS3 - Background proprietati">CSS3 Background proprietati</a></li>
<li><a href="http://www.marplo.net/curs_css/css3-opacity.html"
title="CSS3 opacity">CSS3 opacity</a></li>
</ul>
</li>
<li>Tutoriale HTML
<ul>
<li><a href="http://www.marplo.net/html/tutorial-html5.html"
title="Tutorial HTML5">Tutorial HTML5</a></li>
<li><a href="http://www.marplo.net/html/html5-canvas.html"
title="HTML5 canvas">HTML5 canvas</a></li>
<li><a href="http://www.marplo.net/html/html5-taguri-noi.html"
title="HTML5 tag-uri noi">HTML5 tag-uri noi</a></li>
</ul>
</li>
<li><a href="http://www.marplo.net/coment/contact.php"
title="Contact">Contact</a></li>
</ul>
#addnew {
width: 125px;
height: 40px;
display: block;
background: url('button_img1.gif');
background-position: 0 0;
background-repeat: no-repeat;
border: none;
text-indent: -9999px;
}
/* Cand cursorul de mouse e deasupra butonului */
#addnew:hover {
background-position: 0 50%;
}
/* Cand butonul /link-ul e apasat */
#addnew:active {
background-position: 0 100%;
}
//-->
</style>
</head>
<body>
<a href="http://www.coursesweb.net/" title="Web Programming Courses"
id="addnew">CoursesWeb.net</a>
</body>
</html>
}
/* Cand cursorul de mouse e deasupra butonului */
#addnew:hover {
background-position: 50% 0;
}
/* Cand butonul /link-ul e apasat */
#addnew:active {
background-position: 100% 0;
}
//-->
</style>
</head>
<body>
<a href="http://www.marplo.net/" title="Cursuri Jocuri Anime"
id="addnew">MarPlo.net</a>
</body>
</html>
Rezultat:
MarPlo.net
width: 125px;
height: 40px;
display: block;
background: url('buttons.gif');
background-repeat: no-repeat;
text-indent: -9999px;
}
/* Butonul din imagine pt Primul link */
#menu #addnew {
background-position: 0 0;
}
/* Primul link hover */
#menu #addnew:hover {
background-position: 48% 0;
}
/* Primul link cand e apasat */
#menu #addnew:active {
background-position: 100% 0;
}
/* Butonul din imagine pt al Doilea link */
#menu #delete {
background-position: 0 32%;
}
/* al Doilea link hover */
#menu #delete:hover {
background-position: 48% 32%;
}
/* al Doilea link cand e apasat */
#menu #delete:active {
background-position: 100% 32%;
}
/* Butonul din imagine pt al Treilea link */
#menu #accept {
background-position: 0 66%;
}
/* al Treilea link hover */
#menu #accept:hover {
background-position: 48% 66%;
}
/* al Treilea link cand e apasat */
#menu #accept:active {
background-position: 100% 66%;
}
/* Butonul din imagine pt al patrulea link */
#menu #cancel {
background-position: 0 99%;
}
/* al patrulea link hover */
#menu #cancel:hover {
background-position: 48% 99%;
}
/* al patrulea link cand e apasat */
#menu #cancel:active {
background-position: 100% 99%;
}
//-->
</style>
<nav id="menu">
<a href="#" title="Add New" id="addnew">Add New</a>
#id3 {
width:300px;
height:120px;
border:1px solid silver;
background:url('css3.jpg');
background-size:cover;
}
--></style>
<div id="id1">Curs CSS gratuit - dimensiuni in pixeli</div>
<div id="id2">www.coursesweb.net - valoare contain</div>
<div id="id3">www.marplo.net - valoare cover</div>
Rezultat:
filter:
progid:DXImageTransform.Microsoft.gradient(startColorstr='#dafeda',
endColorstr='#0308fe'); /* IE 7, 8 */
background-image: -ms-linear-gradient(top left, #01fe02, #0102fe);
IE10 */
background: -moz-linear-gradient(top left, #1f1, #fff, #11f);
Firefox */
/*
/* Mozilla
/* Safari, Chrome */
background-image: -webkit-gradient(linear, left top, right bottom, colorstop(0, #0f1), color-stop(0.5, #fff), color-stop(1, #01f));
background-image: -o-linear-gradient(top left, #01fe02, #0102fe);
Opera 11.1+ */
background: linear-gradient(top left, #1f1, #fff, #11f);
Markup */
/*
/* W3C
}
--></style>
<div id="id1">Curs gratuit CSS<br />
www.marplo.net</div>
Rezultat:
Curs gratuit CSS
www.marplo.net
Directia culori gradient si distanta pe care culorile o iau poate fi
controlata.
Daca doriti ca directia gradient-ului sa inceapa de sus, folositi doar
top, in loc de "top left"; pentru stanga adaugati doar left. Ca sa
setati distanta culorii in gradient, adaugati o valoare de tip procent
dupa culoare (sau o valoare intre 0 si 1 pt. browsere Webkit).
- Exemplu:
<style type="text/css"><!-#id1 {
width:300px;
height:120px;
filter:
progid:DXImageTransform.Microsoft.gradient(startColorstr='#dafeda',
endColorstr='#0308fe'); /* IE 7, 8 */
/*
}
--></style>
background-origin
background-color:#bcfede;
background-origin:content-box;
}
#id2 {
width:350px;
height:120px;
padding:20px;
border:3px solid blue;
background:url('css3.jpg');
background-repeat:no-repeat;
background-color:#bcfede;
background-origin:border-box;
}
--></style>
<div id="id1">Pozitioneaza imaginea in background incepand de la
continut</div>
<div id="id2">Pozitionare relativa la bordura</div>
Rezultat:
Pozitioneaza imaginea in background incepand de la continut
Pozitionare relativa la bordura
background-clip
<style type="text/css"><!-#id1 {
width:350px;
height:120px;
padding:20px;
border:2px solid blue;
background-color:#cdfeda;
background-clip:padding-box;
-webkit-background-clip:padding-box;
/* Safari */
}
#id2 {
width:350px;
height:120px;
padding:20px;
border:2px solid blue;
background-color:#cdfeda;
background-clip:content-box;
-webkit-background-clip:content-box;
/* Safari */
}
--></style>
<div id="id1">background-clip cu padding-box</div>
<div id="id2">background-clip cu content-box</div>
Rezultat:
background-clip cu padding-box
background-clip cu content-box
CSS3 Imagini multiple de fundal
Rezultat:
Imagini multiple de background
Butoane pentru link-uri folosind ... <<-- Anterior ----------Urmator -->> CSS3 - Border proprietati ...
Rezultat:
Curs CSS - www.marplo.net
Colturile rotunjite pot fi create si independent, folosind cele patru
proprietati individuale: border-top-left-radius, border-top-rightradius, border-bottom-right-radius, si border-bottom-left-radius.
Exemplu:
<style type="text/css"><!-#id1 {
width:300px;
height:120px;
background-color:#bbfeda;
border:2px solid blue;
border-top-left-radius:20px;
border-bottom-right-radius:38px;
}
--></style>
<div id="id1"> Curs CSS - www.marplo.net</div>
Rezultat:
Curs CSS - www.marplo.net
Adaugare umbre la chenare
/* Safari si Chrome */
}
--></style>
<div id="id1"> CSS3 box-shadow, www.coursesweb.net/css/</div>
Rezultat:
proprietatea border-width.
/* Firefox */
/* Firefox */
Rezultat:
text si in IE.
Sintaxa:
filter:progid:DXImageTransform.Microsoft.Shadow(color=val, direction=val,
strength=val);
Rezultat:
Text cu text-shadow
Se pot adauga mai multe umbre la acelasi text, prin adaugarea mai
multor liste de umbre in proprietatea text-shadow, separate prin
virgula.
Urmatorul cod amesteca o culoare verde cu una albastra ca sa
creeze un efect de umbra cu aceste culori:
<style type="text/css"><!-h2 {
/* pt. IE8+ */
filter:progid:DXImageTransform.Microsoft.Shadow(color=#a0a0fe,
direction=135, strength=5);
text-shadow: -1px -1px 1px rgba(110,235,155,0.2), 2px 3px
rgba(0,0,181,0.2);
}
--></style>
<h2>Text cu doua culori pt. text-shadow</h2>
Rezultat:
Curs CSS gratuit - word-wrap un_cuvant_mai_lung.
CSS3 text-overfl ow
text-overflow:ellipsis;
}
#id2 {
width:230px;
border:1px solid green;
white-space:nowrap;
overflow:hidden;
text-overflow:clip;
}
--></style>
<div id="id1">CSS Tutorial - un text lung pe o singura linie, alte
cuvinte.</div>
<div id="id2">Site web www.marplo.net - alt text lung intr-un singur
rand.</div>
Rezultat:
CSS Tutorial - un text lung pe o singura linie, alte cuvinte.
Site web www.marplo.net - alt text lung intr-un singur rand.
CSS3 opacity
Proprietatea opacity seteaza nivelul de opacitate al unui element
HTML, opacity permite modificarea transparentei elementului.
IE8 si versiuni anterioare folosesc o varianta alternativa,
proprietatea filter.
- Sintaxa:
filter: alpha(opacity=X);
/* pt. IE */
opacity: X;
/* pt. IE */
opacity:0.4;
}
--></style>
<div id="dv">Un continut oarecare ...</div>
Rezultat:
Un continut oarecare ...
/* pt. IE */
}
--></style>
<img src="html_course.jpg" alt="Curs HTML si CSS" width="155"
height="160" id="im" />
Rezultat:
/* pt. IE */
opacity:0.5;
}
#im2:hover {
filter:alpha(opacity=100);
/* pt. IE */
opacity:1;
}
--></style>
<img src="html_course.jpg" alt="Curs HTML si CSS" width="155"
height="160" id="im2" />
/* pt. IE */
opacity:0.5;
}
#cnt {
position:relative;
background:#e7e8fe;
width:300px;
height:200px;
border:1px solid blue;
padding:20px;
}
#cnt:hover #trans { display:block; }
--></style>
<div id="cnt">
<div id="trans"></div>
Plasati mouse-ul peste aceasta caseta pentru a vedea efectul de opacitate.
<img src="css3.jpg" alt="CSS3 opacity" width="160" height="98" />
</div>
Rezultat:
Plasati mouse-ul peste aceasta caseta pentru a vedea
efectul de opacitate.
CSS3 transformari 2D
CSS rotate()
Metoda scale()
CSS skew()
Demo:
Pozitionati mouse-ul aici.
CSS rotate()
Demo:
Pozitionati mouse-ul aici.
Metoda scale()
Demo:
CSS skew()
Demo:
www.coursesweb.net
Cele 4 metode de transformare pot fi utilizate si intr-o singura
definitie transform, separate prin spatiu.
- Sintaxa:
transform: translate(X, Y) rotate(grade) scale(Lungime, Inaltime)
skew(Xdeg, Ydeg);
<style type="text/css">
#idv5 {
width:90px;
height:90px;
background:#00da01;
font-size:17px;
transform: translate(50px, 25px) rotate(-20deg) scale(2, 1.5) skew(15deg,
20deg);
-ms-transform: translate(50px, 25px) rotate(-20deg) scale(2, 1.5)
skew(15deg, 20deg); /* IE 9 */
-webkit-transform: translate(50px, 25px) rotate(-20deg) scale(2, 1.5)
skew(15deg, 20deg); /* Safari si Chrome */
-o-transform: translate(50px, 25px) rotate(-20deg) scale(2, 1.5)
skew(15deg, 20deg); /* Opera */
-moz-transform: translate(50px, 25px) rotate(-20deg) scale(2, 1.5)
skew(15deg, 20deg); /* Firefox */
}
</style>
<div id="idv5">Continut oarecare...</div>
Demo:
Continut oarecare...
CSS3 transition
CSS3 transition poate fi utilizat pentru a anima proprietatile CSS,
adaugand un efect de animatie cand se modifica proprietatile CSS
ale unui element HTML, schimband gradual de la un stil la altut.
CSS3 transition are 4 componente:
transition-property - Specifica numele proprietatii (sau
proprietatilor) la care transition trebuie aplicat (precum: width,
color, font-size, etc.).
CSS3 transition poate fi utilizat cu proprietatile prezentate
aici: Proprietati CSS ce pot fi animate
transition-duration - Specifica durata tranzitiei (animatiei), in
sesunde (s), milisecunde (ms), (implicit 0).
-o-transition-duration: 1.4s;
}
#iddv:hover {
width:200px;
}
</style>
<div id="iddv">Pozitionati mouse-ul pe acest patrat.</div>
.clse:hover {
font-size: 16px;
}
</style>
<ul>
<li class="clse"><a href="http://www.marplo.net/curs_css/" title="Curs
CSS gratuit">Curs CSS gratuit</a></li>
<li class="clse"><a href="http://www.marplo.net/html/" title="Curs
HTML">Curs HTML</a></li>
<li class="clse"><a href="http://www.coursesweb.net/" title="Cursuri
Programare Web">Cursuri Programare Web</a></li>
</ul>
Curs HTML
.clsdv {
width:120px;
height:100px;
position:absolute;
top:0;
left:0;
background:#b8b9fe;
transition: background 1.3s, opacity 1.8s, transform 1.4s;
-moz-transition: background 1.3s, opacity 1.8s, -moz-transform 1.4s; /*
Firefox 4 */
-webkit-transition: background 1.3s, opacity 1.8s, -webkit-transform
1.4s; /* Safari si Chrome */
-o-transition: background 1.3s, opacity 1.8s, -o-transform 1.4s; /* Opera */
}
.clsdv:hover {
background: #00da01;
filter:alpha(opacity=50);
/* pt IE */
opacity:0.5;
transform:rotate(180deg);
-moz-transform:rotate(180deg); /* Firefox 4 */
-webkit-transform:rotate(180deg); /* Safari si Chrome */
-o-transform:rotate(180deg); /* Opera */
}
</style>
Puneti mouse-ul deasupra acestui dreptunghi.
<div class="dv1">
<div class="clsdv"></div>
Text oarecare, ascuns
</div>
Demo:
Puneti mouse-ul deasupra acestui dreptunghi.