jan
13
Írta: Tupacko, 2008-01-13, ((X)HTML, CSS, Design)

Nem 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 span elem háttere Az a elem háttere

Az aktív span elem háttere Az aktív a elem háttere

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 */
}

példa gomb

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?

Ezek az ikonok ún. közösségi könyvjelző oldalakra mutatnak, ahol meg lehet osztani másokkal is amit fontosnak találsz.
  • Book.mark.hu
  • blogtercimlap
  • Linkter
  • Digg
  • del.icio.us
  • NewsVine
  • Furl
  • blogmarks
  • Reddit
  • Spurl
  • Technorati
  • YahooMyWeb
(1 szavazat)
Loading ... Loading ...



Hozzaszólások:
3 hozzaszólás a "Dinamikus gomb készítése CSSt használva" bejegyzéshez.
DeX, weboldala, 2008. január 14., 23:53

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?


Tupacko, weboldala, 2008. január 15., 00:08

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.


[Wordpress menü SPAN hack], weboldala, 2008. január 15., 21:45

… a WordPress által kilistázott oldalakat/kategóriákat formázom menüként …


Szólj hozza!

Név: 
Email: 
Weboldal *
Hozzaszólás: 
*Nem kötelező megadni, ha nincs weboldalad, akkor hagyd üresen!