Documente Academic
Documente Profesional
Documente Cultură
Suportul pentru CSS (nivelurile 2 i 3) oferit de navigatoarele Web de ultim generaie Facultatea de Informatica UniversitateaA.I.Cuza - Iasi, Romania
- nivelul 3 este reprezentat de comenzile aflate in pagini separate, tip externe - nivelul 4 Browser implicit Cea mai mare importanta (suprascrie orice alt parametru) o are sintaxa de nivelul 1 iar cea mai mica importanta o are cea de nivelul 4.
2. CSS 2
* IE 7/8 suporta :hover dar nu :active, pentru toate tagurile. Exemple * selector
* {font-style: italic;} * textul din tot documentul o sa fie italic.
> selector
body > p {font-style: italic;} Textul care este continut de tag-ul p este o sa fie italic daca p este copil al lui body.
+ selector
[attr] selector
1. 2. 3. 4. 5. p[class] {color: #6374AB} p[ppk] {letter-spacing: 0.3em;} p[align=right] {font-style: italic;} p[ppk=false] {font-weight: 600;} p[class~=test] {text-decoration: underline;}
1. Pentru fiecare tag p cu un atribut class indiferent de valoarea atributului. 2. Pentru fiecare tag p cu un atribut ppk indiferent de valoarea atributului. 3. Pentru fiecare tag p care are un atribut ALIGN cu valoarea "right". 4. Pentru fiecare tag p care are un atribut ppk="false". 5. Pentru fiecare tag p care are un atribut class, si una din valoari este "test".
Multiple classes
p.italic {font-style: italic;} p.underline {text-decoration: underline;} p.large {font-size: 150%;} p.small {font-size: 90%;} p.underline.small {font-variant: small-caps;} Pt orice p care are un atribut class=underline si unul class=small".
:focus
input:focus { width: 5em; background-color: #6374AB; } Modifica latimea si culoarea background-ului pentru campurile input cand devin active.
Declaratii:
content counters cursor display List styles min/max-width/height outline overflow position Table columns Table declarations Aplicabilitate pentru :before/:after puteti defini cate contoare doriti, sa le incrementati sau resestati puteti schimba stilul cursorului pentru toate tagurile* modul de afisare a elementelor HTML ** pentru definirea stilurilor listelor si pozitia acestora (inside/outside) Setarea latimii sau inaltime minime.maxime ale elementelor HTML este asemanator cu border Continutul nu incape in elementul HTML Poti sa declari pozitia elementului HTML *** Tabele se pot impartii si in coloane Formatare pentru tabele IE8 Da Da Da Da Da Da Da Da Buggy Da Da FF 3.0 Da Da Da Da Da Da Da Da Da Incomplet Da Saf 3.1 Win Incomplet Da Da Da Da Da Da Da Da Incomplet Da Opera 9.62 Incomplet Da Da Da Da Da Da Da Da Incomplet Da
* pare o functionalitate grozava dar atentie pentru ca poate deruta utilizatori ** Depinde de valoarea atributului block, inline, none, inline-block, and list-item. *** IE8 ascunde elementul cand este setat absolute or fixed **** Whitespace-uri: spatiu, tab, linie noua, enter :before/:after and content
p.test:before { padding-right: 5px; content: url(../pix/logo_ppk.gif); } p.test:after { font-style: italic; content: " and some text after."; } A fost explicat mai sus.
Combining values
p.multi:before { content: "Test paragraph " counter(test) " " url(/pix/logo_ppk.gif) " with a class of " attr(class); } Ne permite sa combinam mai multe valori.
Counters
h3:before { content: counter(section) ": "; } h4:before { content: counter(section) "." counter(subsection) ": "; } Acum <h3> si <h4> sunt numerotate. pre:before {
Resetarea contorului
h3 { counter-reset: subsection 4; } Resetarea conturului la alta valoare decat 0 (4 in cazul de fata).
Cursor styles
element { cursor: hand; } Cursul va deveni manuta pentru element.
display
Defineste felul in care este afisat un element HTML.
Observatie:
run-in compact
nu este suportat de FF3 si doar partial suportat de Safari; - nu functioneaza corect pe nici un browser;
Outline
p.test { outline: 3px solid #6374AB; border: 1px solid #000000; width: 20em; } Outline este asemanator cu border, dar se este posibil pentru tot conturul elementului.
Overflow
p { overflow: scroll }
position
h1{ position:absolute; left:100px; top:150px; } Valori posibile: static Default. An element with position: static always has the position the Nurmal flow of the page gives it relative relative moves an element relative to its Nurmal position, so "left:20" adds 20 pixels to the element's LEFT position absolute absolute is positioned at the specified coordinates relative to its containing block. fixed fixed is positioned at the specified coordinates relative to the browser window.
Table columns
<table> <col /> <col span="2" /> <tr> <td>First TD of first TR</td> <td>Second TD of first TR</td> <td>Third TD of first TR</td> <td>Fourth TD of first TR</td> </tr> <tr> <td>First TD of second TR</td> <td>Second TD of second TR</td> <td>Third TD of second TR</td> <td>Fourth TD of second TR</td> </tr> </table>
Table declarations
Atribute: empty-cells show: afiseaza celulele fara continu (chenar). Este optiunea default. hide: ascunde celulele fara continut. border-collapse separate: chenare separate. Este optiunea default. collapse: uneste chenarele celulelor alaturate. border-spacing border-spacing este corespondentul cellspacing in CSS. Are nevoie de unitate de masura. table-layout auto: tabelul este afisat Nurmal. Este optiunea default. fixed: tabelul respecta latimnea, chiar daca in mod Nurmal nu ar face asta. caption-side top. Este optiunea default. bottom. Este o alta varianta oficiala. left. Extensie Mozilla. right. Extensie Mozilla.
white-space
Nuwrap previne toate liniile Nui din text cu exceptia <br/> sau <wbr />. pre toate liniile, taburile sau alte formatari sunt afisate asa cum au fost introduse in text; pre-wrap se comporta ca si pre doar ca sunt introduse linii Nui cand latimea elementului care il contine este depasita; pre-line - igNura taburile si spatiile multiple din text, dar intrerupe randul de text daca depaseste latimea elementului care il contine.
10
~
pre ~ p {color: red;} Fiecare P care este precedat de PRE ar trebui sa devina rosu, cu conditia sa nu urmeze imediat dupa PRE.
[attr]
p[testAttr^=foo] {font-style: italic;} p[testAttr$=foo] {font-weight: bold;} p[testAttr*=foo] {text-decoration: underline;} p[testAttr^=foo]: orice tag al carui atribtur testAttr are o valoare care incepe cu "foo".
11
:Nut
p#test *:Nut(em) {text-decoration: underline;} p#test *: selecteaza toate tagurile care au id=test, :Nut(em) - dar nu sunt EM.
:root
:root { background-color: #6374AB; padding: 50px; }
:root selecteaza radacina tuturor blocurilor din pagina. In HTML aceasta este <html>. :target
p:target {font-style: italic;} tagul este un target pentru un hash (page.html#testHash)
12
:last-child
div#test p:first-child {text-decoration: underline;} div#test p:last-child {font-style: italic;} Pentru tagul div cu atributul id="test" primul paragraf ar trebui sa fie underlined; ultimul bold.
:only-child
li:only-child {font-style: italic} Se aplica tagurile <ul> care au un singur item <li>.
::selection
::-moz-selection{ background:#cc0000; color:#fff; } ::selection {
13
Media queries
@media screen and (min-width: 800px) { p#test { background-color: #6374AB; color: #ffffff; padding: 5px; } p#test code { background-color: transparent; } } @media all and (max-width: 400px) { p#test { background-color: #cc0000; color: #ffffff; } } @media screen and (device-aspect-ratio: 16/10) { p#test { border: 5px solid #00cc00; }
14
Declaratii:
background-attachment multiple background images box-sizing columns content opacity resize text-overflow text-shadow Aplicabilitate are nevoie de 3 valori dar toate browserele suporta doar doua mai multe imagini de background pentru un element putem stabili comportamentul browserului in calculul latimii imparte un element in coloane permite sa schimbi continutul unui element HTML seteaza transparenta unui element permite sa redimensionzi un elemente HTML afiseara "" cand textul nu incape in elementul HTML creeaza o umbra textului IE8 Incomplet Nu Da Nu Nu Da Nu Da Nu FF 3.0 Incomplet Nu -moz-mozNu Da Nu Nu Nu Saf 3.1 Win Incomplet Da -webkit-webkitIncomplet Da Incomplet Da Da Opera 9.62 Incomplet Nu Da Nu Da Da Nu Da Da
background-attachment
Daca o imagine este specificata, aceasta proprietate specifica daca este fixat sau are scroll. background-attachment: scroll background-attachment: fixed background-attachment: local
15
Exemplu
div.test { width: 300px; padding: 10px; border: 5px solid #000000; margin-left: 10%; margin-bottom: 10px; margin-top: 10px; }
16
content
p#test { content: "Your browser supports content"; } p#test2 { content: url(../pix/logo_quirksmode.gif); } Ne permite sa schimbam continul unui element. Este suportat de Opera si partial de Safari 3.0b Windows.
opacity
.test { background-color: #6374AB; width: 100%; color: #ffffff; } .opaque1 { // for all other browsers opacity: .5; } .opaque2 { // for IE5-7 filter: alpha(opacity=50); } .opaque3 { // for IE8 -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";
17
text-overflow
p.test { border: 1px solid #000000; white-space: nowrap; width: 100%; overflow: hidden; text-overflow: ellipsis; } text-overflow: ellipsis intra in actiune atunci cand: elementul are overflow altul decat visible (daca overflow: visible textul este afisat pu si simplu); elemental are white-space: nowrap sau ceva similar prin care textul este constrans sa fie afisat.
text-shadow
p.test { text-shadow: #6374AB 20px -12px 2px; } Dupa cum vedeti text-shadow acepta patru valori:
1. Coloare umbrei textului (#6374AB); 2. Coordonata X umbrei textului (20px), relativa la text; 3. Coordonata Y umbrei textului (-12px), relativa la text;
18
RGBa (Red Green Blue Alpha), reprezinta un model de culoare, avand la baza culorile rosu, verde si albastru. Diferenta intre RGBa si RGB, este ca primul, mai are un al patrulea canal, Alpha, care da proprietatea transparentei. RGBa urmeaza a fi implementat in CSS3, permitand astfel sa specifice valorilor RGB si alpha-transparenta.
Inca de la inceputul versiunii CSS 1, @font-face a fost introdusa pentru a reda in continutul unei pagini web tipografia pe care web designer-ul o doreste. Incepand cu CSS 2.1, regula a fost scoasa, ea nemaifiind implementata in browsere ulterior! O data cu CSS 3.0 se discuta despre reintroducerea @font-face-ului, iar browser-ul Firefox 3.1, s-a reusit implementarea ei. Prima regula a unui web designer ar fi ca pagina creata sa arate la fel in toate browserele. Cum celelalte browsere nu suporta inca aceasta regula, ramane totusi o problema folosirea ei.
CSS3 este in lucru si probabil vor aparea o multime de articole si pareri pana se va scrie varianta finala a recomandarilor de catre W3C.
19
Tehnologii Web - CSS nivelurile 2 i 3 4. Bibliografie http://www.w3schools.com http://www.w3.org/TR/css3-color/#rgba-color http://css-tricks.com/examples/DifferentSelectionColors/ http://www.webdevout.net/browser-support-css http://www.quirksmode.org/css/contents.html http://www.howtocreate.co.uk/ http://www.webreference.com
20