Valóban így van, ez sajnos egy CSS hiba … bármely más linknél is fennáll az említett gond. Jó az észrevétel! Ha gondlod egy orvoslás az, ha nem az active modosítót használod, hanem a hover-t. Így viszont változik a gomb hatás élmény.
Dinamikus gomb készítése CSSt használva
Írta: Tupacko | 2008. január 13. | kategóriák: (X)HTML, CSS, DesignNem számít egy nagyon új dolognak a CSS segítségével megvalósított gomb, viszont a dinamikus szélességgel bíró gomb igenis új távlatokat nyit a weblapkészítésben. A következő leírásban egy ilyen szerű gomb elkészítéséről lesz szó. Először elmondanám, hogyan is működik a gomb, milyen elmélet alapján, majd a szükséges kódot is közzéteszem.
Az ötlet az, hogy ne legyen egy statikus háttér, amiről lefuthat a szöveg, ha éppen hosszabb, mint a kép maga. Persze ezt elméletben ne lehet tökéletesen kiküszöbölni, még szerencse, hogy a gyakorlati világban élünk. A háttér dinamikus szélességét annak köszönhetjük, hogy a linkekbe nem a szöveget helyezzük, ahnem egy span elemet, ami tartalmazza a szöveget, így valójában két hátterünk van: egy nyitó, ami nyulni is fog, ahogy a szöveg egyre hosszabb (persze csak egy pontig, de mivel mi határozzuk meg, nem okoz gondot) és egy záró háttér, amely lezárja az első háttér végét, így egységes megjelenést biztosít.
<a href="#" class="gomb"><span>a link cime</span></a>
A következő képekre lesz szükség a bemutatott példához:


A linket a következő CSS kód formázza gombszerűvé:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | a.gomb { background: transparent url('normal-a-bg.gif') no-repeat top right; color: #444; display: block; float: left; font: normal 12px arial, sans-serif; height: 24px; margin-right: 6px; padding-right: 18px; /* a masik hatter tolasa */ text-decoration: none; } a.gomb span { background: transparent url('normal-span-bg.gif') no-repeat top left; display: block; line-height: 14px; padding: 5px 0 5px 18px; } a.gomb:active { background: transparent url('aktiv-a-bg.gif') no-repeat top right; color: #000; outline: none; /* Firefox fix */ } a.gomb:active span { background: transparent url('aktiv-span-bg.gif') no-repeat top left; padding: 6px 0 4px 18px; /* eltolja a szoveget */ } |
Gondlom elég érthető, hogyan működik
Ezen kivül több módszer is létezik, de talán ez a legegyszerübb: minek komplikálni a dolgokat, ha egy a végeredmény?
Nemtudom. Nekem valamiért nemakar működni :S Megcsináltam amit írtatok de sajnos a linket mármint az írást rá félrehúzza. :S
Nemtudtok valami jó kis scriptet a honlapomhoz ami ilyen híreket mutat ki? Mert a honlapomat ma terveztem meg és kéne rá hír cucc
És nem akarok mindig szerkeszteni stb.. Ha van szóljatok
Szia!
Nagyon tetszik a kódod, viszont egy teljesen triviális dologgal nem boldogulok, mégpedig a középre rendezéssel. Ha azt szeretném, hogy a gomb egy doboz közepén legyen, egyszerűen nem teszi oda.
Próbáltam így:
BŐVEBBEN
Meg -rel is.
Mit javasolsz?
Előre is köszi!
<div align="center"> <a href="#" class="gomb"><span>BŐVEBBEN</span></a> </div>
meg így is:
<div style="text-align:center;">
Köszönöm a gyors választ! Nos clear nélkül is működik, csak mégegy dobozba kell tenni fix szélességgel (ahogy írtad). Így csináltam:
<div align="center"><div style="width:80px;"><a href="#" class="gomb"><span>BŐVEBBEN</span></a></div></div>
ui.: Azért ha van tipped a fix paraméter elhagyására az jó lenne, mert akkor továbbra is lehetne dinamikus gombként használni!
Köszönöm mégegyszer!
Szerintem nem nagyon gond a beragadt gomb.Az a legkevesebb.Hiszen nem ezt nézik a felhasználók hanem várják hogy a következő lap bejöjjön.Már ha van persze.
Igen, ez valóban szép megoldás. És sokkal jobb, mintha JavaScriptet használnánk, mert gyorsabb és egyszerűbb is. És persze már a betöltéskor jól néz ki.






Köszi szépen!
Viszont észrevettem valamit:
Ha a gombon nyomvatartod az egeret, majd lehúzod róla, és ott engeded el, akkor beragad a lenyomott állás?
Ez javítható valahogy?