Suport curs Web design nivel 1

Size: px
Start display at page:

Download "Suport curs Web design nivel 1"

Transcription

1 Partea 1 - Ce inseamna HTML? Pentru inceput sa descoperim originea abrevierii HTML - HyperText Markup Language. Acest limbaj este folosit pentru a formata si prezenta documente pe web. HTML adauga tag-uri fisierelor ASCII astfel incat sa permita afisarea unei varietati de fonturi, imagini sau sunete prin definirea unor elemente ca header, lista, paragraf si prin implementarea si utilizarea unor legaturi [link-uri] catre alte documente publicate pe internet. Mai clar, limbajul HTML este limbajul pe care il inteleg browser-ele (ex.: Mozilla Firefox, Internet Explorer, Chrome, Opera, etc.). Datorita acestui limbaj, browser-ul poate afisa ceea ce autorul paginii web a dorit sa prezinte. Elementele de baza ale limbajului HTML sunt foarte simple si usor de retinut si apoi de utilizat; cunoscand doar tag-urile de baza putem construi un intreg site fara probleme. Evoluand continuu, limbajul HTML a cunoscut de-a lungul timpului diferite versiuni. HTML 1991 HTML HTML HTML HTML XHTML HTML XHTML Structura HTML Ce este un tag? TAG-ul reprezinta o comanda in cod HTML care indica modul in care va fi interpretata informatia la care ea se refera. Tag-urile markup sunt numite in mod uzual tag-uri HTML. Sintetizand: Tag-urile HTML sunt denumiri cheie (numele tag-ului) inconjurate de semnele < si > Tag-urile HTML de obicei sunt pereche, duble [<b> si </b>] dar pot fi si simple [<br />] Primul tag din pereche se numeste tag-ul de inceput, iar urmatorul tag-ul de sfarsit Tag-ul de sfarsit este scris ca si tag-ul de inceput, dar cu semnul slash / inainte de denumire Tag-urile de inceput si sfarsit se mai numesc si tag-uri de deschidere si de inchidere <numetag>continutul dorit</numetag> <numetag /> Orice pagina web standard trebuie sa contina cateva tag-uri, numite in continuare de baza, care trebuie sa apara in cadrul fiecarei pagini a unui web site. Aceste tag-uri, prezentate in cele ce urmeaza, trebuie sa apara exact in aceasta cronologie in cadrul paginii web. Astfel, codul unui fisier HTML ar putea arata in felul urmator: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "

2 <html xmlns=" <head> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> <title>denumirea paginii mele</title> </head> <body> Aici putem scrie continutul de afisat in browser. </body> </html> Inainte de a explica fiecare tag in parte mentionam ca tag-urile trebuie scrise in codul sursa exact in forma in care ele apar mai sus, intre semnele <>. Aceste simboluri au menirea de a transmite browser-ului ca textul dintre ele trebuie recunoscut ca un tag, deci ca un cuvant cheie al limbajului, o comanda care trebuie executata. <!DOCTYPE> Declaratia <!DOCTYPE> este folosita pentru a ajuta browser-ul web sa afiseze corect documentul HTML. Sunt multe diferente intre versiunile HTML enuntate mai devreme, astfel incat un browser nu poate afisa corect continutul unei pagini web decat daca specificam tipul si versiunea de HTML. Exemple comune: HTML5 HTML 4.01 <!DOCTYPE html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" " XHTML 1.0 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " <html> Acest tag transmite browser-ului ca documentul respectiv este de fapt un document HTML, dand astfel indicatii asupra modului in care vor fi interpretate diferite partitii ale fisierului ASCII. <head> Acest tag este in fapt tot un mesaj catre browser, continand informatii despre document, ca de exemplu linkuri sau pagini care trebuie incarcate in prealabil. <title> Acest tag este folosit pentru a da o denumire paginii web create; acest nume va apare in partea superioara a fereastrei browser-ului identificand astfel pagina respectiva prin denumirea sa. </title> Acest tag este de fapt inchiderea celui precedent; transmite browser-ului ca textul ce trebuie considerat ca titlu al paginii s-a incheiat. Majoritatea tag-urilor HTML folosesc tag-uri corespondente de inchidere. </head> Reprezinta tag-ul de inchidere al tag-ului corespondent <head> deschis anterior, semnificand astfel incheierea zonei de inceput a documentului HTML.

3 <body> Acest tag semnaleaza deschiderea sectiunii corespunzatoare corpului paginii web. Aici se vor introduce informatiile continute in pagina, textul, grafica si elementele multimedia dorite. Aceste informatii vor aparea in fereastra browser-ului. </body> Reprezinta tag-ul de inchidere a zonei de continut, care transmite browser-ului ca nu se mai doreste adaugarea de informatie in aceasta pagina. </html> Acest tag incheie documentul HTML, semnaland browser-ului ca nu mai exista elemente care trebuie citite sau incarcate. Cu elementele prezentate mai sus putem deja crea o pagina web, foarte simpla dar perfect functionala. Codul urmator implementeaza o pagina web folosind doar tag-urile de baza: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " <html xmlns=" <head> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> <title>pagina mea proprie</title> </head> <body> Aceasta este o pagina de test. Acesta este un exemplu perfect pentru simplitatea crearii unei pagini web! </body> </html> Observatii: Dupa cum ati vazut tag-urile sunt folosite in general in perechi complementare. Daca doriti sa folositi tag-uri grupate fara a avea probleme atunci ele trebuie corect grupate si nu incrucisate. Exemplu: <tag1><tag2>continut</tag1></tag2> - tag-uri incrucisate care pot genera erori. <tag1><tag2>continut</tag2></tag1> - tag-uri grupate corect. Atributele HTML Pentru a personaliza tag-urile se folosesc atribute. Elementele HTML pot avea atribute Atributele formateaza suplimentar tag-urile Atributele sunt intotdeauna specificate in tag-ul de inceput (de deschidere) Atributele au intotdeauna valoare specificata astfel: name="valoare" Valoarea atributelor va fi intotdeauna delimitata folosind ghilimele

4 Desi atributele si valorile lor sunt case-insensitive, W3C recomanda folosirea literelor mici Astfel, sintaxa unui tag s-ar putea scrie in felul urmator: <tag atribut= valoare > </tag> Un tag poate avea mai multe atribute, caz in care vor fi despartite de un spatiu: <tag atribut= valoare atribut= valoare > </tag> Exista cateva atribute aplicabile oricarui tag: class id style title [specifica una sau mai multe denumiri de clasa pentru acel element] [specifica un id unic pentru element] [specifica un cod CSS inline pentru element] [specifica informatii aditionale despre element - afisate ca tool tip] 3. Tag-uri pentru formatarea continutului html A. Formatarea textului In cadrul sectiunii <body> apar elementele de text si grafica ale paginii noastre. Unele dintre elementele cel mai des utilizate care se intalnesc in cadrul acestei sectiuni sunt tag-urile pentru formatarea textului. Tag-urile Heading <h1> si </h1> <h6> si </h6> reprezinta tag-urile ce modifica dimensiunea textului, ingroasa textul si se folosesc la introducerea titlurilor intr-o pagina web. Dimensiunea textului variaza: <h1></h1> avand dimensiunea cea mai mare si <h6></h6> avand dimensiunea cea mai mica. <h1>acesta este un titlu mare</h1> <h2>acesta este un titlu mai mic</h2> <h3>acesta este un titlu si mai mic</h3> Atentie! Browsere-ele adauga automat un spatiu liber inaintea si dupa fiecare dintre tag-urile heading! Tag-ul <strong> <strong> si </strong> sunt tag-urile ce transforma textul dintre ele in text bold (ingrosat). In locul acestei perechi de tag-uri se poate folosi si perechea <b> si </b> Tag-ul <em> <em> si </em> sunt tag-urile ce transforma textul dintre ele in text italic (cursive). In locul acestei perechi de tag-uri se poate folosi si perechea <i> si </i> Tag-ul <u> <u> si </u> sunt tag-urile ce transforma textul dintre ele in text subliniat (underlined) Tag-ul <sup> <sup> si </sup> sunt tag-urile ce transforma textul in superscript

5 Tag-ul <sub> <sub> si </sub> sunt tag-urile ce transforma textul in subscript Tag-ul <del> <del> si </del> sunt tag-urile ce transforma textul in strike (text taiat). In locul acestei perechi de tag-uri se poate folosi si perechea <strike> si </strike> Tag-ul <p> <p> si </p> reprezinta tag-ul delimiteaza un paragraf de text. Un paragraf nu permite pozitionare unui alt element pe acelasi rand cu el si lasa cate un rand liber deasupra si dedesubtul sau. Tag-ul <br /> <br /> este tag-ul ce comanda trecerea la linie noua. Tag-ul este unul simplu, ce nu necesita tag de inchidere. In cazul in care dorim trecerea la o linie noua, este obligatorie folosirea tag-ului, simpla utilizare a tastei ENTER in cadrul codului sursa al paginii noastre nu are nici un efect in cadrul browser-ului. Astfel, pentru obtinerea mai multor linii libere se foloseste urmatoarea sintaxa : <body> Ceva tare<br /> <br /> <br /> <br /> <br /> <br /> Ciudat. </body> Secventa de mai sus va duce la urmatorul rezultat in browser : Ceva tare Ciudat. Tag-ul <blockquote> <blockquote> si </blockquote> marcheaza un citat. Din punctul de vedere al formatarii observam un spatiu liber fata de marginea din stanga si fata de marginea din dreapta si, similar cu paragraful, un rand liber deasupra si dedesubt. Observatie: Tag-urile de formatare a textului pot fi folosite si combinat pentru a obtine efectul dorit: <strong><em><u>stiu sa folosesc tag-urile html!</u></em></strong>

6 Caracterele speciale Caracterele speciale nu pot fi utilizate in mod normal ca text, datorita faptului ca ele reprezinta cuvinte cheie ale limbajului HTML. Pentru a introduce aceste caractere exista posibilitatea de a folosi codul lor sau alte definitii standardizate ale acestora. De exemplu pentru a obtine semnul de copyright vom scrie iar browser-ul va afisa pe ecran semnul de copyright ( ). In general, simbolul & marcheaza pentru browser faptul ca incepem descrierea unui caracter special. Unul dintre cele mai folosite caractere speciale pentru HTML este spatiul. In cazul in care in textul pe care dorim sa-l publicam vrem sa lasam un numar de 5 spatii intre doua cuvinte, browser-ul va afisa doar un singur spatiu intre ele. Pentru a putea afisa mai multe spatii trebuie introdus caracterul special : <body> Ceva tare ciudat. </body> Rezultatul acestei comenzi va fi : Ceva tare ciudat. Alte caractere speciale des utilizate ar fi : [ spatiu ] < [ < ] > [ > ] & [ & ] " [ " ] [ ] [ ] B Liste In HTML exista doua tipuri de liste: liste neordonate si liste ordonate I Liste neordonate 1. Sintaxa <ul> <li>primul element de lista</li> <li>al doilea element de lista</li> <li>al treilea element de lista</li> </ul> Exemplul de mai sus va fi afisat in browser astfel:

7 primul element de lista al doilea element de lista al treilea element de lista Din sintaxa observam urmatoarele: Tag-ul <ul></ul> (unordered list) reprezinta intreaga lista care in cazul nostru contine 3 elemente de lista care sunt marcate prin tag-urile <li></li> 2. Atribute Lista neordonata poate fi personalizata folosind atributul type care poate lua valorile: disc (valoarea default), circle sau square. Fiecare dintre cele 3 valori schimba simbolul din fata elementelor de lista. Astfel: <ul type= circle > <li>primul element de lista</li> <li>al doilea element de lista</li> <li>al treilea element de lista</li> </ul> Va afisa in browser: o o o primul element de lista al doilea element de lista al treilea element de lista Iar <ul type= square > <li>primul element de lista</li> <li>al doilea element de lista</li> <li>al treilea element de lista</li> </ul> Va reda: primul element de lista al doilea element de lista al treilea element de lista In toate cele 3 cazuri de mai sus putem observa ca folosind atributul type pe tag-ul <ul> obtinem liste care au acelasi simbol in fata elementelor de lista. In cazul in care dorim liste care sa nu foloseasca acelasi simbol la toate elementele de lista vom putea folosi acelasi atribut type aplicat, de data aceasta, pe fiecare tag <li> in parte. <ul>

