Schimbați culoarea la hover CSS. Schimbați culoarea unui element la trecerea mouse-ului

Salutare dragi cititori ai blogului webcodius! Primesc adesea întrebări: cum să faci o imagine pe o pagină web să se schimbe atunci când treci cu cursorul mouse-ului peste ea. Acest efect se găsește pe multe site-uri și cel mai simplu exemplu este atunci când treci cu mouse-ul peste un buton, iar după aceea își schimbă culoarea. Uneori, JavaScript este folosit pentru a crea acest efect, dar de obicei doar CSS este suficient, mai ales după introducerea celei de-a treia versiuni CSS. Mai târziu în articol, o voi face cum să schimbi imaginea la hover cu un singur CSS, voi analiza mai multe moduri și efecte diferite.

Efectele schimbării unui element de pagină web la trecerea cursorului sunt adesea denumite ca efecte de hover. Acest lucru se datorează faptului că la implementarea unor astfel de efecte se folosește, ceea ce determină stilul elementului atunci când cursorul mouse-ului este plasat peste el.

Pentru început, să luăm în considerare o opțiune mai simplă. Să presupunem că aveți o imagine inserată în pagină, așa cum se arată mai jos:

Și să presupunem că trebuie să-i schimbați afișarea atunci când treceți cu mouse-ul peste el cu cursorul mouse-ului. Când lipiți această imagine în etichetă img adăugați atributul class="animate1" , apoi codul html al imaginii va arăta cam așa:

Pentru început, puteți trece pur și simplu cursorul pentru a face imaginea transparentă. Transparența în CSS este gestionată de proprietatea opacitate, care este o proprietate CSS3. Ca valoare, se folosesc numere fracționale de la 0 la 1, unde zero corespunde transparenței depline, iar unu, dimpotrivă, opacității obiectului. Pentru versiuni mai vechi Internet Explorer va trebui să utilizați proprietatea de filtru cu alpha(Opacity=X), deoarece nu acceptă proprietatea de opacitate. În loc de X, va trebui să înlocuiți un număr de la 0 la 100, unde 0 înseamnă transparență totală, iar 100 înseamnă opacitate totală.

Apoi, pentru a face imaginea transparentă atunci când treceți cu mouse-ul în fișierul de stil sau între etichete Și html, adăugați următorul cod css:

În cazul în care nu sunteți familiarizat cu CSS, vă voi explica că intrarea img.animate1:hover spune browserului că pentru toate elementele , cu un atribut de clasă egal cu animate1, când treceți cu cursorul mouse-ului peste ele, aplicați stilurile specificate. Și stilurile sunt specificate între acolade ( și ). Dacă totul este făcut corect, ar trebui să arate cam așa:

Puteți face o poză înăuntru starea originară translucid și, atunci când treceți cu mouse-ul deasupra, faceți-l netransparent. Apoi trebuie să adăugați următoarele linii în fișierul CSS:

img.animate1(
filtru: alfa (Opacitate=25);
opacitate: 0,25
}
img.animate1:hover(

opacitate: 1
}

Rezultatul va fi astfel:

Pentru un efect mai mare, puteți încetini schimbările în transparența imaginii. Pentru a face acest lucru, puteți utiliza proprietatea de tranziție CSS, care stabilește efectul de tranziție între două stări ale unui element. De exemplu, să adăugăm o secundă de încetinire. Apoi codul nostru CSS va arăta astfel:

img.animate1(
filtru: alfa (Opacitate=25);
opacitate: 0,25
-moz-tranziție: toate cele 1 ease-in-out; /* efect de tranziție pentru Firefox înainte de versiunea 16.0 */
-webkit-tranziție: toate cele 1 ease-in-out; /* efect de tranziție pentru Chrome până la versiunea 26.0, Safari, Android și iOS */
-o-tranziție: toate cele 1 ease-in-out; /* efect de tranziție pentru Opera înainte de versiunea 12.10 */
tranziție: toate cele 1 ease-in-out; /* efect de tranziție pentru alte browsere */
}
img.animate1:hover(
filtru: alfa (Opacitate=100);
opacitate: 1
}

