Documente Academic
Documente Profesional
Documente Cultură
SITE-ULUI WEB.
POSIBILITĂȚI APĂRUTE ÎN CSS3
Elemente flotante
Poziționarea elementelor
Machete
Filtre, transparență
Gradiente de culoare
Transformări ale elementelor
Animații în CSS
3 SINONIME... ASOCIERI
Pentru noțiunile
Machetare pagini web
Responsive design
MediaQuery
ORDINEA PREZENTĂRII
ELEMENTELOR HTML
Ordinea prezentării elementelor în pagină este
definită de fluxul documentului HTML – fluxul normal
al elementelor
Elementele de tip bloc – sunt prezentate în pagină
sub formă dreptunghiulară, care merg unul după altul
de sus în jos
Elementele liniare – sunt plasate în pagină de sus în
jos și de la dreapta la stânga (simultan, dacă reușiți să
vă imaginați). La necesitate sunt trecute din rând nou
STILURI PENTRU POZIŢIONAREA
ELEMENTELOR HTML
Proprietățile de poziționare în CSS permit gestionarea poziționării
unui element HTML
Este posibilă plasarea unui element în spatele altuia, sau
specificarea modalității de afişare a unui anumit element care are
conţinutul foarte mare
Elementele pot fi pozitionate utilizând proprietățile top, bottom,
left şi right
Aceste proprietăți nu vor fi funcționale dacă proprietatea position
nu va fi setată prima
De asemenea contează mult metoda de poziţionare
Există patru metode diferite de poziționare
I - POZIŢIONAREA STATICĂ
position: static
Elemente HTML sunt implicit poziționate static. Un element
poziționat static, este mereu poziţionat ţinând cont de fluxul
normal al paginii
Elementele poziționate static nu vor fi afectate de proprietățile
top, bottom, left şi right
II - POZIŢIONAREA FIXĂ
position: fixed
Un element cu poziția fixată va fi poziționat în raport cu
fereastra browser-ului
Acest element nu se va mişca chiar dacă fereastra defilează
Elementele cu poziţia fixată nu ţin cont de fluxul normal de
afişare pe pagină – nu contează ce alte elemente mai sunt în
pagină
Elementele cu poziţia fixată se pot suprapune peste alte
elemente
EXEMPLU „POSITION: FIXED”
position: relative
Un element poziționat relativ este poziționat în raport cu
poziția sa normală în flux
Conținutul elementelor relativ-poziționate pot fi mutate și se
pot suprapune peste alte elemente, însă spațiul rezervat pentru
element în fluxul normal, se păstrează dupa el
Elementele poziționate relativ sunt adesea utilizate ca blocuri-
containere pentru elemente poziționate absolut
EXEMPLU POZIŢIONARE RELATIVĂ
Era:
DACĂ VOI ADĂUGA STILUL...
.container{
padding-left: 100px; position: relative;
top: 100px; left: -50px;
} - vedem cum se deplasează blocul poziționat relativ în raport cu poziția sa normală
IV - POZIŢIONAREA ABSOLUTĂ
position: absolute
Un element în poziție absolută este poziționat în raport cu primul
element de bază (părinte) care are o altă poziție decât statică
În cazul în care nu se găsește nici un astfel de element (părinte), blocul
se va poziţiona în raport cu tag-ul-rădăcină - <html>
Elementele poziționate „absolut” sunt îndepărtate din fluxul normal.
Documentul și alte elemente se comportă ca şi cum elementul
poziționat absolut nu ar exista
Elementele poziționate „absolut” se pot suprapune peste alte
elemente HTML
EXEMPLU POZIŢIONARE ABSOLUTĂ
Voi scrie următorul stil:
Pentru această secvență de cod HTML: .container{
<div class="container"> padding-left: 100px;
position: relative;
<img src="images/flowers.png" alt="O floare" class="abs" /> background-
<p>Plantele ornamentale cu flori … plantelor în încăperi. color: rgb(172, 146, 151);
}
</p> .abs{
</div> width:100px;
height: auto;
position: absolute;
bottom: 10%;
left:0; }
POZITIONAREA ABSOLUTA
.abs{
width:100px;
height: auto;
position: absolute;
top: -20%;
left:0;
z-index:-1;
}
PROPRIETATEA „FLOAT”
Valoarea Descrierea
none Elementul nu va fi flotant. Este valoarea implicită
a proprietăţii
left Elementul se deplasează spre stânga
right Elementul se deplasează spre dreapta
EXEMPLU PROPRIETATE „FLOAT”
La acest link
http://www.w3schools.com/css/css_image_gallery.asp
Gasiti si codurile pentru galerie de imagini, unde se foloseste
proprietatea “float”
UN ALT EXEMPLU, APLICARE
PROPRIETATE „FLOAT”
<body>
<div class="container">
<div class="block5"></div>
<div class="block7"></div>
<div class="block3"></div>
<div class="block1"></div>
<div class="block6"></div>
<div class="block4"></div>
<div class="block8"></div>
<div class="block2"></div>
</div>
</body>
STILURILE PENTRU BLOCURI
Valoare Descriere
none Valoarea implicită. Permite cuprinderea elementelor flotante pe ambele părţi
.galerie{
width: 20%;
height: 300px;
margin: 10px;
padding:10px;
border: 7px solid rgb(214, 197, 200);
box-shadow: 3px 3px 7px rgb(90, 82, 82);
}
PROPRIETATEA ”BOX-SIZING”
.im1 {
width: 100px;
height: 120px;
border: 2px solid pink; }
.im2 {
width: 100px;
height: 120px;
padding: 20px;
border: 2px solid pink; }
PROPRIETATEA BOX-SIZING
Proprietatea box-sizing poate include,
la definirea înălțimii și lățimii, și .im1 {
bordura și câmpurile interne (padding) width: 100px;
height: 120px;
Pentru a specifica aceeași proprietate, border: 2px solid pink;
pentru toate elementele HTML se box-sizing: border-box;
poate utiliza: }
.im2 {
* { width: 100px;
box-sizing: border-box; height: 120px;
} padding: 20px;
border: 2px solid pink;
box-sizing: border-box;
}
MACHETAREA SITE-URILOR
Machetarea este acel proces de transformare a
desenului unei pagini web (de exemplu un
fisier .psd(PhotoShop Document)) într-un document
HTML, utilizând HTML şi CSS, care document,
interpretat va prezenta în fereastra browserului un
conținut asemănător machetei
Suplimentar (în lb. rusă):
https://ru.wikipedia.org/wiki/%D0%92%D1%91%D1%80%D1%81%D1%82%D0%BA%D0%B0_
%D0%B2%D0%B5%D0%B1-%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86
* { box-sizing: border-box; }
.row::after { content: ""; clear: both; display: table; }
.col-1 {width: 8.33%;}
.col-2 {width: 16.66%;}
.col-3 {width: 25%;}
.col-4 {width: 33.33%;}
.col-5 {width: 41.66%;}
.col-6 {width: 50%;}
.col-7 {width: 58.33%;}
.col-8 {width: 66.66%;}
.col-9 {width: 75%;}
.col-10 {width: 83.33%;}
.col-11 {width: 91.66%;}
.col-12 {width: 100%;}
[class*="col-"] { float: left; padding: 10px;}
REZULTAT
“MEDIA QUERIES” – PENTRU A
REALIZA ADAPTIVITATEA
”Media query” – a apărut în CSS3
Proprietățile @media sunt folosite pentru a defini stiluri,
diferite - condiționat, pentru diverse dispozitive de ieșire
Media queries – analizează dimensiunea ecranului
dispozitivului de ieșire, și anume:
lățimea și înălțimea portului de vizualizare
lățimea și înălțimea dispozitivului
orientarea (este orientat pe verticală sau orizontală?)
rezoluţia ecranului (dispozitivul este tableta sau telefon?)
etc.
PROPRIETATEA @MEDIA
Valoarea Descrierea
all Se folosește pentru a specifica toate tipurile de dispozitive pentru ieșiri de date
screen Se folosește pentru a specifica ecrane de calculatoare, tablete, smart-phones
etc.
ÎN PRIMUL RÂND INTERFAȚA GRAFICĂ
PENTRU TELEFONUL MOBIL
Exemplu
STILURILE
@media only screen and (min-width:
HTML:
768px) {
…<meta name="viewport" content="width=device-width,
initial-scale=1.0">… /* pentru desktop
CSS: Prima și a treia secțiune - se vor întinde
…* { box-sizing: border-box;} pe 3 coloane fiecare. Secțiunea de
/* stilurile pentru dispozitivele mobile */ mijloc se va întinde pe 6 coloane.
[class*="col-"] { width: 100%; } */
@media only screen and (min-width: 600px) { .col-1 {width: 8.33%;}
/* pentru tableta .col-2 {width: 16.66%;}
.col-3 {width: 25%;}
Prima sectiune se va întinde pe 3 coloane, a doua se va întinde
pe 9, iar secțiunea a treia va fi afișată mai intai pe două coloane, .col-4 {width: 33.33%;}
iar apoi se va întinde pe 12 coloane */ .col-5 {width: 41.66%;}
.col-m-1 {width: 8.33%;} .col-6 {width: 50%;}
.col-m-2 {width: 16.66%;} .col-m-8 {width: 66.66%;} .col-7 {width: 58.33%;}
.col-m-3 {width: 25%;} .col-m-9 {width: 75%;} .col-8 {width: 66.66%;}
.col-m-4 {width: 33.33%;} .col-m-10 {width: 83.33%;} .col-9 {width: 75%;}
.col-m-5 {width: 41.66%;} .col-m-11 {width: 91.66%;} .col-10 {width: 83.33%;}
.col-m-6 {width: 50%;} .col-m-12 {width: 100%;} } .col-11 {width: 91.66%;}
.col-m-7 {width: 58.33%;} .col-12 {width: 100%;}
}
DEFINIREA CONTINUTULUI
<div class="col-3 col-m-3 menu">
<ul> <li>Căței</li> <li>Pisoi</li> </ul>
<img src="img/emblema.png" alt="pisoi si catel" />
</div>
<div class="col-6 col-m-9 content">
<h1>Animalele de companie</h1>
<p>Animalele de companie sunt des întâlnite în sau pe lângă casele
oamenilor, de la noi. Cui nu-i plac pisoii pufoși sau cațeii fideli???</p>
<p>Pe această resursă veți putea găsi mai multe informații utile pentru
dvoastră peste aceste animălute drăguțe</p>
</div>
<div class="col-3 col-m-12">…</div>
ADAPTIVITATEA IMAGINILOR
DIN PAGINI
Se definește stilul pentru imagini:
img {
max-width:100%;
height: auto;
}
ADAPTIVITATEA VIDEO DIN
PAGINI
Pentru:
<video width="450" controls>
<source src="clip.ogv" type="video/ogg" />
<source src="clip.mp4" type="video/mp4" />
<p>Browserul dvoastra nu sustine formatul dat de video.</p>
</video>
Se scriu stilurile:
video {
max-width: 100%;
height: auto;
}
REZULTATUL
.grad {
height: 300px;
background: grey; /* pentru browserele ce nu suporta
gradientul */
background: linear-gradient(to bottom right, gray, black);
color: white;
}
DEFINIRE GRADIENT „GRADIENT
– DIAGONAL”
#gradient {
height: 200px; width: 300px;
background: linear-gradient(to bottom right, purple, white); /* Sintaxa standarda */
background: -webkit-linear-gradient(left top, purple, white); /* Safari 5.1 - 6.0 */
background: -o-linear-gradient(bottom right, purple, white); /* Opera 11.1 - 12.0 */
background: -moz-linear-gradient(bottom right, purple, white); /* Firefox 3.6 - 15 */
}
UTILIZAREA MAI MULTOR
CULORI PENTRU GRADIENT
#gradient {
height: 200px;
width: 300px;
background: linear-gradient(white, purple, white); /* Sintaxa standarda */
background: -webkit-linear-gradient(white, purple, white); /* Safari 5.1 - 6.0 */
background: -o-linear-gradient(white, purple, white); /* Opera 11.1 - 12.0 */
background: -moz-linear-gradient(white, purple, white); /* Firefox 3.6 - 15 */
}
DEFINIREA GRADIENTELOR
TRANSPARENTE
Se utilizează funcţia rgba(R, G, B, α), unde α – poate lua valori de la 0 la
1 (0 – fără culoare, 1 – prezenţa culorii)
Exemplu:
#gradient {
height: 200px;
width: 300px;
background: linear-gradient(to right, rgba(200,50,0,0), rgba(200,50,0,0.8)); /*
Sintaxa standarda */
background: -webkit-linear-gradient(left, rgba(200,50,0,0), rgba(200,50,0,0.8)); /*
Safari 5.1 - 6.0 */
background: -o-linear-gradient(right, rgba(200,50,0,0), rgba(200,50,0,0.8)); /* Opera
11.1 - 12.0 */
background: -moz-linear-gradient(right, rgba(200,50,0,0), rgba(200,50,0,0.8)); /*
Firefox 3.6 - 15 */
}
REZULTAT
DEFINIRE „RADIAL GRADIENT”
#gradient {
height: 200px;
width: 300px;
background: radial-gradient(pink, white, pink); /* Sintaxa standarda */
background: -webkit-radial-gradient(pink, white, pink); /* Safari 5.1 - 6.0 */
background: -o-radial-gradient(pink, white, pink);/* Opera 11.1 - 12.0 */
background: -moz-radial-gradient(pink, white, pink); /* Firefox 3.6 - 15 */
}
TRANSFORMĂRI 2D
.img1:hover{
transform: translate(15px,15px);
transition: transform 1s;
}
Rezultat efecte
EXEMPLU 2 APLICARE TRANSITION
<div class="bloc">
<h5>Parerea dumneavoastra este foarte importanta pentru noi</h5>
<form class="form">
<input type="text" placeholder="Prenumele dvoastra"
autofocus /><br />
<input type="text" placeholder="Emailul dvoastra" /><br />
<textarea cols="30" rows="4" placeholder="Mesajul
dvoastra"></textarea><br />
<input type="submit" value="Trimite" />
</form>
</div>
STILURILE
input[type="text"], textarea {
border: 0; outline: 0; background: transparent;
border-bottom: 2px solid #5200cc;
margin: 10px; padding: 10px; color: #5200cc; }
input[type="submit"] {
background: #5200cc;
border-bottom: 1px solid #5200cc;
color: white;
margin-left: 10px; padding: 10px 30px; }
:focus {
transition: color 0.7s, text-shadow 0.7s;
-webkit-transition: color 0.7s, text-shadow 0.7s;
text-shadow: #555 1px 1px 1px; }
REZULTAT
UN ALT EXEMPLU, PENTRU MENIU
li a { display: block;
color: white;
text-align: left;
padding: 16px;
text-decoration: none;
font-size: 20px;
-webkit-transition: background 2s; /* Safari */
transition: background 2s; }
li a:hover {
background-color: rgb(159, 167, 75);
-webkit-transition: background 2s; /* Safari */
transition: background 2s; }
PROPRIETATEA «FILTER»
<div class="head">
<div class="container">
<span class="one"></span>
<span class="two"></span>
<span class="three"></span>
<span class="four"></span>
</div>
</div>
STILURI
@-webkit-keyframes run {
0% { transform: translate(0%); border-radius: 50%; }
25% { transform: translate(150%) scale(0.6); border-radius: 0%; }
50% { transform: translate(150%, 150%); border-radius: 50%; }
75% { transform: translate(0%, 150%) scale(0.6); border-radius: 0%; }
}
@keyframes run {
0% { transform: translate(0%); border-radius: 50%; }
25% { transform: translate(150%) scale(0.6); border-radius: 0%; }
50% { transform: translate(150%, 150%); border-radius: 50%; }
75% { transform: translate(0%, 150%) scale(0.6); border-radius: 0%; }
}
REZULTAT
Exemplu
ALT EXEMPLU
@keyframes anime1 {
<h1 class="bottom anime"> 0% {
transform:translate(5px);
Florile de cameră preferate color: rgb(223, 252, 121);
}
</h1>
50% { transform: scale(0.5); }
100% { transform: scale(1);}
Stiluri: }
.anime{ @-webkit-keyframes anime1 {
animation-duration: 2s; 0% {
animation-iteration-count: infinite; transform:translate(5px);
animation-name: anime1; color: rgb(223, 252, 121);
} }
50% { transform: scale(0.5); }
100% { transform: scale(1);}
Rezultat }
LIBRĂRII CSS3
<html>
<link rel="stylesheet" href="css/animate.css" />
<body>
<h1 class="animated infinite pulse">HELLO!</h1>
</body>
</html>
Sau poate fi utilizată o bibliotecă suplimentară precum wow.js
(https://wowjs.uk/docs.html) împreună cu animate.css
În index.html – adăugați <script src="js/wow.min.js"></script>
Iar apoi <script>new WOW().init();</script>
Sau separați într-un fișier cu scripturi locale
!!!