8 </ul> <li type= circle >primul element de lista</li> <li type= disc >al doilea element de lista</li> <li type= square >al treilea element de lista</li> Va afisa in browser: o primul element de lista al doilea element de lista al treilea element de lista In exemplul de mai sus putem observa utilizarea atributului type pe fiecare element al listei cu o alta valoare. In functie de necesitati putem folosi orice combinatie de valori. II Liste ordonate 1. Sintaxa <ol> <li>primul element de lista</li> <li>al doilea element de lista</li> <li>al treilea element de lista</li> </ol> In browser se va afisa: 1. primul element de lista 2. al doilea element de lista 3. al treilea element de lista * comparand cu o lista neordonata observam o diferenta de cod HTML: utilizarea tag-ului <ol> (ordered list) in locul tag-ului <ul> iar la afisariea in browser: caracterele din fata elementelor de lista (care sunt ordonate 1, 2,3 ) 2. Atribute Pentru tag-ul <ol> In cazul tag-ului <ol> putem folosi 2 atribute: type si start. Ca si pentru tag-ul <ul> si aici putem folosi atributul type pentru a schimba caracterele din fata elementelor de lista dar cu alte valori: 1 (valoarea implicita), a, A, i sau I. <ol type= a > <li> primul element de lista</li> <li> al doilea element de lista</li> <li> al treilea element de lista</li>

9 </ol> Va rezulta in: a. primul element de lista b. al doilea element de lista c. al treilea element de lista Observam ca valoarea type= a transforma caracterele in a, b, c similar valoarea A iar type= i ar afisa : i. primul element de lista ii. al doilea element de lista iii. al treilea element de lista si intr-un mod similar type= I (I, II, III ) Folosind atributul start se poate stabili numarul de ordine al primului caracter, de exemplu: <ol type= 1 start= 3 > <li> primul element de lista</li> <li> al doilea element de lista</li> <li> al treilea element de lista</li> </ol> <ol type= a start= 3 > <li> primul element de lista</li> <li> al doilea element de lista</li> <li> al treilea element de lista</li> </ol> Care vor fi afisate in browser astfel: 3. primul element de lista 4. al doliea element de lista 5. al treilea element de lista c. primul element de lista d. al doilea element de lista e. al treilea element de lista Observam ca indiferent de tipul caracterelor din fata elementelor de lista (1 sau a) valorile pe care le ia atributul start sunt doar valori numerice. Pentru tag-ul <li> In cazul acestui tag putem folosi atributele type si value. Atributul type, ca si in cazul aplicarii lui pe tag-uri

10 <li> apartinant unei liste neordonate, stabileste caracterul din fata fiecarui element de lista. Astfel: <ol> </ol> <li type= 1 > primul element de lista</li> <li type= A >al doilea element de lista</li> <li type= I > al treilea element de lista</li> Va rezulta in: 1. primul element de lista B. al doilea element de lista iii. al treilea element de lista Observam ca, indiferent de valoarea atributului type din dreptul fiecarui element de lista, ordonarea se pastreaza (1 primul caracter din type= 1, B al doilea caracter din type= A si iii al treilea caracter din type= i ). Daca vom adauga si atributul value vom putea schimba numarul de ordine al fiecarui caracter din fata elementelor de lista ne mai fiind obligatorie o ordonare <ol> </ol> <li type= 1 value= 2 > primul element de lista</li> <li type= A value= 4 > al doilea element de lista</li> <li type= I value= 3 > al treilea element de lista</li> Rezultatul in browser fiind: 2. primul element de lista D. al doilea element de lista iii. al treilea element de lista Observam ca similar cu start si value ia doar valori numerice indiferent de tipul de caracter din fata elementului de lista C Imagini In cazul imaginilor utilizate pentru web prioritara este dimensiunea lor si apoi calitatea. Astfel in cele mai multe cazuri se va face un compromis la calitate pentru a obtine o dimensiune optima. Cele mai des intalnite imagini in paginile web sunt:.jpg - imagine de calitate superioara (16.7 milioane de culori) dar de dimensiune mai mare. Se folosesc in general in cazul galeriilor sau a fotografiilor..gif imagine de calitate redusa (256 culori) dar de dimensiune mai mica..png imagine de calitate redusa dar care suporta transparenta si care impreuna cu.gif se folosesc

11 pentru logo-uri sau imagini cu mai putine detalii Tagul care se foloseste pentru imagini este tag-ul simplu <img />. Acest tag nu poate fi folosit fara atribute. Astfel atributul obligatoriu pentru acest tag este src. Atribut ce are ca valoare calea catre imaginea dorita: <img src= calea catre imagine /> Caile in html pot fi incadrate in 2 categorii: absolute si relative. Caile absolute pot fi si ele la randul lor de 2 feluri: locale si online. - Cele locale presupun ca imaginea sa se afle pe acelasi calculator pe care se creeaza pagina si sunt de forma: <img src= file:///c /Users/Public/Pictures/SamplePictures/Desert.jpg />. Acest tip de cale nu este indicata din cauza faptului ca la eventuala mutare a folder-ului calea catre imagine nu va mai fi valabila si deci imaginea nu va fi afisata. - Caile online presupun ca imaginea sa se afle pe un site online si vor arata de forma: <img src=" />. Un dezavantaj pentru o astfel de cale ar fi atunci cand site-ul nu este administrat de noi si nu avem control asupra imaginii. In cazul in care adresa este chiar adresa site-ului nostru atunci o astfel de cale absolute poate fi folosita fara nicio problema. Caile relative presupun ca imaginea cu care facem legatura sa se afle in acelasi folder cu restul site-ului. Astfel o imagine inserata folosind o cale relativa va fi afisata indiferent de mutarea folder-ului. Iata 3 exemple: <img src= imagine.gif /> - presupune ca imaginea si fisierul html sa se afle in radacina aceluiasi folder <img src= poze/imagine.png /> - se foloseste atunci cand imaginea se afla in folder-ul poze care la randul lui sta impreuna cu pagina html in radacina aceluiasi folder <img src=../imagine.jpg /> - in acest caz imaginea se afla in radacina unui folder care contine folder-ul unde se gaseste pagina html Caile relative pot fi folosite chiar daca site-ul este sau nu online. Alte atribute pentru tag-ul <img />: alt <img src= imagine.jpg alt= text descriptiv /> Atributul alt are ca scop afisarea unui text descriptiv in locul imaginii in cazul in care aceasta nu este afisata si mai important reprezinta singura metoda prin care motoarele de cautare (google, yahoo, bing ) pot indexa / interpreta imaginile. width si height <img src= imagine.png width= 200 height= 200 /> Aceste atribute stabilesc dimensiunile imaginii (in pixeli). In cazul in care dorim sa modificam dimensiunile initiale ale unei imagini, trebuie sa ne asiguram ca pastram raportul latime / inaltime pentru a nu deforma imaginea. O alta solutie mai simpla ar fi sa folosim doar width sau doar height, caz in care browser-ul va calcula cealalta dimensiune fara sa deformeze imaginea. *Atentie: nu este indicat sa folosim imagini de mari / foarte mari dimensiuni. Chiar daca folosim width / height pentru redimensionare acestea for fi afisate cu dimensiunile stabilite de noi dar browser-ul va incarca imaginea originala si apoi o va redimensiona (ceea ce duce la o incarcare mai grea). Solutia ideala ar fi ca

12 imaginea sa fie redimensionata dintr-un program de editare de imagini si apoi, in html, sa folosim atat width cat si height avand valorile setate din programul de editare. In acest fel imaginea este de dimensiuni reduse si se incarca mai repede. title <img src= poza.gif title= text descriptiv /> Atributul title stabileste un text descriptiv care va fi afisat la trecerea cursorului peste imagine (mouseover). Are rolul de a oferi o descriere / explicatie a imaginii pentru utilizatori. In html 5 acest atribut este unul acceptat de toate tag-urile. align <img src= imagine.png align= left /> In cazul in care inseram doua sau mai multe imagini observam pozitionarea lor una langa cealalta. Folosind atributul align cu valorile left sau right putem pozitiona imaginea in partea stanga sau dreapta fata de o alta imagine sau un text. O pozitionare mai complexa se va realiza mai tarziu din css. D Link-uri Pentru a insera link-uri catre alte pagini html folosim tag-ul <a href= >text</a> in browser va fi afisat textul din interiorul tag-ului iar la click pe el va trimite catre adresa stabilita cu ajutorul atributului href. Ca si in cazul imaginilor (atributul src) si aici atributul href este obligatoriu. Valoarea lui va reprezenta pagina catre care dorim sa navigam. Adresele pot fi externe sau interne. Astfel link-urile externe, catre alte pagini care nu apartin site-ului nostru, sunt de forma Link-urile catre pagini apartinand site-ului pot fi scrise folosind cai relative ex: contact.html (exact ca in cazul imaginilor presupune ca fisierele sa apartina aceluiasi folder) dar se poate folosi si o adresa absoluta ex: (in acest caz site-ul trebuie sa fie online). target Pe langa atributul href care stabileste adresa catre care trimite link-ul mai putem folosi si atributul target care ia valori _parent (valoarea predefinita) sau _blank. Atributul target stabileste unde se va deschide adresa de destinatie astfel <a href= target= _parent >google</a> se va afisa in acelasi tab al browser-ului pe cand target= _blank va deschide pagina intr-un tab nou. title <a href= pagina.html title= text descriptiv >text</a> Si in acest caz title afiseaza un text descriptiv la mouseover. Este recomandat ca text-ul din interiorul tag-ului dublu <a> sa fie cat mai relevant pentru destinatia linkului. Link-urile nu sunt folosite exclusiv cu text. <a href= ><img src= imagine.png /></a> In acest caz in browser va fi afisata imaginea pe care va fi pus link-ul. Desi in majoritatea cazurilor link-urile sunt pe text, exista si cazuri (ex logo-ul site-ului) in care poate fi folosit un link pe o imagine. E Tabele Se insereaza cu tag-ul <table></table> dar cum un tabel nu poate exista fara celule vom avea nevoie si de

13 alte tag-uri. Astfel o structura reala a unui tabel va arata asa: <table> <tr> <td>celula 1</td> <td>celula 2</td> <td>celula 3</td> </tr> <tr> <td>celula 4</td> <td>celula 5</td> <td>celula 6</td> </tr> </table> Observam tag-ul <tr></tr> (table row) care defineste un rand de tabel si tag-ul <td></td> care defineste o celula. Dupa cum vedem pentru a defini un tabel trebuie sa cream randuri si apoi, in fiecare rand, cellule. In consecinta in exemplul de mai sus am creat un tabel cu 2 randrui si 3 celule pe fiecare rand. Fara niciun atribut tabelul va fi destul de rudimentar (nu va avea contur sau dimensiuni prestabilite). Atribute pentru <table> border <table border= 2 > </table> Stabileste grosimea liniei de contur a tabelului (in pixeli). Folosind acest atribut stabilim si linia de contur pentru cellule (in cazul celulelor conturul este intotdeauna 1 pixel ) bordercolor <table border= 10 bordercolor= #ff0000 > </table> Cu ajutorul acestui atribut setam culoarea liniei de contur (culoare care se va mosteni si la conturul celulelor) width si height <table width= 300 height= 300 > </table> Definesc dimensiunile tabelului in pixeli. align <table align= left > </table> Utilizand atributul align cu valorile left, right sau center putem pozitiona tabelul pe stanga paginii pe centru sau pe dreapta. Pentru o pozitionare mai exacta se foloseste css. cellspacing <table cellspacing= 20 > </table> Cellspacing stabileste distanta dintre cellule (in pixeli) cellpadding <table cellpadding= 5 > </table> Cellpadding reprezinta distanta intre continutul celulelor si conturul acestora (in pixeli) Atribute pentru tag-ul <td>