Rezultat:

Folosind proprietatea de transformare, imaginea poate fi scalată, rotită, deplasată, înclinată. Să încercăm să mărim imaginea. Atunci codul css va fi astfel:

img.animate1(


- o-tranziție: toate 1-urile ușurință;
tranziție: toate 1s ușurință;
}
img.animate1:hover(
- moz-transform: scara (1,5); /* efect de transformare pentru Firefox înainte de versiunea 16.0 */
- webkit-transform: scară (1,5); /* efect de transformare pentru Chrome până la versiunea 26.0, Safari, Android și iOS */
- o-transformă: scară (1,5); /* efect de transformare pentru Opera înainte de versiunea 12.10 */
- ms-transform: scară (1,5); /* efect de transformare pentru IE 9.0 */
transform:scale(1,5); /* efect de transformare pentru alte browsere */
}

Și rezultatul va fi așa:

Rotirea poate fi adăugată pentru a mări imaginea. Apoi stilurile CSS se schimbă puțin:

img.animate1(
moz-tranziție: toate 1s ease;
webkit-tranziție: toate 1s ușurință;
- o-tranziție: toate 1-urile ușurință;
tranziție: toate 1s ușurință;
}
img.animate1:hover(
- moz-transform: rotire (360deg) scară (1,5);
- webkit-transform: rotire (360deg) scară (1,5);
- o-transformă: rotire (360deg) scară (1,5);
- ms-transform: rotire (360deg) scară (1,5);
transformare: rotire(360deg) scară(1,5);
}

Rezultat:

Mai sus, am luat în considerare cazurile în care o imagine este implicată în animație. Apoi, luați în considerare cum să înlocuiți o imagine cu alta. În acest caz, de obicei sunt pregătite două imagini de aceeași dimensiune: una pentru vizualizarea originală, cealaltă pentru înlocuirea acesteia.

Să presupunem că avem două imagini, una alb-negru și cealaltă color:

Să facem astfel încât atunci când treceți cu mouse-ul peste o imagine alb-negru, să fie afișată o imagine color. Pentru a face acest lucru, vom face din imaginea originală fundalul elementului div folosind proprietatea de fundal. Și când treceți cu mouse-ul peste imaginea cursorului, ne vom schimba imagine de fundal folosind aceeași pseudo-clasă și proprietate de fundal. Pentru a implementa acest efect asupra pagina html adăugați un element div cu clasa rotate1:

Și adăugați următoarele descrieri de stil:

div.rotate1(
fundal: url (img/2.jpg); /* Calea către fișierul cu imaginea originală */
latime: 480px /* Lățimea imaginii */
înălțime: 360px; /* Înălțimea imaginii */
}
div.rotate1:hover(
fundal: url (img/1.jpg); /* Calea către fișierul cu imaginea înlocuită */
}

Iar rezultatul:

Această metodă are un dezavantaj semnificativ. Deoarece a doua imagine este încărcată numai atunci când cursorul este plasat, atunci dacă utilizatorul are o conexiune lentă la Internet și dimensiunea fișierului cu imaginea este marime mare, imaginea va fi afișată cu o pauză. Prin urmare, mai jos vom lua în considerare câteva modalități suplimentare de a înlocui imaginile atunci când trecem cursorul mouse-ului.

Următoarea metodă se va baza pe combinarea a două imagini într-un singur fișier. Să presupunem că trebuie să plasăm un buton pe pagină, care, atunci când cursorul mouse-ului este plasat peste el, și-ar schimba aspectul. Pentru a face acest lucru, combinăm două imagini într-un singur fișier, iar imaginea rezultată va arăta cam așa:

În acest caz, schimbarea de la o imagine la alta se va face prin deplasarea verticală a imaginii de fundal folosind proprietatea background-position. Deoarece atunci când faceți clic pe buton, de obicei mergeți pe o altă pagină, vom introduce imaginea în element< a>. Apoi lipiți următorul cod în pagina html:

Și într-un fișier css ca acesta:

a.rotate2(
fundal: url (img/button.png); /* Calea către fișierul cu imaginea originală */
display:bloc; /* Link ca element de bloc */
latime: 50px /* Lățimea imaginii în pixeli */
înălțime: 30px; /* Înălțimea imaginii */
}
a.rotate2:hover(
fundal-poziție: 0-30px; /* Decalaj fundal */
}

Rezultat:

Și ultima modalitate pentru astăzi este atunci când o imagine este plasată sub alta cu css poziție: reguli absolute. În acest caz, punem două imagini în interiorul containerului div:




Și adăugați stiluri CSS:

Animate2(
poziție:rudă;
margin:0 auto;/* setează blocul div în centrul paginii*/
lățime: 480px; /* Latime */
înălțime: 360px; /* Înălțime */
}
.animate2 img(
poziție: absolut; /* pozitionare absoluta */
stânga: 0; /* aliniază imaginile în colțul din stânga sus al div-ului */
sus: 0; /* aliniază imaginile în colțul din stânga sus al div-ului */
}

După adăugare regulile css, pozele vor fi plasate una sub alta. Acum, controlând transparența imaginilor folosind proprietatea opacitate, vom afișa a doua imagine în stare normală și prima când cursorul este plasat peste. Pentru a face acest lucru, în stare normală, facem imaginea cu prima clasă complet transparentă, iar când treceți cursorul, opusul este adevărat: imaginea cu clasa a doua va fi complet transparentă, iar cu prima clasă va fi complet transparentă. nu fi transparent:

Animate2 img.first ( /* prima imagine este complet transparentă */
opacitate:0;
filtru:alfa (opacitate=0);
}
.animate2:hover img.first ( /* prima imagine devine opaca la trecerea cu mouse-ul */
opacitate:1;
filtru:alfa (opacitate=100);
}
/* iar al doilea devine transparent la hover */
opacitate:0;
filtru:alfa (opacitate=0);
}

Rezultat:

Puteți obține o tranziție lină adăugând proprietatea de tranziție CSS la ultima regulă:

Animate2:hover img.second, .animate2 img.second:hover (
opacitate:0;
filtru:alfa (opacitate=0);
-moz-tranziție: toate cele 2 ușurință;
-webkit-tranziție: ușurința tuturor celor 2;
-o-tranziție: toate cele 2 ușurință;
tranziție: toate cele 2 ușurință;
}

Iar rezultatul:

Și dacă adăugăm proprietatea transform:

Animate2:hover img.second, .animate2 img.second:hover (
opacitate:0;
filtru:alfa (opacitate=0);
-moz-transform:scale(0, 1);
-webkit-transform:scale(0, 1);
-o-transform:scale(0, 1);
-ms-transform:scale(0, 1);
transform:scale(0, 1); /* reduce lățimea imaginii la 0 */
}

Se va dovedi astfel:

Prin combinarea diferitelor proprietăți CSS, puteți obține diferite efecte de hover atunci când schimbați imaginile în timp ce treceți cu mouse-ul. Am postat acestea și alte exemple pe această pagină, de unde puteți descărca și codul sursă. Atât, până ne întâlnim din nou.

Soluţie
Pentru a face tabelul mai ușor de citit, puteți schimba culoarea rândului când treceți cu mouse-ul peste acesta - acest lucru va evidenția conținutul. Acest efect este prezentat în orez. 5.10.

Orez. 5.10

Implementarea este destul de simplă, trebuie doar să adăugați următoarea regulă în foaia de stil:

.datatable tr :hover (culoare de fundal: #DFE7F2 ; culoare: #000000 ; )

Discuţie
Un astfel de document va fi afișat corect în toate browsere moderne, inclusiv Internet Explorer 7, dar cu excepția Internet Explorer 6. Cu toate acestea, dacă datele din tabel sunt prezentate logic și totul
clar și fără evidențiere de fundal, atunci acest efect poate fi considerat un plus frumos, dar nu obligatoriu - fără de care ar fi imposibil să utilizați site-ul.

Dacă dintr-un motiv oarecare trebuie neapărat să implementați această funcție pentru utilizatorii Internet Explorer 6, puteți adăuga un script JavaScript simplu. Pentru a schimba culoarea de fundal a unui rând de tabel atunci când treceți cu mouse-ul peste acesta în Internet Explorer 6, trebuie să setați proprietățile necesare pentru o clasă CSS (o voi numi hilite în acest exemplu).

.datatable tr :hover, .datatable tr .hilite (culoare de fundal: #DFE7F2 ; culoare: #000000 ; )

După tabel, adăugați următorul cod JavaScript în pagină:

Acest script caută toate etichetele în document și oferind fiecăruia dintre ei un handler de evenimente mouseover și mouseout.
Ei atribuie clasa CSS hilite rândurilor când cursorul mouse-ului este peste ea și o elimină când este mutat în altă zonă. După cum se vede pe orez. 5.11, această combinație de CSS și JavaScript produce rezultatul dorit.

Acest script JavaScript setează în mod dinamic clasa CSS pentru etichetă. În acest caz, adăugăm clasa hilite la etichetă pe evenimentul mouseover, pentru care este utilizată proprietatea onmouseover:

rows[i].onmouseover = function () (acest .className += ‘hilite’; )

Orez. 5.11

După ce apare evenimentul mouseout, eliminăm clasa:

rows[i].onmouseout = function () ( this .className = this .className.replace('hilite', ''); }

Schimbând numele unei clase de elemente ca răspuns la acțiunile utilizatorului folosind JavaScript, puteți obține o varietate de efecte atractive și discrete. Această tehnică poate fi folosită, de exemplu, pentru a evidenția o anumită zonă prin schimbarea numelui clasei elementului div corespunzător la evenimentul mouseover.

Notă
JavaScript discret. Poate ați observat că codul JavaScript nu a fost adăugat în tabelul în sine; întregul script a fost plasat numai în interiorul elementului script. Această tehnică se numește JavaScript discret; scopul său este să separe documentele și scripturile, la fel cum separăm foile de stil în cascadă și markup.

Scriptul JavaScript trebuie rulat după încărcarea tabelului, deoarece înainte de aceasta nu există nici un obiect în sine pe care să fie executat scriptul. Alternativ, puteți scrie o funcție care va fi executată când pagina s-a terminat de încărcat; în acest caz, codul JavaScript poate fi stocat în dosar separat, specificând un link către acesta în codul paginii. În plus, pentru a vă asigura că scriptul este încărcat numai atunci când pagina este deschisă în motor de cautare Explorer 6, puteți folosi comentarii condiționate.

Vom vorbi mai multe despre acest lucru în secțiunea „Definirea diferitelor stiluri pentru Internet Explorer 6 și 7” din capitolul 7.

Ca și în exemplul anterior, în acest caz, utilizarea diferitelor biblioteci, cum ar fi jQuery, poate fi utilă atunci când suportul pentru anumite proprietăți în browserele mai vechi nu este disponibil.

În acest articol, un exemplu arată cum să faci o schimbare de culoare pe un element arbitrar al site-ului dacă cursorul mouse-ului a fost plasat peste acesta.

Acest „lucru” se face folosind stiluri css, adică va trebui să adăugați câteva rânduri de text la fișierul de stil șablon, precum și să vă arătați abilitățile de proiectare. Îți voi arăta ce să adaugi.

Actualizat la 17.01.2019

Atenţie! Am lansat o nouă temă Romb pentru articolele și blogurile dvs. Cel mai rapid de pe Google PageSpeed ​​​​și optimizare maximă pentru SEO.

Să dăm doar un exemplu pentru claritate, ca să înțelegeți despre ce vorbim. Deplasați mouse-ul peste elementele de meniu:

De îndată ce mouse-ul este trecut peste orice câmp din listă, fundalul liniei se modifică, precum și culoarea textului/linkului din titlul titlului site-ului.

Iată cum arată codul de bloc:

XHTML

Link-uri schimbă toate pluginurile Wordpress Hack-uri Wordpress

În exemplul meu, vedem că efectul funcționează pe o legătură obișnuită. În schimb, poate fi un container

,
  • și alte etichete relevante.

    Pentru a spune browserului că efectul ar trebui efectuat pe anumite link-uri, le-am luat într-un separat

    link-uri aici
    . Pentru dvs., acesta poate fi, de asemenea, un container creat de dvs. sau unul gata făcut (de exemplu, un widget într-o bară laterală).

    Practică

    Acum trebuie să setăm acțiunea mouseover. După cum am menționat mai sus, facem totul folosind stiluri CSS (fișierul șablon poate fi numit style.css, css.css, core.css sau altceva).

    Catside a:hover (fond: #0078BF; culoare: #fff;)

    Catside a:hover ( fundal : #0078BF ; culoare : #fff ; )

    Cu această linie, am spus browserului să schimbe culoarea de fundal atunci când trece mouse-ul în albastru (#0078BF) și am spus că culoarea fontului ar trebui să devină albă (#fff). „Lucrul” în sine, care permite browserului să înțeleagă că trebuie făcut la trecerea mouse-ului - o pseudo-clasă planare(puteți citi despre asta

    Înainte de a ne ocupa de butoane, să ne uităm la setările care sunt comune tuturor.

    HTML

    Butoanele vor folosi cod HTML foarte simplu:

    Abonati-va

    css

    De asemenea, toate butoanele vor avea setări comune pentru textul inscripției și deselectarea linkurilor:

    ButtonText ( font: 18px/1.5 Helvetica, Arial, sans-serif; culoare: #fff; ) a ( culoare: #fff; text-decor: niciunul; )

    De obicei, utilizatorul se așteaptă la un efect destul de ușor atunci când trece mouse-ul peste un link sau un buton. Și în cazul nostru, butonul își schimbă dimensiunea - crește, afișând un mesaj suplimentar.

    Codul CSS principal

    Pentru început, trebuie doar să dăm butonului o formă și o culoare. Definiți o înălțime de 28 px și o lățime de 115 px, adăugați margini și umplutură și dați butonului un chenar ușor.

    #button1 ( fundal: #6292c2; chenar: 2px solid #eee; înălțime: 28px; lățime: 115px; margine: 50px 0 0 50px; umplutură: 0 0 0 7px; overflow: ascuns; afișare: bloc; )

    Efecte CSS3

    Unora le place când un buton simplu este însoțit de destul de mult cod CSS. ÎN aceasta sectiune oferă stiluri CSS3 suplimentare pentru butonul nostru. Te poți descurca fără ele, dar dau butonului un aspect mai modern.

    Rotunjiți colțurile cadrului și adăugați un gradient. Iată un mic truc cu gradient întunecat care funcționează cu orice culoare de fundal.

    /*Colțuri rotunjite*/ -webkit-border-radius: 15px; -moz-border-radius: 15px; chenar-rază: 15px; /*Gradient*/ imagine de fundal: -webkit-linear-gradient(sus, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.2)); imagine de fundal: -moz-linear-gradient(sus, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.2)); imagine de fundal: -o-linear-gradient(sus, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.2)); imagine de fundal: -ms-linear-gradient(sus, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.2)); imagine de fundal: gradient liniar(sus, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0,2));

    Animație CSS

    Acum să setăm tranziția CSS. Animația va fi folosită pentru orice modificare a proprietăților și va dura o jumătate de secundă.

    Plasarea mouse-ului

    Rămâne doar să adăugați un stil pentru a extinde butonul atunci când treceți cu mouse-ul peste el. Butonul trebuie să aibă o lățime de 230 de pixeli pentru a afișa întreaga postare.

    #button1:hover ( lățime: 230px; )

    Schimbare ușoară a tonului de culoare

    Un efect CSS foarte simplu și popular pentru un buton. Când deplasați cursorul mouse-ului se schimbă ușor tonul culorii de fundal.

    Codul CSS principal

    Codul CSS este foarte asemănător cu exemplul anterior. Se folosește o culoare de fundal diferită, iar forma este ușor modificată. De asemenea, textul este centrat și înălțimea liniei pentru buton este setată astfel încât să fie centrat vertical.

    #button2 ( fundal: #d11717; chenar: 2px solid #eee; înălțime: 38px; lățime: 125px; margine: 50px 0 0 50px; overflow: ascuns; afișare: bloc; text-align: center; line-height: 38px; )

    Efecte CSS3

    Setați rotunjirea colțurilor, gradientul pentru fundal și umbra suplimentară. Folosind rgba facem umbra neagră și transparentă.

    /*Colțuri rotunjite*/ -webkit-border-radius: 10px; -moz-border-radius: 10px; raza-chenar: 10px /*Gradient*/ imagine de fundal: -webkit-linear-gradient(sus, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.2)); imagine de fundal: -moz-linear-gradient(sus, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.2)); imagine de fundal: -o-linear-gradient(sus, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.2)); imagine de fundal: -ms-linear-gradient(sus, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.2)); imagine de fundal: gradient liniar(sus, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0,2)); /*Shadow*/ -webkit-box-shadow: 0px 3px 1px rgba(0, 0, 0, 0.2); -moz-box-shadow: 0px 3px 1px rgba(0, 0, 0, 0.2); box-shadow: 0px 3px 1px rgba(0, 0, 0, 0.2);

    Animație CSS

    Animația este practic aceeași cu exemplul anterior.

    /*Tranziție*/ -webkit-transition: Toate 0.5s ușurință; -moz-tranziție: Toate 0.5s ușurință; -o-tranziție: Toate 0.5s ușurință; -ms-transition: Toate 0.5s ușurință; tranziție: toate 0.5s ușurință;

    Plasarea mouse-ului

    Când treceți cursorul mouse-ului, va fi setată o culoare de fundal diferită. Încercați să alegeți o opțiune de culoare mai deschisă în Photoshop pentru un efect grozav.

    #button2:hover (culoare de fundal: #ff3434; )

    Acest efect poate fi destul de impresionant în funcție de alegerea imaginii de fundal. Demo-ul folosește un fundal nedescriptiv, iar efectul arată nedescriptiv. Încercați să utilizați o altă imagine și s-ar putea să obțineți un efect uimitor.

    Codul CSS principal

    Partea principală a codului este aceeași cu exemplele anterioare. Vă rugăm să rețineți că folosim imagine de fundal. Poziția inițială a fundalului este setată la „0 0”. Când treceți cu mouse-ul peste cursor, poziția se schimbă pe verticală.

    #button3 ( fundal: #d11717 url("bkg-1.jpg"); poziția fundal: 0 0; text-shadow: 0px 2px 0px rgba(0, 0, 0, 0.3); dimensiunea fontului: 22px; înălțime : 58px; lățime: 155px; margine: 50px 0 0 50px; overflow: ascuns; afișare: bloc; text-align: center; line-height: 58px; )

    Efecte CSS3

    În acest exemplu, nu există nimic special - colțuri rotunjite și umbre.

    /*Colțuri rotunjite*/ -webkit-border-radius: 5px; -moz-border-radius: 5px; raza-chenar: 5px /*Shadow*/ -webkit-box-shadow: 0px 3px 1px rgba(0, 0, 0, 0.2); -moz-box-shadow: 0px 3px 1px rgba(0, 0, 0, 0.2); box-shadow: 0px 3px 1px rgba(0, 0, 0, 0.2);

    Animație CSS

    Animația pentru acest caz este mai lungă pentru a crea un efect neted și interesant.

    /*Tranziție*/ -webkit-transition: Toate 0.8s ușurință; -moz-tranziție: Toate 0.8s ușurință; -o-tranziție: Toate 0.8s ușurință; -ms-transition: Toate 0.8s ușurință; tranziție: Toate 0.8s ușurință;

    Plasarea mouse-ului

    Acum este timpul să mutați imaginea de fundal. Poziția inițială a fost „0 0”. Setați al doilea parametru la 150px. Pentru a vă deplasa orizontal, trebuie să modificați primul parametru.

    #button3:hover (poziția de fundal: 0px 150px; )

    Apăsare de buton simulată 3D

    Ultimul exemplu din tutorialul nostru se concentrează pe metoda populară 3D de a simula un clic pe buton atunci când treceți cu mouse-ul peste acesta. Animația pentru acest caz este atât de simplă încât nici măcar nu necesită o tranziție CSS. Dar rezultatul final este destul de impresionant.

    Codul CSS principal

    Cod CSS pentru butonul nostru.

    #button4 ( fundal: #5c5c5c; text-shadow: 0px 2px 0px rgba(0, 0, 0, 0.3); font-size: 22px; înălțime: 58px; lățime: 155px; margine: 50px 0 0 50px; overflow: ascuns ; afișare: bloc; text-align: center; line-height: 58px; )

    Efecte CSS3

    În acest caz, CSS3 nu mai este o opțiune bună. Pentru a obține efectul, sunt necesare umbre și un gradient. Umbra dură creează aspectul unui buton 3D.

    /*Colțuri rotunjite*/ -webkit-border-radius: 5px; -moz-border-radius: 5px; raza-chenar: 5px /*Shadow*/ -webkit-box-shadow: 0px 6px 0px rgba(0, 0, 0, 0.8); -moz-box-shadow: 0px 6px 0px rgba(0, 0, 0, 0.8); box-shadow: 0px 6px 0px rgba(0, 0, 0, 0.8); /*Gradient*/ imagine de fundal: -webkit-linear-gradient(sus, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.2)); imagine de fundal: -moz-linear-gradient(sus, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.2)); imagine de fundal: -o-linear-gradient(sus, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.2)); imagine de fundal: -ms-linear-gradient(sus, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.2)); imagine de fundal: gradient liniar(sus, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0,2));

    Plasarea mouse-ului

    În acest caz, avem cea mai mare secțiune de hover. Lungimea umbrei este redusă, iar marginile creează o amestecare a zonei întunecate. Toate împreună creează iluzia apăsării unui buton. Întoarcerea gradientului îmbunătățește efectul.

    #button4:hover ( margin-top: 52px; /*Shadow*/ -webkit-box-shadow: 0px 4px 0px rgba(0, 0, 0, 0.8); -moz-box-shadow: 0px 4px 0px rgba(0) , 0, 0, 0,8); umbră casetă: 0px 4px 0px rgba(0, 0, 0, 0,8); /*Gradient*/ imagine de fundal: -webkit-linear-gradient(bottom, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.4)); imagine de fundal: -moz-linear-gradient(jos, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.4) )); imagine de fundal: -o-linear-gradient(jos, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.4)); imagine de fundal: -ms-linear-gradient( jos, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0,4)); imagine de fundal: gradient liniar (jos, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0,4)); )

    ) își schimbă de obicei aspectul (devine în focus). Cel mai adesea aceasta este o simplă schimbare a culorii sau adăugarea unui subliniat. Cursorul se transformă și într-o mână. În acest articol, vom arunca o privire mai atentă asupra modului de implementare frumos a modificărilor stilului link-ului la trecerea cursorului.

    Exemple cu schimbarea tipului de link la trecerea cursorului

    Exemplul 1: Cum să schimbați culoarea și să o subliniați la trecerea cursorului

    При наведении ссылка станет красной и подчеркнутой: ссылка

    Пример 2. Как изменить фон ссылки при наведении

    При наведении ссылка изменит фон на синий, а цвет ссылки станет белым: ссылка

    Преобразуется на странице в следующее:

    Пример 3. Как поменять курсор при наведении на ссылку

    По умолчанию у ссылок курсор при наведении имеет значение cursor :pointer . В следующем примере мы изменим его на другой.

    При наведении ссылка станет красной и подчеркнутой, а курсор станет в виде плюса: ссылка

    Преобразуется на странице в следующее:

    Пример 4. Сглаженное изменение стилей ссылки

    С помощью свойства transition мы сгладим скорость изменения фона и цвета ссылки.

    При наведении ссылка изменит фон на синий, а цвет ссылки станет белым, при этом все это будет сглажено: ссылка

    Преобразуется на странице в следующее:

    Пример 5. Красивое подчеркивание ссылки

    При наведении ссылка изменит цвет и появится необычное подчеркивание: ссылка

    Преобразуется на странице в следующее.