css | |
---|---|
Laajennus | .css |
MIME -tyyppinen | teksti/css |
Kehittäjä | CSS-työryhmä [d] |
julkaistu | 17. joulukuuta 1996 |
Muototyyppi | Tyylisivujen kieli |
Standardit) |
Taso 1 (suositus) Taso 2 (suositus) Taso 2 Versio 1 (suositus) |
Verkkosivusto |
w3.org/Style/CSS/drafts.csswg.org _ |
CSS ( /siːɛsɛs/ Englanti Cascading Style Sheets ) on muodollinen kieli , jolla kuvataan sivunkuvauskielellä (useimmiten HTML tai XHTML ) kirjoitetun asiakirjan ( verkkosivun ) ulkoasua . Sitä voidaan myös soveltaa mihin tahansa XML - dokumenttiin , kuten SVG tai XUL .
Web-sivujen luojat käyttävät CSS:ää määrittääkseen värejä , fontteja , tyylejä, yksittäisten lohkojen sijoittelua ja muita verkkosivujen ulkoasun esitysnäkökohtia. CSS:n suunnittelun päätavoite on eristää ja erottaa verkkosivun loogisen rakenteen kuvaus (joka tehdään HTML :llä tai muilla sivunkuvauskielillä ) kyseisen verkkosivun ulkoasun kuvauksesta (mikä tehdään nyt muodollisen CSS :n avulla Kieli). Tämä erottelu voi lisätä asiakirjan käytettävyyttä, tarjota enemmän joustavuutta ja sen esitystavan hallintaa sekä vähentää rakenteellisen sisällön monimutkaisuutta ja toistuvuutta.
Lisäksi CSS mahdollistaa saman asiakirjan esittämisen eri tyyleillä tai tulostusmenetelmillä , kuten näyttöesitys, tulostettu esitys, äänen lukeminen (omistetulla puheselaimella tai näytönlukijalla) tai pistekirjoituslaitteilla . .
CSS-säännöt voivat sijaita sekä itse verkkoasiakirjassa , jonka ulkoasua ne kuvaavat, että ulkoisissa tiedostoissa , joiden tunniste .css on . CSS-muoto on tekstitiedosto , joka sisältää luettelon CSS-säännöistä ja niiden kommenteista.
CSS-tyylejä voidaan sisällyttää tai upottaa niiden kuvaamaan verkkodokumenttiin neljällä tavalla:
Kahdessa ensimmäisessä tapauksessa asiakirjaan käytetään ulkoisia tyylejä ja toisessa tapauksessa sisäisiä tyylejä .
CSS:n lisääminen XML-dokumenttiin edellyttää, että dokumentissa on erityinen linkki tyylitiedostoon:
<?xml-stylesheet type="text/css" href="style.css"?>Kolmessa ensimmäisessä tapauksessa, kun CSS-tyylejä lisätään dokumenttiin (katso yllä), jokaisessa tiedoston CSS-säännössä on kaksi pääosaa - valitsin ja määrityslohko . Säännön vasemmalla puolella ennen "{" olevaa valitsin määrittää, mitä asiakirjan osia (mahdollisesti erityisesti merkittyjä) sääntö koskee. Mainoslohko sijaitsee säännön oikealla puolella. Se sijoitetaan hakasulkeisiin, ja se puolestaan koostuu yhdestä tai useammasta ilmoituksesta , jotka on erotettu merkillä ";". Jokainen ilmoitus on yhdistelmä CSS-ominaisuutta ja arvoa , jotka erotetaan ":" -merkillä. Valitsijat voidaan ryhmitellä samalle riville pilkuilla erotettuna. Tässä tapauksessa ominaisuutta sovelletaan jokaiseen niistä.
valitsin , valitsin { ominaisuus: arvo ; ominaisuus: arvo ; ominaisuus: arvo ; }Neljännessä tapauksessa, jossa CSS yhdistetään dokumenttiin (katso luettelo), CSS-sääntö, joka on sen elementin tyyliattribuutin arvo, jota se koskee, on luettelo ilmoituksista (" CSS-ominaisuus : arvo "), joka erotetaan "" ;".
Valitsimien tyypit Yleisvalitsin * { marginaali : 0 ; täyte : 0_ _ } Tunnisteen valitsin p { font-perhe : arial , helvetica , sans-serif ; } Luokan valitsin . huomautus { väri : punainen ; taustaväri : keltainen _ fontin paino : lihavoitu ; } Tunnisteen valitsin # kappale1 { marginaali : 0 ; } Attribuutin valitsin a [ href = "http://www.jokusivusto.fi" ] { font-weight : bold ; } Jälkipolven valitsin (kontekstin valitsin) div # kappale1 p . note { väri : sininen ; } Lapsivalitsin p . huomautus > b { väri : vihreä ; } . div { border : 1 px kiinteä punainen ; täyte - vasen : 20px } . title { font-size : 20 px ; taustaväri : punainen _ } Sisarelementin valitsin h1 + p { font-size : 24 px ; } Pseudoluokan valitsin a : aktiivinen { väri : sininen ; } Pseudoelementin valitsin p :: ensimmäinen kirjain { font-size : 32 px ; }HTML-elementille voidaan määrittää luokka tai tunniste elementin class- tai id-attribuuttien kautta:
<!DOCTYPE html> < html > < head > < meta http-equiv = "Content-Type" content = "text/html; charset=utf-8" > < title > Luokka- ja tunnusvalitsimet </ title > < style > p . iso { font-perhe : arial , helvetica , sans-serif ; väri : punainen_ _ } div # ensimmäinen { taustaväri : hopea ; } </ style > </ head > < body > < div id = "first" > <!-- Tämä on harmaa tausta div, jonka tyyli on id --> </ div > < p class = "iso" > <! -- Tämä on punaista tekstiä --> </ p > </ body > </ html >Suurin ero elementtiluokkien ja elementtitunnisteiden välillä on se, että tunniste on yhdelle elementille, kun taas luokka on yleensä osoitettu usealle elementille kerralla. Nykyaikaiset selaimet kuitenkin yleensä renderöivät oikein useita elementtejä samalla tunnuksella. Erona on myös se, että luokkia voi olla useita (kun elementin luokka koostuu useista sanoista, jotka on erotettu välilyönneillä). Tämä ei ole mahdollista tunnisteille.
On tärkeää huomata seuraava ero tunnisteen ja luokan välillä: tunnisteita käytetään laajasti JavaScriptissä yksilöllisen elementin löytämiseen asiakirjasta.
Luokkien ja tunnisteiden nimet, toisin kuin tunnisteiden nimet ja niiden attribuutit, ovat kirjainkoolla.
Luokkien ja tunnisteiden ominaisuudet asetetaan asianmukaisilla valitsimilla. Lisäksi se voidaan asettaa koko luokan ominaisuudeksi (tässä tapauksessa valitsin alkaa kirjaimella ".", esimerkiksi ".big") tai itse tunnisteen ominaisuudeksi (tässä tapauksessa valitsin alkaa kirjaimella #, esimerkiksi "#first" ) ja tämän luokan jonkin elementin ominaisuus tai tällä tunnisteella.
CSS:ssä on sivun tekijän määrittelemien luokkien lisäksi myös rajoitettu joukko ns. pseudo -luokkia , jotka kuvaavat tietyn tilan hyperlinkkien esiintymistä dokumentissa, sen elementin ulkoasua, johon syötetään. on keskittynyt, ja elementtien ulkonäkö, jotka ovat muiden elementtien ensimmäisiä lapsia. CSS : ssä on myös neljä ns. pseudoelementtiä : ensimmäinen kirjain, ensimmäinen rivi, joissa käytetään erikoistyylejä ennen ja jälkeen elementin.
CSS : n soveltaminen HTML - asiakirjoihin perustuu periytymisen ja peräkkäisyyden periaatteisiin . Periytymisperiaate on , että kanta-elementeissä ilmoitetut CSS-ominaisuudet periytyvät lähes aina jälkeläiselementeiltä.
CSS -periaatetta käytetään, kun johonkin HTML -elementtiin liittyy samanaikaisesti useampi kuin yksi CSS-sääntö , eli kun näiden sääntöjen arvojen välillä on ristiriita. Tällaisten ristiriitojen ratkaisemiseksi otetaan käyttöön ensisijaisuussääntöjä.
Valitsin | a, b, c, d | Määrä |
---|---|---|
jänneväli | 0, 0, 0, 1 | yksi |
div.class | 0, 0, 1, 1 | yksitoista |
#id .luokka | 0, 1, 1, 0 | 110 |
div span | 0, 0, 0, 2 | 2 |
.luokka | 0, 0, 1, 0 | kymmenen |
#id span | 0, 1, 0, 1 | 101 |
Esimerkki tyylisivusta (tässä muodossa se voidaan joko sijoittaa erilliseen .css-tiedostoon tai kehystää tunnisteilla <style>ja sijoittaa sen verkkosivun "otsikkoon", jossa se toimii):
p { font-perhe : arial , helvetica , sans-serif ; } h2 { font-size : 20 pt ; väri : punainen_ _ tausta : valkoinen _ } . huomautus { väri : punainen ; taustaväri : keltainen _ fontin paino : lihavoitu ; } p # kappale1 { täyte-vasen : 10 px ; } a : hover { text-decoration : none ; } # uutiset p { väri : sininen ; } [ type = "button" ] { taustaväri : vihreä ; }Tässä on seitsemän CSS - sääntöä valitsimilla p, h2, .note, p#paragraph1, a:hoverja #news p.[type="button"]
Ennen CSS:n tuloa verkkosivujen muotoilu tehtiin yksinomaan HTML -kielellä suoraan dokumentin sisällössä. CSS:n tultua kuitenkin mahdolliseksi erottaa asiakirjan sisältö ja esitys olennaisesti toisistaan. Tämän innovaation ansiosta oli mahdollista helposti soveltaa yhtä suunnittelutyyliä samankaltaisten asiakirjojen massalle sekä muuttaa tätä mallia nopeasti.
Edut:
Virheet:
CSS on yksi monista W3C :n tukemista teknologioista, joita kutsutaan yhteisesti "verkkostandardeiksi" [2] . 1990-luvulla tuli selväksi tarve standardoida Web, luoda jonkinlaiset yhtenäiset säännöt, joiden mukaan ohjelmoijat ja web-suunnittelijat suunnittelisivat sivustoja. Näin ilmestyivät HTML 4.01- ja XHTML - kielet sekä CSS-standardi.
1990-luvun alussa eri selaimilla oli omat tyylinsä web-sivujen näyttämiseen. HTML kehittyi erittäin nopeasti ja pystyi tyydyttämään kaikki tuolloin olemassa olleet tietosuunnittelun tarpeet, joten CSS ei tuolloin saanut laajaa hyväksyntää.
Haakon Lee loi termin Cascading Style Sheets vuonna 1994. Yhdessä Bert Bosin kanssa hän alkoi kehittää CSS:ää.
Toisin kuin monet tuolloin olemassa olleet tyylikielet, CSS käyttää vanhemmilta lapsiin -periytymistä, joten kehittäjä voi määrittää erilaisia tyylejä jo määritettyjen tyylien perusteella.
1990-luvun puolivälissä World Wide Web Consortium ( W3C ) alkoi osoittaa kiinnostusta CSS:ää kohtaan, ja joulukuussa 1996 annettiin CSS1-suositus.
W3C-suositus, hyväksytty 17. joulukuuta 1996 , muutettu 11. tammikuuta 1999 [3] . Tämän suosituksen tarjoamia ominaisuuksia:
W3C-suositus, hyväksytty 12. toukokuuta 1998 [4] . Perustuu CSS1:een säilyttäen samalla taaksepäin yhteensopivuuden muutamaa poikkeusta lukuun ottamatta. Lisäys toiminnallisuuteen:
W3C ei enää tue CSS2:ta ja suosittelee CSS2.1:n käyttöä
Tason 2 versio 1 (CSS2.1)W3C-suositus, hyväksytty 7. kesäkuuta 2011 .
CSS2.1 perustuu CSS2:een. Virheiden korjaamisen lisäksi joitain osia määrityksestä on muutettu uudessa versiossa ja joitain[ mitä? ] ja poistettu kokonaan. Poistetut osat voidaan lisätä CSS3:een tulevaisuudessa.
CSS3 ( Englannin Cascading Style Sheets 3 - cascading style sheets of the kolmas sukupolvi ) on aktiivisesti kehitetty CSS -spesifikaatio . Se on muodollinen kieli , joka on toteutettu merkintäkielellä . Suurin versio verrattuna CSS1:een, CSS2:een ja CSS2.1:een. CSS3:n pääominaisuus on kyky luoda animoituja elementtejä ilman JS :ää [5] , tuki lineaarisille ja säteittäisille gradienteille, varjoille, tasoitukselle ja muille.
Sitä käytetään ensisijaisesti HTML- ja XHTML - kuvauskielillä kirjoitettujen verkkosivujen ulkoasun kuvaamiseen ja muotoiluun , mutta sitä voidaan soveltaa myös mihin tahansa XML-dokumenttiin , kuten SVG tai XUL .
Kehitysversio (luettelo kaikista moduuleista) [6] .
Toisin kuin aikaisemmissa versioissa, spesifikaatio on jaettu moduuleihin, joiden kehitys ja kehitys suoritetaan itsenäisesti. CSS3 perustuu CSS2.1:een, täydentää olemassa olevia ominaisuuksia ja arvoja ja lisää uusia.
Innovaatiot alkaen pienistä, kuten lohkojen pyöristetyistä kulmista, päättyen muuntamiseen ( animaatioon ) ja mahdollisesti muuttujien käyttöönottoon [7] [8] .
W3C :n kehittämä 29. syyskuuta 2011 lähtien [9] [10] .
CSS4-moduulit rakentuvat CSS3:n päälle ja lisäävät niihin uusia ominaisuuksia ja arvoja. Kaikki ne ovat toistaiseksi olemassa luonnosten muodossa (työluonnos).
Esimerkiksi:
Täydellisimmin CSS-standardia tukevat selaimet , jotka toimivat Gecko- ( Mozilla Firefox , jne.), WebKit- ( Safari , Arora , Google Chrome ) ja Presto (Opera) [11] -koneilla.
Entinen yleisimmin käytetty selain [12] Internet Explorer 6 ei täysin tue CSS :ää [13] .
Seitsemän vuotta myöhemmin julkaistu Internet Explorer 7 paransi merkittävästi CSS-tuen tasoa [14] [15] , mutta sisälsi silti huomattavan määrän virheitä [16] .
Internet Explorer 8 käyttää uutta moottoria, joka tukee täysin CSS 2.1:tä ja osittain tukee CSS 3:a [17] .
Acid -testi kehitettiin verkkostandardien selaimen tuen testaamiseksi, mukaan lukien CSS-standardin useat osat .
W3C :n CSS-standardit käyttävät mallia, jossa ominaisuus widthmäärittää laatikon sisällön leveyden ilman täyttöä tai reunoja. Internet Explorerin varhaiset versiot (4 ja 5) ottivat käyttöön oman mallinsa, jossa leveys määrittää laatikon reunojen välisen etäisyyden, mukaan lukien täyte ( padding) ja reunat ( border). Internet Explorer 5:n lisäksi tätä mallia ymmärtävät myös Netscape 4 ja Opera 7. Tuki W3C-standardimallille ilmestyi vasta kuudennessa versiossa IE:ssä.
Tuleva CSS3-standardi esitteli ominaisuuden box-sizing, jonka arvot content-boxosoittavat W3C-standardimallin border-boxkäyttöä ja IE 5 -mallia tämän ongelman ratkaisemiseksi.
Mozilla - selaimessa tämän ominaisuuden tuella sen omalla "työnimellä" -moz-box-sizingotettiin käyttöön toinen arvo - padding-box, jolloin luotiin kolmas laatikkomalli, jossa width on lohkon sisällön koko ja sisennykset, ei sisällä kehys.
Erot CSS:n toteutuksessa eri selaimissa pakottavat verkkokehittäjät etsimään ratkaisuja, kuinka saada kaikki selaimet näyttämään sivu samalla tavalla. CSS-suodattimet (kutsutaan usein myös CSS-hakkereiksi) antavat sinun käyttää valikoivasti tyylejä eri elementteihin. Esimerkiksi Internet Explorer 6:n tiedetään pakottavan sääntöjä, jotka käyttävät näkymävalitsimia (suodatin, joka tunnetaan nimellä " star html bug "). Jotta Quirks-tilassa toimiva W3C- ja IE-laatikkomalli näyttäisi 100 pikseliä leveän laatikon, jossa on 10 pikselin täyte, voit kirjoittaa koodin seuraavasti: * html селектор#someblock
/* W3C-malli - 80px sisällön leveys ja 10px täyttö kummallakin sivulla */ # someblock { leveys : 80 px ; täyte : 10px _ _ } /* Seuraava sääntö koskee vain IE6:ta. */ * html # someblock { leveys : 100 px ; täyte : 10px _ _ }Toinen tapa valvoa Internet Explorerin sääntöjä valikoivasti on ehdolliset kommentit .
Kaikki vuonna 2010 tuetut Internet Explorerin versiot olivat haavoittuvia: kun selain käsittelee CSS-tyylejä, alustettua muistia saattaa ilmestyä, jota käytetään myöhemmin haitallisen koodin etäkäynnistykseen käyttäjän tietokoneella [18] .
CSS Framework (myös Web design framework ) on valmiiksi valmisteltu CSS-kirjasto, joka on luotu yksinkertaistamaan taittosuunnittelijan työtä, nopeuttamaan kehitystä ja eliminoimaan mahdollisimman paljon asetteluvirheitä (yhteensopivuusongelmat eri selainversioiden välillä jne.). Aivan kuten komentosarjaohjelmointikielten kirjastot, CSS-kehykset, yleensä ulkoisen .css-tiedoston muodossa, "yhdistetään" projektiin (lisätään web-sivun otsikkoon), jolloin ohjelmoija tai suunnittelija, joka ei ole kokenut asettelu html-asettelun luomiseksi oikein.
Usein sivuja asetettaessa on käytettävä samaa arvoa monta kertaa: sama väri, sama fontti. Ja jos tätä arvoa on muutettava, sitä on muutettava monissa paikoissa.
Näiden ongelmien ratkaisemiseksi ja kehityksen nopeuttamiseksi CSS-kielellä on useita laajennuksia (esikäsittelijöitä). Laajennukset siinä mielessä, että CSS-koodi on kelvollinen koodi laajennukselle, mutta ei päinvastoin. Jotta "laajennettu CSS" -koodi muuttuisi tavalliseksi CSS-tiedostoksi, jonka selain havaitsee, sinun on käännettävä se. Kokoonpano voi olla useita tyyppejä:
Esimerkkejä CSS-laajennuksista (esikäsittelijät):
Tyylisivujen kielet ( vertaa , luettelo ) | |
---|---|
Tilat |
|
Vakio | |
ei-standardi |
|
World Wide Web Consortium (W3C) | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Tuotteet ja standardit |
| ||||||||||||||
Organisaatiot |
| ||||||||||||||
PÄÄLLÄ |
| ||||||||||||||
Konferenssit |
|
Web ja verkkosivut | |
---|---|
maailmanlaajuisesti | |
Paikallisesti | |
Sivustojen ja palveluiden tyypit |
|
Luominen ja ylläpito | |
Asettelutyypit, sivut, sivustot |
|
Tekninen | |
Markkinointi | |
Yhteiskunta ja kulttuuri |
CSS Style Sheets | |
---|---|
css |
|
Vertailu |
|
Web-suunnittelu |
|
CSS Style Sheets |