14 Spre deosebire de atributele tag-ului <table>, urmatoarele atribute nu vor afecta direct intregul tabel ci doar celula careia i-au fost adaugate. width si height <table width= 300 height= 300 border= 1 > <tr> <td width= 200 height= 200 >celula 1</td> <td>celula 2</td> <td>celula 3</td> </tr> <tr> <td>celula 4</td> <td>celula 5</td> <td>celula 6</td> </tr> </table> In acest exemplu vom observa ca celula cu width si height si-a modificat intr-adevar dimensiunile fata de dimensiunile ei initiale dar se observa si faptul ca aceasta redimensionare a afectat si restul celulelor din tabel. align Atributul align poate lua valorile: left, right, center sau justify. Cu ajutorul lui putem alinia, pe orizontala, continutul din interiorul celulei. valign Atributul valign puate lua valorile: top, bottom, middle. Cu ajutorul lui putem alinia, pe verticala, continutul din interiorul celulei rowspan Acest atribut ia doar valori numerice (valoarea minima 2) si reprezinta numarul de randuri pe care dorim sa intindem celula, in cadrul aceleiasi coloane. Aceasta intindere se face intotdeauna de la stanga spre dreapta. colspan Acest atribut ia doar valori numerice (valoare minima 2) si reprezinta numarul de coloane pe care dorim sa intindem celula, in cadrul aceluiasi rand. Aceasta intindere se face intotdeauna de sus in jos. title Si in acest caz title afiseaza un text descriptiv la mouseover. La utilizarea atributelor rowspan si colspan observam ca celula se extinde pe suprafata mai multor cellule, pe rand sau coloana, dar nu inlocuieste celulele initiale ci le va impinge. Astfel incat va trebui sa stergem celulele care nu mai incap in tabel pentru a ajunge la rezultatul dorit. De exemplu: <table width= 300 height= 300 border= 1 > <tr>

15 <td rowspan= 2 > celula 1</td> <td>celula 2</td> <td>celula 3</td> </tr> <tr> <td colspan= 2 >celula 4</td> <td>celula 5</td> <td>celula 6</td> </tr> <tr> <td>celula 7</td> <td>celula 8</td> <td>celula 9</td> </tr> </table> Observam ca celula 3 a fost impinsa pentru ca celula 1 s-a intins pe 2 coloane iar celula 9 pentru ca celula 4 s- a intins pe 2 randuri. Pentru a ajunge la rezultatul dorit va trebui sa stergem cele 2 celule 3 si 9 Codul va arata asa: <table width= 300 height= 300 border= 1 > <tr> <td rowspan= 2 > celula 1</td> <td>celula 2</td> <td>celula 3</td> </tr> <tr> <td colspan= 2 >celula 4</td> <td>celula 5</td> <td>celula 6</td> </tr> <tr> <td>celula 7</td> <td>celula 8</td>

16 <td>celula 9</td> </tr> </table> Iar rezultatul final E Formulare Pentru ca un formular sa fie functional este nevoie de un limbaj de programare server-side (ex: php). In continuare vom crea un formular din punctual de vedere al structurii html. Toate elementele de formular se introduce in interiorul tag-ului dublu <form></form>. Acesta poate avea urmatoarele attribute <form action= fisier.php method= post ></form> Atributul action face legatura cu fisierul php in care se realizeaza functionalitatea iar method stabileste modalitatea prin care se transmit informatiile catre server si are ca valori post sau get. Elemente de formular inserate cu tag-ul <input /> <input type= text name= nume /> Creeaza un camp de text de 1 rand. Valoarea atributului name este folosita in php pentru a identifica elementul de formular si deci ea trebuie sa fie unica pentru fiecare element de formular. Atribute optionale: size = 20 stabileste lungimea campului de text value= un text oarecare afiseaza un text predefinit in campul de text maxlength= 5 stabileste numarul maxim de caractere ce pot fi introduce placeholder= un text oarecare afiseaza un text predefinit in campul de text care dispare in momentul in care utilizatorul incepe sa scrie autofocus= autofocus selecteaza campul de text imediat dupa incarcarea paginii required= required marcheza ca necesar un element de formular <input type= password name= nume /> Creeaza un camp de text de 1 rand utilizat pentru parole (mascheaza continutul campului de text cu *) Valoarea atributului name este folosita in php pentru a identifica elementul de formular si deci ea trebuie sa fie unica pentru fiecare element de formular.

17 Accepta aceleasi attribute optionale ca si in cazul lui <input type= text /> cu mentiunea ca in cazul atributului value textul va fi mascat de * <input type= date name= nume /> *momentan nu este recunoscut de firefox si ie 10 Creeaza un camp de text de 1 rand care la click afiseaza un calendar din care se poate selecta o data. Valoarea atributului name este folosita in php pentru a identifica elementul de formular si deci ea trebuie sa fie unica pentru fiecare element de formular. Atribute optionale: autofocus= autofocus selecteaza campul de text imediat dupa incarcarea paginii required= required marcheza ca necesar un element de formular <input type= name= nume /> Creeaza un camp de text de 1 rand pentru introducerea unei adrese de . Verifica prezenta, unicitatea si pozitia Valoarea atributului name este folosita in php pentru a identifica elementul de formular si deci ea trebuie sa fie unica pentru fiecare element de formular. Atribute optionale: size = 20 stabileste lungimea campului de text value= un text oarecare afiseaza un text predefinit in campul de text maxlength= 5 stabileste numarul maxim de caractere ce pot fi introduce placeholder= un text oarecare afiseaza un text predefinit in campul de text care dispare in momentul in care utilizatorul incepe sa scrie autofocus= autofocus selecteaza campul de text imediat dupa incarcarea paginii required= required marcheza ca necesar un element de formular <input type= checkbox name= nume /> Creeaza un buton de tip checkbox. Particularitatea butoanelor de tip checkbox este ca putem selecta mai multe variante. Valoarea atributului name este folosita in php pentru a identifica elementul de formular si deci ea trebuie sa fie unica pentru fiecare element de formular. Atribute optionale: checked= checked stabileste butonul / butoanele preselectat /preselectate autofocus= autofocus selecteaza campul de text imediat dupa incarcarea paginii required= required marcheza ca necesar un element de formular <input type= radio name= numele grupului value= nume /> Creeaza un buton de tip radio. Particularitatea butoanelor de tip radio este ca putem selecta o singura variant apartinand grupului. Valoarea atributului name trebuie sa fie aceeasi pentru toate butoanele de tip radio dintr-un grup pentru ca acestea sa functioneze corect. Valoarea atributului value este folosita in php pentru a identifica elementul de formular si deci ea trebuie sa

18 fie unica pentru fiecare element de formular. Atribute optionale: checked= checked stabileste butonului preselectat autofocus= autofocus selecteaza campul de text imediat dupa incarcarea paginii required= required marcheza ca necesar un element de formular <input type= submit name= nume value= text afisat pe buton /> Creeaza un buton de submit care preia datele din formular si le trimite catre php autofocus= autofocus selecteaza campul de text imediat dupa incarcarea paginii required= required marcheza ca necesar un element de formular <input type= reset name= nume value= text afisat pe buton /> Creeaza un buton care reseteaza datele din formular la valoarea initiala si nu trimite nimic catre php autofocus= autofocus selecteaza campul de text imediat dupa incarcarea paginii required= required marcheza ca necesar un element de formular <input type="file" name="nume" /> Creeaza un buton de browse cu ajutorul caruia se ataseaza fisere in formular pentru a fi trimise Elemente de formular inserate cu tag-ul <select></select> <select name= nume > <option value= nume >optiunea 1</option> <option value= nume >optiunea 1</option> <option value= nume >optiunea 1</option> </select> Creeaza un meniu de tip drop-down din care putem selecta o singura optiune Valoarea atributului value este folosita in php pentru a identifica elementul de formular si deci ea trebuie sa fie unica pentru fiecare element de formular. Atribute optionale pentru tag-ul <option> selected= selected stabileste optiunea preselectata. In cazul in care niciun tag <option> nu are atributul selected atunci prima optiune va fi cea preselectata. Un singur <option> poate avea acest atribut Atribute optionale pentru tag-ul <select> multiple= multiple in acest caz meniul permite selectarea mai multor optiuni (folosind ctrl + click) dar isi pierde calitatea de drop-down. In cazul unui astfel de meniu, mai multe tag-uri option pot avea atributul selected= selected autofocus= autofocus selecteaza campul de text imediat dupa incarcarea paginii required= required marcheza ca necesar un element de formular Elemente de formular inserate cu tag-ul <textarea></textarea> <textarea name= nume rows= 5 cols= 20 ></textarea> Creeaza un camp de text pe mai multe randuri. Valoarea atributului rows stabileste numarul de randuri iar valoarea atributului cols stabileste numarul de caractere pe rand.

19 Valoarea atributului name este folosita in php pentru a identifica elementul de formular si deci ea trebuie sa fie unica pentru fiecare element de formular. Atribute optionale: maxlength= 5 stabileste numarul maxim de caractere ce pot fi introduce placeholder= un text oarecare afiseaza un text predefinit in campul de text care dispare in momentul in care utilizatorul incepe sa scrie autofocus= autofocus selecteaza campul de text imediat dupa incarcarea paginii required= required marcheza ca necesar un element de formular Tag-ul <fieldset></fieldset> incadreaza elemente de formular intr-un chenar. Toate elementele de formular, inclusiv tag-ul <form></form> vor fi cuprinse in acest tag. Tag-ul <legend>descriere formular</legend> Trebuie sa fie in interiorul <fieldset> si reprezinta titlu ce va aparea scris pe conturul generat de acesta. Textul poate fi aliniat doar din css Video <video width= 300 height= 200 controls= controls > <source src= clip.mp4 type= video/mp4 /> <source src= clip.ogg type= video/ogg /> </video> Cu ajutorul acestui tag putem insera un video in pagina html fara sa mai fie nevoie de flash (.flv). Atributele width si height ale tag-ului video stabilesc dimensiunile player-ului in pixeli iar atribul controls afiseaza butoanele player-ului Tag-urile <source/> sunt folosite pentru a insera calea de trimitere catre fisierul video. Este recomandat sa folosim fisierul video in versiunea mp4 dar si ogg (sau ogv) pentru a ne asigura ca va fi visibil in toate browser-ele PARTEA A 2-A - CSS Cascading Style Sheets - cu ajutorul css-ului putem pozitiona si formata elementele create din html. I. Moduri de aplicare 1. Intern 2. Extern 3. Inline 1. CSS intern Codul css intern se introduce in sectiunea de head a documentului folosind tag-ul <style type= text/css >aici sta codul css</style>. Atributul type= text/css indica browser-ului tipul de cod ce se va regasi in interiorul tag-ului style. Browser-ele moderne pot recunoaste codul fara sa mai fie nevoie de atributul type deci tag-ul pentru css intern va fi, simplu, <style>cod css</style>.

20 Css-ul intern formateaza intreaga pagina in care a fost inserat. In cazul unui site cu mai multe pagini nu este totusi varianta ideala pentru ca ar necesita scrierea codului css pentru fiecare pagina si ar incarca destul de mult codul html. 2. CSS extern In cazul css-ului extern codul css se introduce intr-un fisier cu extensia.css, fara a se mai folosi tag-ul <style>, si apoi se realizeaza legatura cu pagina html folosind tag-ul <link rel= stylesheet type= text/css href= fisier.css /> Acest tag se insereaza tot in tag-ul <head>. Exact ca in cazul css-ului intern si aici se poate omite atributul type. Valoarea atributului href reprezinta calea catre pagina.css. Css-ul extern are avantajul ca se poate lega de oricate pagini html asftel incat este foarte eficient in cazul unui site cu mai multe pagini. 3. CSS inline Se introduce direct pe tag-ul dorit folosind atributul style <tag style= cod css ></tag>. Orice tag html accepta atributul style. Un foarte mare dezavantaj pe care il are css-ul inline este faptul ca incarca foarte mult codul html (trebuie inserat pentru fiecare tag in parte). Avantajul principal il constituie prioritatea pe care o are fata de css intern sau extern. De exemplu: textul unui paragraf este colorat in rosu prin intermediul css-ului intern, in albastru folosind css extern si in verde cu css inline; browser-ul va afisa paragraful colorat cu verde. II. Sintaxa CSS Facand o paralela cu sintaxa html avem urmatoarele: HTML <tag atribut= valoare ></tag> sau <tag atribut= valoare /> CSS selector {proprietate: valoare;} Astfel proprietatile cu valorile lor din css pot fi asemanate cu atributele respectiv valorile din html cu mentiunea ca proprietatile css permit un grad de libertate mai mare in ceea ce priveste formatarea. In ceea ce priveste selectorul, el ofera optiunea de a selecta mai multe tag-uri in acelasi timp. 1. Tipuri de selectori 2. Proprietati css 1. Tipuri de selectori

