- Learn CSS: The Complete Guide
- CSS-valitsimet
- Perusvalitsijat
- 1. *
- 2. #X
- 3. .X
- 4. X
- Perusvalitsijoiden Live demot
- Combinator-valitsijoiden
- 5. X Y
- 6. X + Y
- 7. X > Y
- 8. X ~ y
- Combinator-valitsijoiden Live-demot
- attribuuttien valitsijat
- 9. X
- 10. X
- 11. X
- 12. X
- 13. X
- 14. X
- 15. X
- Attribuuttivalitsijoiden Live demot
- Valevalitsijoiden
- 16. X: vieraili ja X:linkki
- 17. X: rastittu
- 18. X:
- 19. X: hover
- 20. X:not(valitsin)
- 21. X:: pseudoelementti
- Kohdentakaa kappaleen
- kohdistaa kappaleen
- live Demo of Pseudo Selectors
- Nth Child and Type Selectors
- 22. X: nth-lapsi (n)
- 23. X:Nth-last-child(n)
- 24. X: tyypin nth(n)
- 25. X:tyypin n: nneksi viimeinen(n)
- 26. X: ensimmäisen lapsen
- 27. X: viimeinen lapsi
- last-child Valintaesimerkki
- 28. X: ainoa lapsi
- 29. X: only-of-type
- 30. X: ykköstyypin
- testi
- ratkaisu 1
- Ratkaisu 2
- Ratkaisu 3
- Live Demo Nth Child and Type Selectors
- Conclusion
- vapaa pääsy Envato Elements 1 kuukausi
Learn CSS: The Complete Guide
we ’ve built a complete guide to help you learn CSS, whether you’ re just starting with the basics or you want to explore more advanced CSS.
CSS-valitsimet
joten opitte pohjan id
, class
ja descendant
valitsimet-ja sitten kutsuitte sitä päiväksi? Jos näin on, menetät valtavan joustavuuden tason. Olet sen velkaa itsellesi sitouttaa nämä kehittyneet CSS ja CSS3 valitsimet muistiin.
Perusvalitsijat
1. *
* { margin: 0; padding: 0;}
tyrmätään ilmiselvät aloittelijat, ennen kuin siirrymme kehittyneempiin valintoihin.
tähtisymboli kohdistuu jokaiseen sivun alkuaineeseen. Monet kehittäjät käyttävät tätä temppua nollatakseen margin
s ja padding
. Vaikka tämä on varmasti hieno pikatesteissä, neuvoisin, ettet koskaan käytä tätä tuotantokoodissa. Se lisää liikaa painoa selaimella, ja on tarpeetonta.
*
voidaan käyttää myös lapsivalitsimia.
#container * { border: 1px solid black;}
tämä kohdistuu jokaiseen alkuaineeseen, joka on #container
div
lapsi. Yritä jälleen olla käyttämättä tätä tekniikkaa kovin paljon, jos koskaan.
2. #X
#container { width: 960px; margin: auto;}
hash-symbolin Prefixing a selector allows us to target by id
. Tämä on helposti yleisin käyttö; ole kuitenkin varovainen käytettäessä id
valitsimia.
kysy itseltäsi: pitääkö minun ehdottomasti soveltaa
id
tätä elementtiä kohdentaakseni sitä?
id
valitsimet ovat jäykkiä eivätkä salli uudelleenkäyttöä. Jos mahdollista, yritä ensin käyttää tagin nimeä, jotain uutta HTML5-elementtiä tai jopa pseudoluokkaa.
3. .X
.error { color: red;}
tämä on class
valitsin. Ero id
S: n ja class
es: n välillä on se, että jälkimmäisellä voidaan kohdistaa useita alkuaineita. Käytä class
es, kun haluat tyylisi soveltuvan elementtiryhmään. Vaihtoehtoisesti, käytä id
s neulan etsimiseen heinäsuovasta ja muotoile vain se tietty elementti.
4. X
a { color: red; }ul { margin-left: 0; }
mitä jos haluaa kohdentaa kaikki elementit jollekin sivulle niiden type
mukaan eikä id
tai class
nimeen? Pidä se yksinkertaisena ja käytä tyyppivalitsinta. Jos haluat kohdentaa kaikki järjestämättömät luettelot, käytä ul {}
.
Perusvalitsijoiden Live demot
Combinator-valitsijoiden
5. X Y
li a { text-decoration: none;}
seuraavaksi yleisin valitsin on descendant
valitsin. Kun valitsijoiden kanssa pitää olla tarkempi, käytetään näitä. Entä jos kaikkien ankkurilappujen kohdentamisen sijaan sinun tarvitsee esimerkiksi kohdistaa vain ne ankkurit, jotka ovat järjestämättömässä luettelossa? Tämä on nimenomaan silloin, kun käyttäisit jälkeläisvalitsinta.
Pro-Vihje: Jos valitsija näyttää
X Y Z A B.error
, teet sen väärin. Kysy aina itseltäsi, onko aivan välttämätöntä käyttää kaikki se paino.
6. X + Y
ul + p { color: red;}
tätä kutsutaan viereiseksi valitsijaksi. Se valitsee vain elementin, jota edeltää välittömästi entinen Elementti. Tällöin vain ensimmäisessä kappaleessa jokaisen ul
jälkeen on punaista tekstiä.
7. X > Y
div#container > ul { border: 1px solid black;}
ero standardin X Y
ja X > Y
välillä on se, että jälkimmäinen valitsee vain suoria lapsia. Harkitse esimerkiksi seuraavaa merkintää.
<div> <ul> <li> List Item <ul> <li> Child </li> </ul> </li> <li> List Item </li> <li> List Item </li> <li> List Item </li> </ul> </div>
#container > ul
: n valitsin kohdistuu vain ul
S: ään, jotka ovat div
: n suoria lapsia, joiden id
on container
. Se ei kohdistu esimerkiksi ul
, joka on ensimmäisen li
lapsi.
tästä syystä child Combinatorin käytöstä on suorituskykyetuja. Itse asiassa, se on suositeltavaa erityisesti työskenneltäessä JavaScript-pohjainen CSS valintamoottorit.
8. X ~ y
ul ~ p { color: red;}
tämä sisaruskombinaattori on samanlainen kuin X + Y
, mutta se on vähemmän tiukka. Vaikka viereinen valitsin (ul + p
) valitsee vain ensimmäisen elementin, jota edeltää välittömästi entinen valitsin, tämä on yleisempi. Se valitsee edellä olevaan esimerkkiimme viitaten kaikki p
alkuaineet, kunhan ne seuraavat ul
.
Combinator-valitsijoiden Live-demot
attribuuttien valitsijat
9. X
a { color: green;}
, jota kutsutaan attribuuttivalitsimeksi, yllä olevassa esimerkissämme tämä valitsee vain ankkuritagit, joilla on title
attribuutti. Ankkuri tunnisteet, jotka eivät saa tätä erityistä muotoilua. Mutta entä jos pitää olla tarkempi? Katso seuraava esimerkki!
10. X
a { color: #83b348; /* Envato green */}
yllä oleva pätkä tyylittelee kaikki ankkuritagit, jotka linkittävät https://code.tutsplus.com; he saavat vihreän värimme. Kaikki muut ankkurilaput pysyvät ennallaan.
huomaa, että käärimme arvon lainausmerkkeihin. Muista myös tehdä tämä, Kun käytät JavaScript CSS selector engine. Jos mahdollista, käytä aina CSS3-valitsimia epävirallisten menetelmien yli.
tämä toimii hyvin, vaikka on vähän jäykkä. Mitä jos linkki todellakin suoraan Envato Tuts+, mutta ehkä polku on code.tutsplus.com koko URL: n sijaan? Näissä tapauksissa, voimme käyttää hieman säännöllisiä lausekkeita syntaksi.
11. X
a { color: #83b348; /* Envato green */}
There we go; that ’ s what we need. Tähti tarkoittaa, että etenevän arvon täytyy näkyä jossakin attribuutin arvossa. Näin tämä kattaa tutsplus.com, code.tutsplus.com, ja jopa webdesign.tutsplus.com.
muista, että tämä on laaja toteamus. Mitä jos ankkuri tag liittyy johonkin ei-Envato sivuston merkkijono tutsplus URL? Kun haluat olla tarkempi, käytä ^
: ää ja $
: ää viitataksesi Merkkijonon alkuun ja loppuun.
12. X
a { background: url(path/to/external/icon.png) no-repeat; padding-left: 10px;}
Oletko koskaan miettinyt, miten jotkut verkkosivustot pystyvät näyttämään pienen ikonin ulkoisten linkkien vieressä? Olen varma, että olet nähnyt nämä ennen; ne ovat mukavia muistutuksia siitä, että linkki ohjaa sinut täysin eri verkkosivuilla.
tämä on sakara, jossa on karaatin tunnus. Sitä käytetään tavallisimmin säännöllisissä lausekkeissa merkkijonon alun osoittamiseen. Jos haluamme kohdistaa kaikki ankkuri-tunnisteet, joilla on href
, joka alkaa http
, voisimme käyttää valitsinta samanlainen pätkä yllä.
huomaa, että emme etsi
https://
; se on tarpeetonta, eikä selitä URL-osoitteita, jotka alkavathttps://
.
nyt, mitä jos haluaisimme sen sijaan stailata kaikki ankkurit, jotka linkittävät vaikkapa valokuvaan? Noissa tapauksissa etsitään narun päätä.
13. X
a { color: red;}
taas käytetään säännöllisen lausekkeen symbolia $
, jolla viitataan merkkijonon loppuun. Tässä tapauksessa etsimme kaikkia ankkureita, jotka linkittävät kuvan-tai ainakin URL-osoitteen, joka päättyy .jpg
. Muista, että tämä ei Tallenna GIF-ja PNG-kuvia.
14. X
a { color: red;}
miten kompensoimme kaikki eri kuvatyypit? Voisimme luoda useita valitsimia.:
a,a,a,a { color: red;}
mutta se on tuskaa ja tehotonta. Toinen mahdollinen ratkaisu on käyttää mukautettuja attribuutteja. Mitä jos lisäämme Oman data-filetype
– attribuuttimme jokaiseen kuvaan linkittävään uutisankkuriin?
<a href="path/to/image.jpg" data-filetype="image"> Image Link </a>
sitten, kun koukku on paikallaan, Voimme käyttää vakiomäärevalitsinta kohdistamaan vain nuo ankkurit.
a { color: red;}
15. X
a { color: red;}a { border: 1px solid black;}
tässä erikoinen, joka tekee vaikutuksen ystäviisi. Harva tietää tästä tempusta. Tilde (~
)-symbolin avulla voidaan kohdistaa attribuutti, jolla on avaruudesta erotettu arvoluettelo.
kun edessämme on mukautettu attribuuttimme numerosta 15, voisimme luoda data-info
attribuutin, joka voi vastaanottaa välilyönnillisen listan kaikesta, mitä meidän tarvitsee huomioida. Tässä tapauksessa otamme huomioon Ulkoiset linkit ja linkit kuviin-vain esimerkkinä.
"<a href="path/to/image.jpg" data-info="external image"> Click Me, Fool </a>
kun tämä merkintä on käytössä, voimme nyt kohdentaa kaikki tunnisteet, joilla on jompikumpi näistä arvoista, käyttämällä ~
attribuuttien valintatemppua.
/* Target data-info attr that contains the value "external" */a { color: red;}/* And which contain the value "image" */a { border: 1px solid black;}
aika näppärä, vai mitä?
Attribuuttivalitsijoiden Live demot
Valevalitsijoiden
16. X: vieraili ja X:linkki
a:link { color: red; }a:visited { color: purple; }
käytämme :link
pseudoluokkaa kohdentaaksemme kaikki ankkuri-tunnisteet, joita ei ole vielä klikattu.
vaihtoehtoisesti käytössä on myös :visited
pseudo-luokka, joka, kuten arvata saattaa, mahdollistaa tietyn tyylittelyn vain klikatun sivun ankkurilappuihin eli ”vierailtuihin”.
17. X: rastittu
input:checked { border: 1px solid black;}
tämä pseudoluokka kohdistuu vain valittuun käyttöliittymäelementtiin—kuten radionappiin tai valintaruutuun. Niin yksinkertaista se on.
18. X:
jälkeen before
ja after
pseudoluokat ovat suuria. Joka päivä ihmiset näyttävät löytävän uusia ja luovia tapoja käyttää niitä tehokkaasti. Ne yksinkertaisesti luovat sisältöä valitun elementin ympärille.
monet tutustuivat näihin luokkiin kohdatessaan clear-fix-hakkeroinnin.
.clearfix:after { content: ""; display: block; clear: both; visibility: hidden; font-size: 0; height: 0; }.clearfix { *display: inline-block; _height: 1%;}
tämä hakkerointi käyttää :after
pseudoluokkaa liittääkseen tilan elementin perään ja tyhjentääkseen sen. Se on oiva kikka pitää työkalupussissa varsinkin silloin, kun overflow: hidden;
– menetelmä ei ole mahdollinen.
toista luovaa käyttöä varten, katso pikavinkkini varjojen luomiseen.
CSS3-valitsimien määrittelyn mukaan tulisi teknisesti käyttää kahden Colonin pseudoelementtisyntaksia
::
. Kuitenkin, pysyä yhteensopiva, käyttäjä-agentti hyväksyy yhden kaksoispisteen käyttö samoin.
19. X: hover
div:hover { background: #e3e3e3;}
Oh come on. Tiedät tämän. Virallinen termi tälle on ”user action pseudo class”. Se kuulostaa hämmentävältä, mutta se ei todellakaan ole. haluatko soveltaa tiettyä muotoilua, kun käyttäjä leijuu elementin päällä? Tämä hoitaa homman!
muista, että Internet Explorerin vanhemmat versiot eivät vastaa, kun
:hover
pseudoluokkaa sovelletaan muuhun kuin ankkurilappuun.
käytät tätä valitsinta useimmiten, kun kiinnität esimerkiksi border-bottom
ankkurilappuihin, kun ne leijuvat yli.
a:hover { border-bottom: 1px solid black;}
Pro-Vihje:
border-bottom: 1px solid black;
näyttää paremmalta kuintext-decoration: underline;
.
20. X:not(valitsin)
div:not(#container) { color: blue;}
negaation pseudo-luokka on erityisen hyödyllinen. Sanotaan, että haluan valita kaikki div
s, paitsi sen, jonka id on container
. Pätkä yllä hoitaa tehtävän täydellisesti.
tai jos halusin valita jokaisen elementin (ei suositella) lukuun ottamatta kappaletunnisteita, voisimme tehdä:
*:not(p) { color: green;}
21. X:: pseudoelementti
p::first-line { font-weight: bold; font-size: 1.2em;}
voidaan käyttää pseudoelementtejä (nimimerkki ::
) jonkin alkuaineen fragmenttien, kuten ensimmäisen rivin tai ensimmäisen kirjaimen, tyylittelyyn. Muista, että näitä on sovellettava lohkotason elementtejä, jotta ne tulevat voimaan.
pseudoelementti koostuu kahdesta paksusuolesta:
::
Kohdentakaa kappaleen
p::first-letter { float: left; font-size: 2em; font-weight: bold; font-family: cursive; padding-right: 2px;}
ensimmäinen kirjain tämä pätkä on abstraktio, joka löytää kaikki kappaleet sivulta, ja sitten alikooste vain kyseisen elementin ensimmäisen kirjaimen.
Tätä käytetään useimmiten lehtimäisen tyylittelyn luomiseen artikkelin ensimmäiseen kirjaimeen.
kohdistaa kappaleen
p::first-line { font-weight: bold; font-size: 1.2em;}
ensimmäisen rivin vastaavasti ::first-line
pseudoelementti tyylittelee odotetusti vain alkuaineen ensimmäisen rivin.
” yhteensopivuudesta olemassa olevien tyylisivujen kanssa käyttäjäagenttien on myös hyväksyttävä aiempi yhden kaksoispisteen merkintä pseudoelementeille, jotka on otettu käyttöön CSS-tasoilla 1 ja 2 (eli, :first-line
, :first-letter
, :before
ja :after
). Tätä yhteensopivuutta ei sallita tässä eritelmässä esitettyjen uusien pseudoelementtien osalta.”—W3C Selectors Specs
live Demo of Pseudo Selectors
Nth Child and Type Selectors
22. X: nth-lapsi (n)
li:nth-child(3) { color: red;}
Muistatko ajat, jolloin emme voineet kohdistaa tiettyjä elementtejä pinoon? nth-child
pseudoluokka ratkaisee sen!
huomaa, että nth-child
hyväksyy parametriksi kokonaisluvun, mutta tämä ei ole nollapohjainen. Jos haluat kohdistaa kohteen toiseen kohtaan, Käytä li:nth-child(2)
.
tämän avulla voidaan jopa valita muuttuva joukko lapsia. Esimerkiksi li:nth-child(4n)
voisimme valita joka neljännen listan kohteen.
23. X:Nth-last-child(n)
li:nth-last-child(2) { color: red;}
mitä jos ul
: n kappalelista olisi valtava, eikä tarvitsisi kuin päästä käsiksi vaikkapa kolmanneksi viimeiseen kappaleeseen? li:nth-child(397)
: n sijaan voisi käyttää nth-last-child
pseudoluokkaa.
tämä tekniikka toimii lähes samalla tavalla kuin numero 16 edellä. Erona on, että se alkaa kokoelman lopusta ja toimii takaisin.
24. X: tyypin nth(n)
ul:nth-of-type(3) { border: 1px solid black;}
tulee aikoja, jolloin child
: n valitsemisen sijaan on valittava elementin type
mukaan.
Imagine markup, joka sisältää viisi järjestämätöntä listaa. Jos halusi tyylitellä vain kolmannen ul
, eikä ollut ainutkertaista id
koukkua, saattoi käyttää nth-of-type(n)
pseudoluokkaa. Yllä olevassa katkelmassa vain kolmannella ul
on raja sen ympärillä.
25. X:tyypin n: nneksi viimeinen(n)
ul:nth-last-of-type(3) { border: 1px solid black;}
ja kyllä, pysyäksemme johdonmukaisina voimme myös käyttää nth-last-of-type
: ää aloittaaksemme valintaluettelon lopusta ja palataksemme kohti haluttua elementtiä.
26. X: ensimmäisen lapsen
ul li:first-child { border-top: none;}
tämän rakenteellisen pseudoluokan avulla voidaan kohdistaa vain alkuaineen vanhemman ensimmäiseen lapseen. Voit usein käyttää tätä poistaa rajoja ensimmäisen ja viimeisen luettelon kohteita.
esimerkiksi sanotaan, että sinulla on rivilista, ja jokaisella on border-top
ja border-bottom
. No, tuolla järjestelyllä, ensimmäinen ja viimeinen esine siinä sarjassa näyttää hieman oudolta.
monet suunnittelijat soveltavat tämän kompensoimiseksi luokkia first
ja last
. Sen sijaan, voit käyttää näitä pseudo luokkia.
27. X: viimeinen lapsi
ul > li:last-child { color: green;}
first-child
vastakohta, last-child
kohdistuu elementin vanhemman viimeiseen kohteeseen.
last-child
Valintaesimerkki
rakennetaan yksinkertainen esimerkki, jolla osoitetaan yksi mahdollinen näiden luokkien käyttö. Luomme tyylitellyn listan kohteen.
<ul> <li> List Item </li> <li> List Item </li> <li> List Item </li> </ul>
Markkasen kohdalla ei ole mitään erikoista: vain yksinkertainen lista.
tässä on CSS:
ul { width: 200px; background: #292929; color: white; list-style: none; padding-left: 0;}li { padding: 10px; border-bottom: 1px solid black; border-top: 1px solid #3c3c3c;}
tämä muotoilu asettaa taustan, poistaa selaimen oletustäytteen ul
ja soveltaa rajoja jokaiseen li
antamaan hieman syvyyttä.
lisätäksesi syvyyttä luetteloihisi, käytä
border-bottom
jokaiselleli
: lle, joka on sävy tai kaksi tummempi kuinli
: n taustaväri. Levitä seuraavaksiborder-top
, joka on pari sävyä vaaleampi.
ainoa ongelma, kuten yllä olevasta kuvasta näkyy, on se, että järjestämättömän listan ylä—ja alaosaan laitetaan raja-joka näyttää oudolta. Käytetään :first-child
ja :last-child
pseudoluokkia tämän korjaamiseen.
li:first-child { border-top: none;}li:last-child { border-bottom: none;}
There we go; that fixes it!
28. X: ainoa lapsi
div p:only-child { color: red;}
totuudenmukaisesti et todennäköisesti huomaa käyttäväsi only-child
pseudoluokkaa liian usein. Kuitenkin, se on saatavilla, jos tarvitset sitä.
sen avulla voidaan kohdistaa elementtejä, jotka ovat vanhemman ainoa lapsi. Esimerkiksi yllä olevaan pätkään viitaten vain kappale, joka on div
: n ainoa lapsi, väritetään punaiseksi.
oletetaan seuraava merkintä.
<div><p> My paragraph here. </p></div><div> <p> Two paragraphs total. </p> <p> Two paragraphs total. </p></div>
tässä tapauksessa toista div
kappaletta ei kohdisteta, ainoastaan ensimmäistä div
. only-child
pseudoluokka lakkaa olemasta voimassa heti, kun elementtiin liitetään useampi kuin yksi lapsi.
29. X: only-of-type
li:only-of-type { font-weight: bold;}
tätä rakenteellista pseudoluokkaa voidaan käyttää joillakin näppärillä tavoilla. Se kohdistuu elementteihin, joilla ei ole sisaruksia emokonttissaan. Esimerkkinä voidaan mainita kaikki ul
s, joilla on vain yksi listakohde.
kysy ensin itseltäsi, miten hoitaisit tämän tehtävän. ul li
voisi tehdä, mutta tämä kohdistuisi kaikkiin listan kohteisiin. Ainoa ratkaisu on käyttää only-of-type
.
ul > li:only-of-type { font-weight: bold;}
30. X: ykköstyypin
first-of-type
pseudoluokasta voi valita tyyppinsä ensimmäiset sisarukset.
testi
tämän ymmärtämiseksi tehdään testi. Kopioi seuraava merkintä koodieditoriin:
<div> <p> My paragraph here. </p> <ul> <li> List Item 1 </li> <li> List Item 2 </li> </ul> <ul> <li> List Item 3 </li> <li> List Item 4 </li> </ul> </div>
nyt, lukematta enempää, yritä selvittää, miten kohdistaa vain ”List Item 2”. Kun olet tajunnut sen (tai luovuttanut), lue eteenpäin.
ratkaisu 1
on olemassa useita tapoja ratkaista tämä testi. Käymme läpi kourallisen niistä. Aloitetaan käyttämällä first-of-type
.
ul:first-of-type > li:nth-child(2) { font-weight: bold;}
tässä pätkässä sanotaan lähinnä, että etsitään ensimmäinen Järjestämätön luettelo sivulta, sitten löydetään vain välittömät lapset, jotka ovat luettelon kohteita. Seuraava, suodata että alas vain toisen luettelon kohtaan, että joukko.
Ratkaisu 2
toinen vaihtoehto on käyttää viereistä valitsinta.
p + ul li:last-child { font-weight: bold;}
tässä skenaariossa löydämme ul
, joka etenee välittömästi p
– merkillä, ja sitten löydämme alkuaineen aivan viimeisen lapsen.
Ratkaisu 3
voimme olla näillä valitsijoilla niin vastenmielisiä tai leikkisiä kuin haluamme.
ul:first-of-type li:nth-last-child(1) { font-weight: bold; }
tällä kertaa nappaamme sivulta ensimmäisen ul
ja sitten löydämme aivan ensimmäisen listan kohteen, mutta aloittaen alhaalta!
Live Demo Nth Child and Type Selectors
Conclusion
jos kompensoit vanhempia selaimia, kuten Internet Explorer 6, Sinun on silti oltava varovainen käyttäessäsi näitä uudempia valitsimia. Mutta älä anna sen estää sinua oppimasta näitä. Tekisit karhunpalveluksen itsellesi. Muista viitata tässä selaimen yhteensopivuusluetteloon. Vaihtoehtoisesti voit käyttää Dean Edwardin erinomaista IE9: ää.js script tuo tuen näille valitsimille vanhempiin selaimiin.
toiseksi, kun työskentelet JavaScript-kirjastojen kanssa, kuten suositussa jqueryssä, yritä aina käyttää näitä natiiveja CSS3-valitsimia kirjaston omien menetelmien/valitsimien päälle, mikäli mahdollista. Se tekee koodin nopeammin, koska valintamoottori voi käyttää selaimen natiivi jäsennys, eikä Oman.
on hienoa, että vietät aikaa oppimalla web design fundamentals, mutta jos tarvitset nopean ratkaisun, yksi valmis-to-use CSS-malleistamme saattaa olla hyvä vaihtoehto. Meillä on myös muutamia premium CSS kohteita voit harkita.
-
CSS315 Elegant CSS Pricing Tables for your Latest Web ProjectMonty Shokeen
-
Bootstrap 418 parasta Bootstrap 4-liitännäistäMonty Shokeen
vapaa pääsy Envato Elements 1 kuukausi
lopuksi, tässä on hyvin erikoistarjous auttaa rakentamaan ammattimaisen näköisiä sivustoja ja sovelluksia. Näiden CSS-valitsimien käytön lisäksi mikset hyödynnä korkealaatuisia varastokuvia, videomateriaalia, premium-fontteja, grafiikkaa, kuvituksia ja paljon muuta?
normaalisti tuollaisista resursseista pitäisi maksaa. Mutta juuri nyt, voit käyttää miljoonia luovia voimavaroja koodausprojekteihisi kokonaisen kuukauden ajan, täysin ilmaiseksi. Lisäksi saat rajoittamattoman määrän latauksia, joten voit napata kuukauden aikana niin paljon kuin haluat, ja maksaa vain, jos päätät jatkaa!
to take use of this offer, click this special signup link or enter the code on the registration page:
elements_cont_tuts-freemonth1-4bwkbp
älä odota liian kauan—tarjous on voimassa vain rajoitetun ajan!