21 selector {proprietate: valoare;} A. direct B. class C. id 1.A. Selectorul direct <head> <style> p { proprietate: valoare; } </style> </head> <body> <p>primul paragraf</p> <p>al doilea paragraf</p> <p>al treilea paragraf</p> </body> In exemplul de mai sus, in care am folosit css intern, ne vom concentra pe selectorul direct p. (Aceeasi sintaxa va fi valabila si in cazul css-ului extern) Caracteristici ale selectorului direct: - orice tag html poate reprezenta un selector direct - numele selectorului este dat de numele tag-ului fara < si > - formateaza TOATE tag-urile cu acelasi nume din pagina (in cazul nostru p formateaza toate tag-urile <p> din pagina) - in cazul in care dorim sa formatam un paragraf intr-un mod diferit fata de restul paragrafelor va trebui sa folosim un alt tip de selector. 1.B. Selectorul class <head> <style>.abc {proprietate: valoare;} </style> </head> <body> <tag class= abc ></tag> <tag class= abc /> </body> In exemplul de mai sus, in care am folosit css intern, ne vom concentra pe selectorul class.abc. (Aceeasi sintaxa va fi valabila si in cazul css-ului extern) Caracteristici ale slectorului class: - numele unui selector de tip class poate fi orice text precedat de caracterul. (punct) cu 2 exceptii: textul poate contine doar litere, cifre, - sau _

22 primul caracter de dupa. SA NU FIE cifra - formateaza doar tag-urile care au atributul class= abc (valoarea atributului class este data de numele selectorului fara caracterul. ) - orice tag html accepta atributul class - un selector class poate fi folosit pentru a formata oricate tag-uri din aceeasi pagina html 1.C. Selectorul ID <head> <style> #abc {proprietate: valoare;} </style> </head> <body> <tag id= abc ></tag> </body> In exemplul de mai sus, in care am folosit css intern, ne vom concentra pe selectorul class #abc. (Aceeasi sintaxa va fi valabila si in cazul css-ului extern) Caracteristici ale slectorului id: - numele unui selector de tip id poate fi orice text precedat de caracterul # (diez) cu 2 exceptii: textul poate contine doar litere, cifre, - sau _ primul caracter de dupa. SA NU FIE cifra - formateaza doar tag-urile care au atributul id= abc (valoarea atributului id este data de numele selectorului fara caracterul # ) - orice tag html accepta atributul id - un selector id poate fi folosit O SINGURA DATA intr-o pagina html - selectorii de tip id se folosesc pentru elemente unice in pagina 2. Proprietati CSS selector {proprietate: valoare;} Proprietatile css pot fi impartite in urmatoarele categorii: A. pentu formatare de text B. pentru liste C. pentru link-uri D. fundal (background) E. pozitionare color: green; Proprietatea color stabileste culoarea text-ului si poate lua valori:

23 - numele culorii in engleza (red, green etc.) - un cod hexazecimal (#00ff00) este format din caracterul # urmat de 6 caractere intre 0-9 si intre a-f. Fiecare culoare are un cod hexazecimal aferent. Cateva exemple simple de culori: # (negru), #ffffff (alb), #ff0000 (rosu), #00ff00 (verde), #0000ff (albastru). Astfel primele 2 caractere de dupa # reprezinta rosu, urmatoarele 2 verde iar ultimile albastru. - rgba(0, 255, 0, 0.5) cu ajutorul acestei valori putem folosi culori cu transparenta. Astfel prima valoare dintre paranteze (0-255) este valabila pentru rosu, a doua (0-255) pentru verde, a treia (0-255) pentru albastru iar ultima valoare (0-1) reprezinta opacitatea. font-size: 16px; Stabileste dimensiunea font-ului in pixeli (px). 16px este dimensiunea default a browser-ului. font-family: Verdana, Arial, sans serif; Stabileste fontul cu care este scris textul. Prezenta mai multor familii de fonturi separate prin virgula permite browser-ului sa foloseasca alt font - in cazul in care primul font nu este recunoscut, al doilea va fi aplicat etc. In cazul in care dorim sa folosim un font mai special (care nu este suportat de browser in mod normal) putem folosi urmatoarea { font-family: fontul-meu; src: url('fonts/kenyan_coffee_rg.eot'), url('fonts/kenyan_coffee_rg.eot?#iefix'), url('fonts/kenyan_coffee_rg.woff'), url('fonts/kenyan_coffee_rg.ttf'), url('fonts/kenyan_coffee_rg.svg#kenyan_coffeeregular'); } font-family stabileste in acest caz denumirea fontului (poate fi un nume ales de noi) denumire pe care o putem folosi ulterior cand vrem sa stabilim un font pentru anumite elemente. src stabileste calea catre fisierul / fisierele de tip font. Observam ca sunt mai multe fisiere cu extensii diferite; acest lucru este necesar pentru a ne asigura ca fontul va fi recunoscut de toate browser-ele. O alta metoda prin care putem sa inseram un font special in pagina ar fi sa folosim google fonts. (se intra pe site si se urmeaza pasii) font-style: italic; Cu ajutorul acestei proprietati putem face font-ul italic. Alte valori pe care le poate lua font-style sunt: normal; (care este valoarea default) si oblique (valoare care este mai putin folosita si care nu difera foarte mult de italic). In general aceasta proprietate se foloseste cu valoarea italic; font-weight: bold; Folosind proprietatea font-weight putem regla grosimea fontului. Alte valori in afara de bold ar fi: normal (valoarea default), lighter (mai subtire), bolder (mai gros) dar si valori numerice 100, cu ajutorul carora putem stabili grosimea cu mai mare exactitate, astfel 100 foarte subtire iar 900 foarte gros. Valoarea normal este echivalenta valorii de 400 iar bold 700.

24 text-align: left; Aceasta proprietate ne permite alinierea pe orizontala a unui text. Valoarea default a proprietatii este left (aliniaza textul pe stanga). Alte valori ar fi: right (aliniaza textul pe dreapta), center (aliniaza pe centru) si justify (intinde textul pe toata latimea dandu-i un aspect de bloc de text prin modificarea spatiilor dintre cuvinte) text-indent: 20px; Insereaza un spatiu intre marginea din stanga si primul rand de text al elementului selectat (alineat). Poate lua orice valoare numerica in px. text-decoration: none; Folosind alte valori precum underline, overline sau line-through, aceasta proprietate ne permite decorarea textului (underline text subliniat, overline text supraliniat, line-through text taiat cu o linie orizontala). Valoarea none, care este valoarea default in majoritatea cazurilor, ne poate ajuta in cazul link-urilor (elemente care sunt subliniate default) atunci cand nu dorim ca ele sa mai fie subliniate. O ultima valoare (mai putin utilizata) este blink cu ajutorul careia putem avea un text care sa 'clipeasca'. Aceasta valoare este suportata doar in Opera si Firefox. text-transform: lowercase; Valoarea lowercase a acestei proprietati ne permite transformarea unui text scris cu majuscule intr-unul scris cu litere mici. Folosind valoarea uppercase putem realiza efectul invers si valoarea capitalize transforma in majuscula prima litera a fiecarui cuvant. line-height: 30px; Proprietatea line-height stabileste inaltimea unui rand (in px). Modificand valoarea observam apropierea sau indepartarea randurilor intre ele. word-spacing: 20px; Stabileste distanta dintre cuvinte (in px). letter-spacing: 10px; Stabileste distanta dintre litere (in px). 2.B. Proprietati CSS pentru formatarea listelor list-style-type Folosind aceasta proprietate putem modifica simbolurile / caracterele din fata elementelor de lista. Valorile acceptate: disc, circle, square, decimal (1, 2, 3), lower-alpha (a, b, c), upper-alpha (A, B, C), lower-roman (i, ii, iii), upper-roman (I, II, III). Aceste valori acopera atat simbolurile / caracterele pentru listele neordonate cat si pentru cele ordonate. In consecinta, putem concluziona ca orice tip de lista am folosi putem ajunge la acelasi rezultat. Alte valori notabile: none (foarte utila atunci cand avem meniuri de butoane si nu dorim caractere sau simboluri in fata elementelor de lista), decimal-leading-zero (01, 02, 03) dar si altele (hebrew, lower-greek, upper-greek ) list-style-image: url('imagine.jpg');

25 In cazul in care dorim o imagine in loc de un caracter sau un simbol vom folosi list-style-image. Intre paranteze si ghilimele (' ' sau ) se trece calea catre imaginea dorita. 2.C. CSS pentru formatarea link-uri In acest caz nu vom vorbi despre selectori mai degraba decat despre proprietati. Astfel: a:link {proprietate: valoare;} - formateaza link-urile nevizitate a:visited {proprietate: valoare;} - formateaza link-urile vizitate a:hover {proprietate: valoare;} - formateaza link-urile atunci cand trecem cu mouse-ul peste ele in browser (mouseover) a:active {proprietate: valoare;} - formateaza link-urile in momentul click-ului pe ele Cu ajutorul acestor selectori (care se numesc pseudo-clase) putem formata link-urile in functie de starea lor. Proprietatile dintre acolade sunt de cele mai multe ori proprietati pentru formatarea textului. Selectorii dinexemplul de mai sus vor formata toate link-urile din pagina (pentru ca a este un selector direct) ceea ce nu este intotdeauna ceva de dorit. In consecinta avem urmatoarea sintaxa: a.sus:link {proprietate: valoare;} a.sus:visited {proprietate: valoare;} a.sus:hover {proprietate: valoare;} a.sus:active {proprietate: valoare;} In acest caz vor fi formatate doar tag-urile <a href= class= sus >link</a> astfel putem controla ce link-uri vrem sa formatam. (in general link-urile din meniul de butoane sunt formatate diferit fata de cele care se gasesc in corpul site-ului). Este indicat sa folosim toate cele 4 pseudo-clase pentru a nu-i permite browser-ului sa aplice formatarea default. 2.D. Proprietati CSS pentru fundal (background) background-color: #ff00ff; Stabileste culoarea de fundal a elementului. La fel ca in cazul proprietatii color si aici avem optiunea de a scrie culoarea ca rgba, cod hexa sau denumirea culorii in engleza. background-image: url('imagine.png'); Cu ajutorul acestei proprietati putem insera o imagine pe fundal. In cazul in care imaginea este mai mica decat suprafata elementului, imaginea se va repeta pe toata suprafata disponibila. Daca imaginea este mai mare decat suprafata elementului, atunci va fi vizibila doar sectiunea de imagine care incape in element. background-repeat: no-repeat; Folosind background-repeat stabilim cum sau daca imaginea de fundal se repeta. Astfel valoarea no-repeat nu permite repetarea imaginii indiferent de dimensiunea pe care o are aceasta. Repeat-x asigura repetarea imaginii doar pe orizontala iar repeat-y doar pe verticala.

26 background-position: left top; Pozitioneaza imaginea de fundal. Observam ca aceasta proprietate are 2 valori separate prin spatiu: o valoare pentru orizontala si una pentru verticala. Valorile posibile pentru orizontala sunt left, right sau center iar pentru verticala top, bottom sau center. Combinand aceste valori, avem un control destul de bun asupra pozitionarii imaginii pe fundal. background: #ff0000 url('imagine.gif') no-repeat center top; Proprietatea background poate concatena toate valorile discutate anterior. Dupa cum observam in exemplul de mai sus, prima valoare este pentru background-color, a doua pentru background-image, a treia pentru background-repeat si ultimile 2 pentru background-position. Nu este obligatoriu sa se foloseasca toate valorile. De asemenea ordinea de scriere nu este obligatorie Folosind background putem sa cream chiar si un gradient. Astfel pentru un gradient liniar vom folosi: background: -webkit-linear-gradient(left, #ff0000 0%, #00ff00 100%); background: -moz-linear-gradient(left, #ff0000 0%, #00ff00 100%); background: -o-linear-gradient(left, #ff0000 0%, #00ff00 100%); background: -ms-linear-gradient(left, #ff0000 0%, #00ff00 100%); * * pentru versiunile de la ie 10 in sus Inainte sa analizam fiecare componenta a valorii trebuie mentionat faptul ca ea este interpretata ca o imagine adica o putem folosi in locul unui url('imagine.png') sau ca valoare pentru proprietatea background-image. Cum browser-ele nu suporta, inca, in totalitate aceasta valoare pentru background se vor folosi prefixe pentru fiecare browser in parte: -webkit- pentru google chrome si safari -moz- pentru mozilla firefox -o- pentru opera -ms- pentru internet explorer (incepand cu versiunea 10) Pana cand browser-ele vor suporta complet aceasta valoare si nu va mai fi nevoie de prefix, va trebui sa scriem toate cele 4 randuri pentru a ne asigura ca gradientul va fi vizibil in toate browser-ele. linear-gradient reprezinta tipul de gradient si ar avea ca alternativa radial-gradient (gradient circular tranzitia culorii se va face dinspre interior catre exterior) Intre paranteze avem urmatoarele componente: pozitia din care porneste gradientul si apoi 2 sau mai multe puncte de inflexiune a culorii. Pozitia (in cazul nostru 'left' va genera un gradient de la stanga la dreapta) poate fi definita folosind valorile pe care le-am intalnit la background-position. Punctele de schimbare a culorii sunt definite printr-o culoare si un procent separate printr-un spatiu. Procentul se refera la punctul in care se va aplica culoarea definita anterior. Astfel, 0% inseamna culoarea cu care incepe gradientul iar 100% culoarea cu care se termina gradientul. In exemplul de mai sus am folosit doar 2 procente (pentru inceput si sfarsit) dar putem folosi mai multe procente in cazul in care vrem sa modificam culoarea si in alt(e) punct(e). Exemplu:

27 background: -webkit-linear-gradient(top, green 0%, black 50%, green 100%); Atentie folosirea spatiilor in cadrul acestei valori este permisa doar in cadrul parantezei! 2.E. Proprietati CSS pentru pozitionare In css pozitionarea se realizeaza cu ajutorul div-urilor. Tag-ul <div></div> nu permite pozitionarea altor elemente pe acelasi rand. Ele vor putea fi formatate si pozitionate in pagina folosind urmatoarele proprietati. width: 200px; Stabileste latimea in px. In cazul in care nu se seteaza o valoare pentru width, div-ul se va intinde automat pe toata latimea pe care o are la dispozitie. height: 200px; Stabileste inaltimea in px. In cazul in care nu se seteaza o valoare pentru height, atunci el se va intinde in functie de continutul pe care il are. border: 2px solid red; Stabileste linia de contur. Prima valoare este pentru grosimea liniei, a doua valoare reprezinta tipul de linie iar ultima valoare este culoarea liniei. Atunci cand definim un border este indicat sa folosim toate cele 3 valori. In cazul in care nu dorim sa avem acelasi contur pe toate laturile, putem folosi: border-top: 1px dotted #00ffff; border-bottom: 3px double #00ff00; border-left: 5px dashed blue; border-right: 4px solid yellow; Tipuri de linii: solid linie continua, dotted linie punctata, dashed linie intrerupta, groove, ridge, inset si outset sunt linii de contur mai speciale (utilizeaza doua nunate ale culorii astfel incat sa aiba un aspect reliefat) padding: 10px; Padding reprezinta distanta intre continutul elementului (div-ului) si conturul acestuia. Folosind o singura valoare vom putea seta distanta fata de contur in toate directiile (sus, jos, stanga, dreapta). Exista, totusi, si alte modalitati pentru a seta padding: padding-top: 100px; padding-left: 20px; padding-right: 10px; padding-bottom: 30px; Utilizam aceste proprietati cand dorim sa setam padding doar intr-o singura parte. padding: 20px 40px; In acest caz prima valoare stabileste padding sus si jos iar a doua padding dreapta si stanga. padding: 20px 10px 30px 60px;

28 Daca dorim sa setam padding diferit pentru fiecare parte folosim proprietatea padding cu 4 valori. Astfel: prima valoare este pentru sus, a doua pentru dreapta, a treia jos si a patra pentru stanga. Padding poate lua valoarea 0px dar nu si valori negative; margin: 20px; Aceasta proprietate stabileste distanta dintre elementul selectat si elementele vecine. Folosind o singura valoare putem seta aceeasi distanta in toate partile (sus, jos, stanga si dreapta). In cazul in care dorim sa stabilim distanta pentru o singura parte putem folosi proprietatile: margin-top: 100px; margin-bottom: 50px; margin-left: 40px; margin-right: 20px; margin: 20px 30px; Similar cu padding, cele doua valori reprezinta: prima valoare sus si jos iar a doua dreapta stanga. margin: 50px 0px 10px 14px; Daca dorim sa setam margin diferit pentru fiecare parte folosim proprietatea margin cu 4 valori. Astfel: prima valoare este pentru sus, a doua pentru dreapta, a treia jos si a patra pentru stanga. margin: auto; Valoarea auto centreaza in plan orizontal elementul pe care a fost aplicata proprietatea; Suprafata totala a unui element este data de suma tuturor proprietatilor de mai sus (width, height, padding, border si margin). Suprafata ocupata pe orizontala = width + padding-left + padding-right + border-left + border-right + margin-left + margin-right * Suprafata ocupata pe verticala = height + padding-top + padding-bottom + border- top + border- bottom + margin- top + margin- bottom * * chiar daca, in browser, din punct de vedere vizual elementul este definit pana la border Exemplu. Avem un div definit prin urmatoarele proprietati: div { width: 100px; height: 100px; padding-left: 50px; border: 1px solid black; } Suprafata pe care acest div o ocupa pe vertical este de 102px; (padding-left nu influenteaza inaltimea iar valoarea de 1px de la border se va calcula de 2 ori pentru ca exista linie de contur si sus si jos) float Cu ajutorul acestei proprietati putem pozitiona div-urile unul langa altul pe orizontala. (! toate div-urile

29 implicate trebuie sa aiba float) Fara proprietatea float ele sunt pozitionate, nativ, unul sub altul. Valorile posibile pentru float sunt left si right. In cazul in care toate au float: left, vor fi pozitionate in ordinea inserarii (in codul html) incepand cu partea stanga a elementului in care stau. Similar pentru float: right cu mentiunea ca vor fi ordonate incepand cu partea dreapta. Exemplu. In cazul de mai jos avem 3 div-uri care au width, height si background. Observam ca ele sunt pozitionate pe vertical (nativ). In continuare vom aplica proprietatea float: left pentru toate div-urile si vom obtine o ordonare orizontala: In cazul in care am fi folosit float right div-urile ar fi fost pozitionate incepand din partea dreapta (elementul rosu ar fi in dreapta) clear: both; Proprieatatea clear ignora float-ul elementului anterior. Valorile acceptate sunt left, right si both. Valoarea cea mai des intalnita si mai simplu de utilizat este both. Considerand cazul prezentat mai sus, daca am dori ca div-ul al trei-lea (cel albastru) sa treaca pe randul urmator si sa nu mai fie in float fata de celelalte 2, ii vom aplica clear:both

30 Daca vom aplica clear: both pe al doilea div (cel negru) vom obtine: Observam faptul ca cel de al trei-lea div este in continuare in float fata de al doilea position Proprietatea position poate lua valorile relative sau absolute. Folosind aceasta proprietate alaturi de proprietatile top, left, right sau bottom putem pozitiona cu o mai mare precizie si usurinta elementul selectat. position: relative; - nu modifica pozitia initiala a elementelor (ex: in cazul in care elementul avea float: right isi va pastra pozitia si dupa aplicarea proprietatii position cu valoarea relative) - cu ajutorul proprietatilor top, right, left sau bottom deplaseaza elementul fata de pozitia lui initiala (ex: un element cu position: relative si top: 10px va fi deplasat fata de sus cu 10 pixeli) - elementele deplasate cu position: relative isi pastreaza 'rezervat' locul ocupat initial in pagina si nu afecteaza pozitionarea celorlalte elemente Exemplu: In imaginea alaturata observam ca elementele nu au fost deplasate de la pozitia lor initiala chiar daca au aplicata proprietatea position: relative; In urmatorul pas am aplicat proprietatile top: 150px; si left: 150px; pentru div-ul rosu. Observam ca spatiul ocupat initial de div-ul rosu ramane 'rezervat' si de asemenea faptul ca a fost deplasat fata de pozitia lui initiala. Mai jos puteti vedea codul folosit pentru a realiza acest exemplu.

31 <html> <head> <title></title> <style> # a{ width: 100px; height: 100px; background: black; position: relative; } # b { width: 100px; height: 100px; background: red; position: relative; left: 150px; top: 150px; } # c { width: 100px; height: 100px; background: blue; position: relative; } </style> </head> <body> <div id= "a" ></div> <div id= "b" ></div> <div id= "c" ></div> </body> </html> position: absolute; - modifica pozitia initiala a elementelor (ele vor fi repozitionate in coltul din stanga sus al display-ului / ferestrei browser-ului) - cu ajutorul proprietatilor top, right, left sau bottom deplaseaza elementul fata de display / fereastra browser-ului (exceptie in cazul in care este continut intr-un alt element care are position: relative; sau position: absolute; atunci el se va deplasa fata de laturile acestuia) - elementele care au position: absolute; nu mai ocupa loc in pagina (iese din ierarhia html va fi pozitionat peste celalte elemente)

32 In exemplul din stanga avem 3 div-uri pozitionate in mod default unul sub altul. (este pozitia lor inainte de position: absolute;) Dupa ce aplicam position: absolute pe fiecare dintre div-uri observam ca ele se pozitioneaza in acelasi punct, suprapunandu-se: In continuare putem folosi proprietatile top, left, right sau bottom ca sa pozitionam div-urile fata de fereastra browser-ului In urmatorul pas pentru primul div am adaugat top: 0px; left: 0px;, cel de al doilea right: 20px; top: 40px; iar ultimul bottom: 0px; right: 30px;. Observam ca fiecare div se va pozitiona fata de fereastra browser-ului:

C6 c) / /21

C6 c) / /21 C6 c) / 18.12.2016 1/21 2/21 Limbajul HTML contine urmatoarele marcaje prin care se poate crea o legatura: A creeaza o legatura catre o resursa Web; LINK specifica legaturi catre resurse utile; IMG creeaza

More information

Utilizarea formularelor in HTML

Utilizarea formularelor in HTML Utilizarea formularelor in HTML Formulare Un formular este constituit din elemente speciale, denumite elemente de control (controls), cum ar fi butoane radio, butoane de validare, câmpuri text, butoane

More information

Proprietati CSS pentru margini - BORDER

Proprietati CSS pentru margini - BORDER Proprietati CSS pentru margini - BORDER Property Values Description border border-bottom border-width border-bottom-width O proprietate pentru setarea celor 3 proprietati intr-o singura linie O proprietate

More information

Fişiere in C++ Un fişier este o colecţie de date indicat printr-un nume şi o extensie. Numele este desparţit de extensie prin punct.

Fişiere in C++ Un fişier este o colecţie de date indicat printr-un nume şi o extensie. Numele este desparţit de extensie prin punct. Fişiere in C++ Un fişier este o colecţie de date indicat printr-un nume şi o extensie. Numele este desparţit de extensie prin punct. Avantajul lucrului cu fisiere este evident, datele rezultate în urma

More information

Laborator 5 Instrucțiunile repetitive

Laborator 5 Instrucțiunile repetitive Laborator 5 Instrucțiunile repetitive Instrucțiunea for Instrucțiunea for permite repetarea unei secvențe de instrucțiuni atâta timp cât o condiție este îndeplinita. În plus, oferă posibilitatea execuției

More information

Introducere in AutoCAD 3D

Introducere in AutoCAD 3D Introducere in AutoCAD 3D Eu obisnuiesc sa spun ca diferenta dintre AutoCAD 2D si AutoCAD 3D este doar de 15 minute deoarece totul se reduce doar la a intelege cum functioneaza acest 3D si sistemul de

More information

Alocarea memoriei în C sub Linux

Alocarea memoriei în C sub Linux Costel Aldea Alocarea memoriei în C sub Linux Sunt trei funcţii C standard care se pot folosi pentru a aloca memorie: malloc(), calloc(), si realloc(). Prototipurile lor, după cum sunt definite în stdlib.h:

More information

Laborator 3 Java. Introducere in programarea vizuala

Laborator 3 Java. Introducere in programarea vizuala Laborator 3 Java Introducere in programarea vizuala 1. Pachetele AWT si Swing. 2. Ferestre 3.1. Introduceti urmatorul program JAVA: public class Pv public static void main(string args[ ]) JFrame fer=new

More information

Ingineria Sistemelor de Programare. UML Diagrama Cazurilor de Utilizare 2016

Ingineria Sistemelor de Programare. UML Diagrama Cazurilor de Utilizare 2016 Ingineria Sistemelor de Programare UML Diagrama Cazurilor de Utilizare mihai.hulea@aut.utcluj.ro 2016 Introducere UML UML UML = Unified Modeling Language Dezvoltat in cadrul Object Management Group In

More information

Limbajul HTML. Limbajul HTML

Limbajul HTML. Limbajul HTML - 1 - - 2 - Limbajul HTML 1. Introducere în World Wide Web World Wide Web (www) este un sistem de documente şi informaţii de tip hipertext legate ele între ele care pot fi accesate prin intermediul Internetului.

More information

1. Să se determine de câte ori apare cifra c în scrierea în baza p a numărului n.

1. Să se determine de câte ori apare cifra c în scrierea în baza p a numărului n. Observatii: Codul de mai jos a fost realizat si testat pe pagina online: https://www.tutorialspoint.com/compile_pascal_online.php 1. Să se determine de câte ori apare cifra c în scrierea în baza p a numărului

More information

Laboratorul 2 Limbajul HTML Liste, tabele şi cadre

Laboratorul 2 Limbajul HTML Liste, tabele şi cadre Laboratorul 2 Limbajul HTML Liste, tabele şi cadre Etichete pentru legături şi imagini Legături Defineşte o legătură sau o ancoră Defineşte legătura dintre un document şi o resursă externă

More information

Rezolvare fişă de laborator Java Iniţiere în limbajul Java

Rezolvare fişă de laborator Java Iniţiere în limbajul Java Rezolvare fişă de laborator Java Iniţiere în limbajul Java Ex 1: Scrie următorul program Java folosind JCreator apoi încercă să-l înţelegi. public class primulprg System.out.println("Acesta este primul

More information

Laborator 9. Programare orientată pe obiecte Laborator 9. 1) Să se realizeze o aplicaţie care să rezolve ecuaţii de gradul al doilea.

Laborator 9. Programare orientată pe obiecte Laborator 9. 1) Să se realizeze o aplicaţie care să rezolve ecuaţii de gradul al doilea. Laborator 9 1) Să se realizeze o aplicaţie care să rezolve ecuaţii de gradul al doilea. Interfaţa aplicaţiei va fi următoarea Casetelor text li se vor da denumirile: camp_a, camp_b, camp_c, rez. Evenimentului

More information

Laborator 8 Java Crearea claselor de obiecte. Variabilele (campurile) clasei de obiecte

Laborator 8 Java Crearea claselor de obiecte. Variabilele (campurile) clasei de obiecte Laborator 8 Java Crearea claselor de obiecte. Variabilele (campurile) clasei de obiecte Probleme rezolvate: Scrieti, compilati si rulati toate exemplele din acest laborator: 1. Programul urmator (LotoConstante.java)

More information

Laborator 10. SGBD-ul MySQL (partea I)

Laborator 10. SGBD-ul MySQL (partea I) Laborator 10 SGBD-ul MySQL (partea I) 1. Introduceţi următoarea secvenţă PHP: $dbh = mysql_connect("localhost", "Costica", "mypass") or die("unable to connect to MySQL"); $selectdb = mysql_select_db('lucrudb');

More information

Şiruri de caractere System.String string Verbatim verbatim verbatim Exemplu

Şiruri de caractere System.String string Verbatim verbatim verbatim Exemplu Şiruri de caractere Pentru reprezentarea şirurilor de caractere, în limbajul C#, tipul de date utilizat este clasa System.String (sau aliasul string). Se definesc două tipuri de şiruri: regulate de tip

More information

LIMBAJUL H.T.M.L. Introducere. Prelucrarea paragrafelor <html> </html> " < " " > " <html> </html> <head>...</head> <body>...

LIMBAJUL H.T.M.L. Introducere. Prelucrarea paragrafelor <html> </html>  <   >  <html> </html> <head>...</head> <body>... LIMBAJUL H.T.M.L. Unul din primele elemente fundamentale ale WWW ( World Wide Web ) este HTML ( Hypertext Markup Language ), care descrie formatul primar in care documentele sint distribuite si vazute

More information

Fisa de lucru- Limbajul HTML partea I

Fisa de lucru- Limbajul HTML partea I Fisa de lucru- Limbajul HTML partea I Unul din primele elemente fundamentale ale WWW ( World Wide Web ) este HTML ( Hypertext Markup Language ), care descrie formatul primar in care documentele sunt distribuite

More information

Introducere - De ce folosim CSS. Introducere - Ce este CSS - Generalitati

Introducere - De ce folosim CSS. Introducere - Ce este CSS - Generalitati CSS in relatie cu HTML Inainte de a continua si in cazul in care nu stapaniti HTML si XHTML va sfatuiesc sa cititi cele doua tutoriale. Ce veti invata in acest Tutorial CSS: - cum sa scrieti corect cod

More information

JavaScript - Intorducere. Și nu numai...

JavaScript - Intorducere. Și nu numai... JavaScript - Intorducere Și nu numai... Ce facem azi Nu o sa va vină să credeți. Pe foaia albă vă scrieți numele și prenumele ȘI Povestim despre JavaScript Exemple de aplicare discutii și surprize mici

More information

Tipuri de date structurate

Tipuri de date structurate Tipuri de date structurate Problema 1 Să se citească un șir A de la tastatură, citirea șirului se termina la introducerea valorii 0. Să se construiască și să se tipărească șirul B de perechi (element,

More information

COLEGIUL TEHNIC VICTOR UNGUREANU CÂMPIA TURZII INSTALAREA SI CONFIGURAREA UNUI SERVER DNS PE WINDOWS SERVER 2003

COLEGIUL TEHNIC VICTOR UNGUREANU CÂMPIA TURZII INSTALAREA SI CONFIGURAREA UNUI SERVER DNS PE WINDOWS SERVER 2003 INSTALAREA SI CONFIGURAREA UNUI SERVER DNS PE WINDOWS SERVER 2003 DNS (Domain Name Service) este un protocol care translateaza numele de domenii in adrese IP. De exemplu numele de domeniu www.google.ro

More information

Proiectarea Rețelelor 32. Controlul modelelor de trafic in retea prin alterarea atributelor BGP

Proiectarea Rețelelor 32. Controlul modelelor de trafic in retea prin alterarea atributelor BGP Platformă de e-learning și curriculă e-content pentru învățământul superior tehnic Proiectarea Rețelelor 32. Controlul modelelor de trafic in retea prin alterarea atributelor BGP De ce ebgp? De ce ibgp?

More information

Capitolul 4. Fisiere de date si Tablespace. F. Radulescu. Curs: Utilizarea bazelor de date, anul IV C5.

Capitolul 4. Fisiere de date si Tablespace. F. Radulescu. Curs: Utilizarea bazelor de date, anul IV C5. Capitolul 4 Fisiere de date si Tablespace 1 Continut capitol Ca structura fizica, baza de date contine fisiere de control, de date si de Redo log. Ca structura logica o baza de date se compune din: Tablespace

More information

Seminar 1: familiarizarea cu stilul sintactic al HTML şi modul de lucru

Seminar 1: familiarizarea cu stilul sintactic al HTML şi modul de lucru Seminar 1: familiarizarea cu stilul sintactic al HTML şi modul de lucru Noţiuni introductive HTML (Hyper Text Markup Language) este un limbaj folosit pentru descrierea paginilor web. HTML este un limbaj

More information

GDB. Rulare gdb. Comenzi de bază GDB GDB. GDB poate fi folosit în două moduri pentru a depana programul:

GDB. Rulare gdb. Comenzi de bază GDB GDB. GDB poate fi folosit în două moduri pentru a depana programul: GDB GDB Rulare gdb GDB poate fi folosit în două moduri pentru a depana programul: rulându-l folosind comanda gdb folosind fişierul core generat în urma unei erori grave (de obicei segmentation fault) Cea

More information

Dezvoltarea aplicaţiilor WEB

Dezvoltarea aplicaţiilor WEB Dezvoltarea aplicaţiilor WEB Resurse webspace.ulbsibiu.ro/radu.kretzulescu/index.php Feedback: radu.kretzulescu@ulbsibiu.ro raducretulescu@gmail.com mobil: 0722/743508 Dacă nu mai poate aştepta până mâine!

More information

Universitatea Constantin Brâncuşi din Târgu-Jiu TEHNOLOGII WEB. Lect.dr. Adrian Runceanu

Universitatea Constantin Brâncuşi din Târgu-Jiu TEHNOLOGII WEB. Lect.dr. Adrian Runceanu Universitatea Constantin Brâncuşi din Târgu-Jiu TEHNOLOGII WEB Lect.dr. Adrian Runceanu Curs 3 Limbajul HTML (partea III) 01.03.2016 2 Limbajul HTML (partea III) 6. Tabele 6.1. Atributele elementului TABLE

More information

XML SCHEMA Prezentare

XML SCHEMA Prezentare XML SCHEMA Prezentare 1. Despre XML Schema scurta istorie 2. XML Schema vs. DTD 3. Sintaxa 4. Cazuri de utilizare 5. Tooluri 6. Concluzii 7. Bibliografie 1. Despre XML Schema scurta istorie XML Schema

More information

Tehnologii Web - CSS nivelurile 2 şi 3. Suportul pentru CSS (nivelurile 2 şi 3) oferit de navigatoarele Web de ultimă generaţie

Tehnologii Web - CSS nivelurile 2 şi 3. Suportul pentru CSS (nivelurile 2 şi 3) oferit de navigatoarele Web de ultimă generaţie Suportul pentru CSS (nivelurile 2 şi 3) oferit de navigatoarele Web de ultimă generaţie Facultatea de Informatica Universitatea A.I.Cuza - Iasi, Romania Data: 26-03-2009 Autor: Gili-Ştefănel Scarlat Anul

More information

Probleme consultații 20 ianuarie 2018

Probleme consultații 20 ianuarie 2018 Algoritmi elementari Probleme consultații 20 ianuarie 2018 Problema 1: zerouri factorial Enunt Fiind dat un numar natural n, sa se determine numarul de cifre 0 cu care se termină factorialul numărului

More information

Fisiere text in Java.

Fisiere text in Java. Fisiere text in Java. Doru Anastasiu Popescu Prelucrarea fisierelor text in Java Aspecte teoretice: http://cursuri.cs.pub.ro/~poo/wiki/index.php/input/output http://upm.ro/intranet/ecalin/cd_educational/cd/javac/cap3.htm

More information

CONFIGURAREA UNUI SERVER IRC IN LINUX. Bica Bogdan *

CONFIGURAREA UNUI SERVER IRC IN LINUX. Bica Bogdan * CONFIGURAREA UNUI SERVER IRC IN LINUX Bica Bogdan * In this exemple i show how to configure an irc server based on ircd dameon named ircu.this is the main file name ircd.conf and the most important.configure

More information

Nivelul inferior de prelucrare a fişierelor

Nivelul inferior de prelucrare a fişierelor INTRĂRI ŞI IEŞIRI Operaţiile de I/E în limbajul C se realizează prin intermediul unor funcţii din biblioteca standard a limbajului. Majoritatea operaţiilor de I/E se realizează în ipoteza că datele sunt

More information

Tehnici avansate de programare

Tehnici avansate de programare Tehnici avansate de programare Curs - Cristian Frăsinaru acf@infoiasi.ro Facultatea de Informatică Universitatea Al. I. Cuza Iaşi Adnotarea elementelor Tehnici avansate de programare p.1/1 Cuprins Ce sunt

More information

Html sau HyperText Markup Language este unul dintre cele mai vechi limbaje de programare web. Acesta sta la baza

Html sau HyperText Markup Language este unul dintre cele mai vechi limbaje de programare web. Acesta sta la baza Ce este HTML Html sau HyperText Markup Language este unul dintre cele mai vechi limbaje de programare web. Acesta sta la baza crearii unui site web. Cu alte cuvinte, inainte de a invata alte limbaje de

More information

8. Tablouri. 8.1 Tipuri de dată simple şi tipuri de dată structurate

8. Tablouri. 8.1 Tipuri de dată simple şi tipuri de dată structurate 8. Tablouri Tablourile (arrays) reprezintă un tip important de structură de date şi sunt colecţii de obiecte de acelaşi tip reunite sub un singur nume. Uneori este necesar să referim anumite variabile

More information

STRUCTURI DE DATE SI ALGORITMI LABORATOR 2 STIVA I. ASPECTE TEORETICE

STRUCTURI DE DATE SI ALGORITMI LABORATOR 2 STIVA I. ASPECTE TEORETICE STIVA I. ASPECTE TEORETICE O stiva este o lista simplu inlantuita gestionata conform principiului LIFO (Last In First Out). Conform acestui principiu, ultimul nod pus in stiva este primul nod care este

More information

HTML Summary. All of the following are containers. Structure. Italics Bold. Line Break. Horizontal Rule. Non-break (hard) space.

HTML Summary. All of the following are containers. Structure. Italics Bold. Line Break. Horizontal Rule. Non-break (hard) space. HTML Summary Structure All of the following are containers. Structure Contains the entire web page. Contains information

More information

Introducere definiţiile

Introducere definiţiile Cuprins Cuprins Cuprins... 1 Introducere definiţiile... 3 Ce înseamnă WWW (World Wide Web)?... 3 Cum funcţionează WWW?... 3 Cum aduce browserul paginile de web?... 3 Cum afişează browser-ul paginile?...

More information

Programarea calculatoarelor

Programarea calculatoarelor Programarea calculatoarelor #3 C++ Elemente introductive ale limbajului C++ 2016 Adrian Runceanu www.runceanu.ro/adrian Curs 3 Elemente introductive ale limbajului C++ 02.11.2016 Curs - Programarea calculatoarelor

More information

Laborator 5 Sisteme Lindenmayer. Temă

Laborator 5 Sisteme Lindenmayer. Temă Laborator 5 Sisteme Lindenmayer. Temă 1. Parcurgerea unui pătrat. Următorul L-sistem Alfabet=F,+,-; Producţii= F -> F-F+F+F+F-F-F-F+F, + -> +, - -> - Axioma= F generează, cu interpretările standard (F

More information

Capitolul 4. Fisiere de date si Tablespace. F. Radulescu. Curs: Utilizarea bazelor de date, anul IV C5.

Capitolul 4. Fisiere de date si Tablespace. F. Radulescu. Curs: Utilizarea bazelor de date, anul IV C5. Capitolul 4 Fisiere de date si Tablespace 1 Continut capitol Ca structura fizica, baza de date contine fisiere de control, de date si de Redo log. Ca structura logica o baza de date se compune din: Tablespace

More information

Laboratorul 3 Limbajul HTML Formulare

Laboratorul 3 Limbajul HTML Formulare Laboratorul 3 Limbajul HTML Formulare Etichete pentru formulare Formulare Defineşte un formular HTML Defineşte

More information

Cursul 3 Limbajul HTML Formulare

Cursul 3 Limbajul HTML Formulare Cursul 3 Limbajul HTML Formulare Etichete pentru formulare Formulare Defineşte un formular HTML Defineşte un

More information

Comunicare în medii electronice

Comunicare în medii electronice Comunicare în medii electronice Dr. Sabin Corneliu Buraga Foi de stiluri standardulcss Este dificil să vezi un tablou atunci când eşti în interiorul ramei. /usr/games/fortune Întrebare Cum putem publica

More information

Se cer 2 variante: una cu implementarea statica si a doua cu implementarea dinamica a structurilor de date necesare. Comentati variantele.

Se cer 2 variante: una cu implementarea statica si a doua cu implementarea dinamica a structurilor de date necesare. Comentati variantele. Lucrarea 1 SDA 03.04.2017 Sa se realizeze urmatoarele programe, in limbaj C: 1. Se primesc de la intrarea standard: un numar k si un sir infinit de numere naturale a i. Se afiseaza la iesirea standard,

More information

Memorator funcţii predefinite C++ Funcţii matematice

Memorator funcţii predefinite C++ Funcţii matematice Funcţii matematice Funcţia Prototipul funcţiei Fişierul pow(x,y) double pow (double x,double y); long double pow ( long double x, long double y); float pow (float x,float y); double pow (double x, int

More information

GHID DE UTILIZARE A APLICAȚIEI MINISTRA PLAY PE SMART TV

GHID DE UTILIZARE A APLICAȚIEI MINISTRA PLAY PE SMART TV GHID DE UTILIZARE A APLICAȚIEI MINISTRA PLAY PE SMART TV TV Deschide aplicația Ministra Play din bara de jos a interfeței TV. Selectează aplicația Ministra Play utilizând cursorul telecomenzii. Apar 4

More information

Limbajul HTML. Curs "Initiere Web Design"

Limbajul HTML. Curs Initiere Web Design CUPRINS: Limbajul HTML Curs "Initiere Web Design" Introducere World Wide Web Elemente HTML Tag-uri de baza Lista tag-uri Formatare Entitati caracter Lista entitati caracter Legaturi Frame-uri Tabele Liste

More information

Capitolul IB.03. Funcţii de intrare/ieşire în limbajul C

Capitolul IB.03. Funcţii de intrare/ieşire în limbajul C Capitolul Cuvinte-cheie Funcţii de intrare/ieşire caractere, funcţii de intrare/ieşire şiruri de caractere, citire/scriere cu format IB.03.1 Funcţii de intrare/ieşire în C În limbajul C, nu există instrucţiuni

More information

Modulul 3 Procesare de text

Modulul 3 Procesare de text Modulul 3 Procesare de text Primii pasi in procesarea text Deschiderea unei aplicatii de procesare de text Pentru a porni aplicatia de procesare de text - Microsoft Word deschideti meniul Start si din

More information

Formulare si extragerea datelor cu PHP

Formulare si extragerea datelor cu PHP Formulare si extragerea datelor cu PHP Un formular este definit într-un bloc delimitat de etichetele . Eticheta , de închidere, este obligatorie. În interiorul blocului sunt incluse:

More information

Manual utilizare PNI SmartCAM (Versiune ios)

Manual utilizare PNI SmartCAM (Versiune ios) 1 Manual utilizare PNI SmartCAM (Versiune ios) 2 1. Descriere software PNI SmartCAM (versiune ios) este un instrument pentru administrarea camerelor prin retea, ce pot fi adaugate manual sau prin cautare

More information

Operații de intrare/ieșire în C++

Operații de intrare/ieșire în C++ Operații I/O în limbajul C++ Operații de intrare/ieșire în C++ Mihai Gabroveanu Limbajul C++ moștenește de la C funcțiile de I/O Dezavantaj: permit manipularea doar a tipurilor de bază Limbajul C++ introduce

More information

PNI SmartCAM. versiune Android. - manual de utilizare-

PNI SmartCAM. versiune Android. - manual de utilizare- PNI SmartCAM versiune Android - manual de utilizare- Introducere: Acest manual se refera la instalarea si utilizarea aplicatiei PNI SmartCAM, software necesar monitorizarii atat camerei cu IP PNI 631W,

More information

Lenuta Alboaie Reţele de calculatoare

Lenuta Alboaie Reţele de calculatoare Programarea in retea - OOB- Lenuta Alboaie adria@info.uaic.ro 1 Cuprins Trimiterea si receptarea datelor in regim 2 Ideea: in timpul unei conexiuni cind sunt transmise date ( inband data ), si daca la

More information

Îmbunătăţiri aduse în limbajul C++ facilităţilor standard ale limbajului C (cele care nu ţin de conceptele programării orientate obiect).

Îmbunătăţiri aduse în limbajul C++ facilităţilor standard ale limbajului C (cele care nu ţin de conceptele programării orientate obiect). Îmbunătăţiri aduse în limbajul C++ facilităţilor standard ale limbajului C (cele care nu ţin de conceptele programării orientate obiect). Supraîncărcarea numelui de funcţii (overloading) In C nu este permisa

More information

1. Funcţii referitoare la o singură înregistrare (single-row functions)

1. Funcţii referitoare la o singură înregistrare (single-row functions) Laborator 4 Limbajul SQL 1. Funcţii referitoare la o singură înregistrare (single-row functions) 2. Funcţii referitoare la mai multe înregistrări (multiple-row functions) 1. Funcţii referitoare la o singură

More information

Lucrarea de laborator nr. 4.NET Remoting 1

Lucrarea de laborator nr. 4.NET Remoting 1 Lucrarea de laborator nr. 4.NET Remoting 1 4. Implementarea claselor Well Known (Server Activated) In cadrul acestei lucrari de laborator vom realiza cateva aplicatii care vor exemplifica conceptele fundamentale

More information

Software de testare: Selenium IDE, Selenium RC, NUnit Web:

Software de testare: Selenium IDE, Selenium RC, NUnit Web: Software de testare: Selenium IDE, Selenium RC, NUnit Web: http://seleniumhq.org, http://www.nunit.org 1. Selenium IDE Selenium IDE se instalează ca şi add-on al Firefox-ului şi permite înregistrarea şi

More information

Vulnerabilitati Web si securizarea acestora v1.0

Vulnerabilitati Web si securizarea acestora v1.0 Vulnerabilitati Web si securizarea acestora v1.0

More information

Lucrarea 11. Applet-uri Java

Lucrarea 11. Applet-uri Java Lucrarea 11 Applet-uri Java Limbajul Java a cunoscut o răspândire foarte mare datorită faptului că un program Java poate fi încorporat într-o pagină web, putând fi executat ori de câte ori pagina respectivă

More information

Proiectarea Rețelelor 1. Componentele hardware ale unui sistem de calcul

Proiectarea Rețelelor 1. Componentele hardware ale unui sistem de calcul Platformă de e-learning și curriculă e-content pentru învățământul superior tehnic Proiectarea Rețelelor 1. Componentele hardware ale unui sistem de calcul Integrated IS-IS 25 Noiembrie 2010 Proiectarea

More information

Clasa a XII-a rută directă Clasa a XIII-a rută progresivă

Clasa a XII-a rută directă Clasa a XIII-a rută progresivă Clasa a XII-a rută directă Clasa a XIII-a rută progresivă 1. Noţiuni introductive HTML e acronimul de la HyperText Markup Language, care e numele unui limbaj bazat pe marcaje. A fost conceput în 1989 de

More information

Universitatea Constantin Brâncuşi din Târgu-Jiu. Aplicații JAVA. Lect.dr. Adrian Runceanu

Universitatea Constantin Brâncuşi din Târgu-Jiu. Aplicații JAVA. Lect.dr. Adrian Runceanu Universitatea Constantin Brâncuşi din Târgu-Jiu Aplicații JAVA Lect.dr. Adrian Runceanu Curs 4 Applet-uri în Java 10.03.2016 Curs - Aplicatii Java 2 Applet-uri în Java 1. Ce este un applet? 2. Crearea

More information

curs 6, prezenta obligatorie, 25% din nota

curs 6, prezenta obligatorie, 25% din nota Curs 6 2013/2014 curs 6, prezenta obligatorie, 25% din nota Test 1 referinţă C2 Interesare subiect? Nota - Test 2 verificare C6 Capacitate de informare = Nota Tema int i,a; for (i=1;i

More information

Operatori. Comentarii. Curs 1

Operatori. Comentarii. Curs 1 Operatori atribuirea: = operatori matematici: +, -, *, /, % Este permisa notatia prescurtata de forma lval op= rval (ex: n += 2) Exista operatorii pentru autoincrementare si autodecrementare (post si pre)

More information

Fișiere de comenzi (BAT) sub DOS

Fișiere de comenzi (BAT) sub DOS L3 Fișiere de comenzi (BAT) sub DOS Un fișier de comenzi este un fisier text care conține una sau mai multe comenzi si / sau directive care se execută succesiv, fară intervenția directă a utilizatorului.

More information

Scop: Crearea unei aplicatii ce exemplifica paternul MVVM. In plus se creaza si o comanda in WPF.

Scop: Crearea unei aplicatii ce exemplifica paternul MVVM. In plus se creaza si o comanda in WPF. Laborator MVVM Scop: Crearea unei aplicatii ce exemplifica paternul MVVM. In plus se creaza si o comanda in WPF. Clasele implicate in acest pattern sunt date in figura de mai jos. Mai multe informatii

More information

Instructiuni de control

Instructiuni de control Instructiuni de control Introducerea caracterelor de la tastatura Instructiuni de selectie (if, switch) Instructiuni repetitive (for, while, dowhile, foreach) Instructiuni de salt (break, continue, goto,

More information

Stiva - continuare. Implementare prin listă înlănţuită. Lect. dr. Gabriela Trimbitas

Stiva - continuare. Implementare prin listă înlănţuită. Lect. dr. Gabriela Trimbitas Stiva - continuare Implementare prin listă înlănţuită 1 head T O R head T O R head NEW head O D R head O R D O R Ştergerea/Inserarea unui nod într-o stivă 2 Acest cod implementează TAD STIVĂ prin listă

More information

TP-LINK TL-MR3220 3G 150MB/S Router wireless Lite-N 150Mbps Manual de utilizare

TP-LINK TL-MR3220 3G 150MB/S Router wireless Lite-N 150Mbps Manual de utilizare TP-LINK TL-MR3220 3G 150MB/S Router wireless Lite-N 150Mbps Manual de utilizare 1. Conectarea router-ului Pentru configurarea router-ului, utilizati numai conexiunea de retea prin cablu. a. Deconectati

More information

Tehnologii web. Suport de curs: Autor: Lect. univ. dr. Horea Oros Universitatea din Oradea Departamentul de Matematică și Informatică

Tehnologii web. Suport de curs: Autor: Lect. univ. dr. Horea Oros Universitatea din Oradea Departamentul de Matematică și Informatică Tehnologii web Suport de curs: 2009-2010 Autor: Lect. univ. dr. Horea Oros Universitatea din Oradea Departamentul de Matematică și Informatică 1 Tehnologii web HTML, HTML, XHTML, CSS, TCP/IP XML XML, XSL,

More information

Ghid de utilizare. ARCHOS 14 Vision

Ghid de utilizare. ARCHOS 14 Vision Ghid de utilizare ARCHOS 14 Vision OBS: Pentru a porni dispozitivul, comutati butonul ON/OFF in pozitia ON si apoi tineti apasat butonul Play/Pause pentru cateva secunde. Pentru a opri dispozitivul tineti

More information

Laborator 4 Java Colectii

Laborator 4 Java Colectii Laborator 4 Java Colectii Scrieti, compilati si rulati toate exemplele din acest laborator: 1. Urmatorul exemplu foloseste diferite clase de colectii si adauga cate un element in aceste colectii import

More information

Laboratorul 6 Mediul de dezvoltare Eclipse

Laboratorul 6 Mediul de dezvoltare Eclipse Laboratorul 6 Mediul de dezvoltare Eclipse Ce ne propunem astăzi? În laboratorul de astăzi ne propunem familiarizarea cu mediul de dezvoltare Eclipse, crearea unei aplicańii simple de tip Hello World,

More information

UTILIZAREA SISTEMELOR DE OPERARE - LABORATORUL 2. Comparatie cu comenzile de DOS, manualul unei comenzi, lucrul cu directoare

UTILIZAREA SISTEMELOR DE OPERARE - LABORATORUL 2. Comparatie cu comenzile de DOS, manualul unei comenzi, lucrul cu directoare Structura de fisiere Comparatie cu comenzile de DOS, manualul unei comenzi, lucrul cu directoare Comparatie cu comenzile de DOS Adevarata putere a linux-ului sta in comenzi. Acestea, impreuna cu fisierele

More information

Curs introductiv. Microsoft Access. Cuprins

Curs introductiv. Microsoft Access. Cuprins Curs introductiv Microsoft Access Cuprins 1 Introducere 2 Privire de ansamblu asupra bazelor de date relationale si a aplicatiilor cu baze de date 3 Exemplu 4 Microsoft Access - Start 4.1 Recapitulare

More information

[LABORATOR DE PROGRAMARE C++] Aritoni Ovidiu. Algoritmi STL

[LABORATOR DE PROGRAMARE C++] Aritoni Ovidiu. Algoritmi STL Algoritmi STL 1. Prezentare generală 2. Clasificare: Algoritmi nechirurgicali ; Algoritmi chirurgicali ; Algoritmi de sortare; Algoritmi generali; 3. Algoritmi nechirurgicali (Non-mutating algorithms)

More information

Limbaje de tipul 3. Gramatici regulate Automate finite. Expresii regulate. Deterministe Nedeterministe. a, a, ε, E 1.E 2, E 1 E 2, E 1*, (E 1 )

Limbaje de tipul 3. Gramatici regulate Automate finite. Expresii regulate. Deterministe Nedeterministe. a, a, ε, E 1.E 2, E 1 E 2, E 1*, (E 1 ) Curs 7 1 Limbaje de tipul 3 Gramatici regulate Automate finite Deterministe Nedeterministe Expresii regulate a, a, ε, E 1.E 2, E 1 E 2, E 1*, (E 1 ) 2 Istoric Paşii compilării Analiza lexicală Descriere

More information

Variabile predefinite

Variabile predefinite Php(2) Variabile predefinite Variabile predefinite $GLOBALS = pot fi accesate toate variabilele globale care sunt accesibile scriptului PHP curent $_SERVER = contine o serie de variabile ale caror valori

More information

Administrarea sistemelor Linux

Administrarea sistemelor Linux Administrarea sistemelor Linux Cursul 11 Configurarea serviciilor sistemului partea IV Dragoş Acostăchioaie http://www.adt.ro dragos@adt.ro Cursul 11 Interactiunea cu sistemele Windows sistemul Samba Sistemul

More information

Anexa 3 - Sed; awk. Filtrarea pe baza de expresii regulate

Anexa 3 - Sed; awk. Filtrarea pe baza de expresii regulate Anexa 3 - Sed; awk Contents 1 Filtrarea pe baza de expresii regulate 1.1 Similaritati 1.2 Sintaxa 1.3 Mod de rulare 1.4 Structura unui script 1.5 Expresii regulate 1.5.1 Exemple 2 sed 3 awk 3.1 Editarea

More information

Html basics Course Outline

Html basics Course Outline Html basics Course Outline Description Learn the essential skills you will need to create your web pages with HTML. Topics include: adding text any hyperlinks, images and backgrounds, lists, tables, and

More information

DESIGN WEB -suport de curs- Craiova,

DESIGN WEB -suport de curs- Craiova, DESIGN WEB -suport de curs- Craiova, 2012 1 Internet. Servicii Internet INTERNETUL este cea mai mare retea de informatii si comunicare din lume, o retea globala de retele de computere interconectate, care

More information

Introduction to Web Tech and Programming

Introduction to Web Tech and Programming Introduction to Web Tech and Programming Cascading Style Sheets Designed to facilitate separation of content and presentation from a document Allows easy modification of style for an entire page or an

More information

HTML TAG SUMMARY HTML REFERENCE 18 TAG/ATTRIBUTE DESCRIPTION PAGE REFERENCES TAG/ATTRIBUTE DESCRIPTION PAGE REFERENCES MOST TAGS

HTML TAG SUMMARY HTML REFERENCE 18 TAG/ATTRIBUTE DESCRIPTION PAGE REFERENCES TAG/ATTRIBUTE DESCRIPTION PAGE REFERENCES MOST TAGS MOST TAGS CLASS Divides tags into groups for applying styles 202 ID Identifies a specific tag 201 STYLE Applies a style locally 200 TITLE Adds tool tips to elements 181 Identifies the HTML version

More information

Capitolul 8 Funcţii în limbajul C

Capitolul 8 Funcţii în limbajul C Obiectiv: stabilirea avantajelor pe care le aduce în programarea structurată folosirea funcţiilor. Activităţi: - Prezentarea funcţiilor definite de utilizator - Descrierea parametrilor formali şi a parametrilor

More information

Platformă de e-learning și curriculă e-content pentru învățământul superior tehnic

Platformă de e-learning și curriculă e-content pentru învățământul superior tehnic Platformă de e-learning și curriculă e-content pentru învățământul superior tehnic Transmisia datelor multimedia in retele de calculatoare 28. O scurta istorie a compresiei audio: MPEG-1, MPEG-2, MPEG-

More information

Error! Bookmark not defined.

Error! Bookmark not defined. SEMINAR 06 CONTENTS Enuntul Problemei... 1 Repository... 2 Memory... 2 XML... 3 GUI... 4 Forma Selectie... 4 Forma Programator... 5 Forma Tester... 6 Java... 7 Mecanismul de Transmitere al Evenimentelor

More information

Siruri de caractere. 1.1 Folosirea şirurilor

Siruri de caractere. 1.1 Folosirea şirurilor Informatica clasa a X-a 1 Siruri de caractere 1.1 Folosirea şirurilor Cea mai comună utilizare a tabloului unidimensional în limbajul C/C++ este şirul (de caractere). Spre deosebire de multe alte limbaje

More information

2. Noţiuni pregătitoare sistemul de operare Linux

2. Noţiuni pregătitoare sistemul de operare Linux Noţiuni pregătitoare sistemul de operare Linux 2. Noţiuni pregătitoare sistemul de operare Linux 2.1. Cuprins modul 2. Noţiuni pregătitoare sistemul de operare Linux... 1 2.1. Cuprins modul... 1 2.1. Prezentarea

More information

username password Am uitat parola! username password Account Info AccountID = numarul de telefon Voip Password

username password Am uitat parola! username password Account Info AccountID = numarul de telefon Voip Password Stimati Clienti, Va prezentam mai jos modul in care trebuie configurat telefonul dumneavoastra IP (sau un softphone). Presupunem ca aveti un username si password pentru accesul in pagina web de administrare

More information

Design activities. Session III. 1. Topology. - Selecting and placing devices - Interconnecting devices

Design activities. Session III. 1. Topology. - Selecting and placing devices - Interconnecting devices Design activities Session I 1. Topology - Selecting and placing devices - Interconnecting devices 2. Providing connectivity between directly connected devices - Configuring addresses for servers and hosts

More information

PROGRAMARE ORIENTATĂ PE OBIECTE

PROGRAMARE ORIENTATĂ PE OBIECTE Universitatea Constantin Brâncuşi din Târgu-Jiu Facultatea de Inginerie Departamentul de Automatică, Energie şi Mediu PROGRAMARE ORIENTATĂ PE OBIECTE Lector dr. Adrian Runceanu 03.01.2014 1 Curs 15 Limbajul

More information

Lucrarea nr.8 CLASE IMBRICATE

Lucrarea nr.8 CLASE IMBRICATE Lucrarea nr.8 CLASE IMBRICATE În C++ se poate include declaraţia unei clase în interiorul altei clase. Clasa declarată în interiorul alteia se numeşte clasă imbricată (nested class) şi permite evitarea

More information

Introducere in Maven. Information Type: Working Standard, Disclosure Range:, Information Owner: mihai.hulea, NTT DATA Romania

Introducere in Maven. Information Type: Working Standard, Disclosure Range:, Information Owner: mihai.hulea, NTT DATA Romania Introducere in Maven Build management tools Java build tools: Maven Gradle Ant + Ivy Build tools are programs that automate the creation of executable applications from source code. Building incorporates

More information

Laborator 1 Java. Citirea datelor de la tastatura si afisarea datelor pe ecran

Laborator 1 Java. Citirea datelor de la tastatura si afisarea datelor pe ecran Laborator 1 Java Citirea datelor de la tastatura si afisarea datelor pe ecran In limbajul Java nu exista instructiuni specializate pentru citirea/scrierea datelor. Aceste operatii se realizeaza prin intermediul

More information