Keresés Kategóriák Kedvencek

HTML menü készítése CSS segítségével

Készítette: cyrexone
2010. június 30. 16:59:28 - 26335 megtekintés
  • Egyszerű menükészítés HTML+CSS-ben. Az egyes menüpontok háttérszíne megváltozik ha az egérmutatót a menüpont fölé mozgatjuk. A legjobb megoldás a rollover effekt készítésére JavaScript használata nélkül.
  • Amire szükségünk van

    számítógép
  • Címkék:

    css html rollover weblap honlap
Blade2 - 14 éve, 2 hónapja

Megoldottam egy "kis" csalással. Sokkal több munka lesz szerkeszteni, de legalább középre került.
A menu div-et betettem egy keret div-be, ami 859pixel, a menu divet pedig lecsökkentettem a menü tényleges méretére ( 549px), és rátettem a margin-t. Annyi a hátránya, hogy ha bővül a menü, akkor mindig ki kell kísérletezni, hogy a menu div-nek mennyi a szélessége, ahol még nem növeli meg két sorra. Ha pedig megkezdem a második sornyi menüt, akkor külön kell egy 2. div amiben a 2.sor van, hogy azt is középre hozzam, mert a 2. sor megint balról kezd. Ráadásul ezt a menüt a html lapok hívják meg amolyan fejlécnek, így mikor összejön a 2. 3. sor, minden html elejét át kell írni.

cyrexone - 14 éve, 2 hónapja

Ha fellövöd nekem valahova ahol látom a forrást, megnézem, fejben nem teljesen tudom összerakni

Blade2 - 14 éve, 2 hónapja

Ezt használom a teljes lapnál. Van egy body a háttérnek, és a lap div ami az egész weboldal egy 1024x576pixeles margin 5px auto 5px auto. ebben van egy fejléc egy menü és egy tartalom majd egy lábléc div. A menüből a link include-olja a html és php lapokat a tartalom div-be. Az egyik ilyen lapra csináltam 3 dobozt a "Lekerekített doboz létrehozása HTML és CSS segítségével" videód alapján (abból is az elsőt használom, ami IE alatt nem kerekít ). Ezeket kellene középre tenni, de az auto margin nem csinál vele semmit. Az van neki megadva, hogy margin: 0px 34px 0px 34px; Csak ez mindhárom dobozra érvényes, 209px széles 4px-es borderrel, így még elfér a 3 doboz egy sorban, de a dobozok között ugye 2x akkora a hely, mint a bal szélén, jobb oldalt padig pár pixelel szélesebb, mint a bal. Nem sokkal, azt hiszem 4 pixel maradt le. A másik lapon ugyanez van a menünél.

cyrexone - 14 éve, 2 hónapja

A div-nek fix szélességet kell adni, és rá kell írni: margin-left: auto és margi-right: auto
Ekkor fog középre kerülni. Függőleges középre igazítás nincs a block level elemeknél, ezt a padding és line-height elemekkel szokták kitrükközni, meg negatív marginokkal, de elég körülményes és értelmetlen dolog.

A menü szélessége attól nyúlhat meg, hogy border kerül rá a hover-nél, vagy a padding értéke más amikor fölé mozog az egér. Nem jó, ha változik a mérete, az alapra is kell border, vagy pedig le kell venni a hoverről.

Blade2 - 14 éve, 2 hónapja

Egy ilyen, vagy ehhez hasonló menüt hogy lehet középre zárni? Lehet, hogy nem lényeges, de a menü szélessége az kurzor gomb fölé tartásával megnő egy kicsit, kivéve az utolsó gomb, mert azzal csökken. Így alapból baloldalt van, és jobbra nyúlik. Azt szeretném, hogy középen legyen, és abban reménykedem, hogy akkor mindkét irányba nyúlik majd az egér gomb fölé tartásától. Álló helyzetben is jobb lenne középen. A menü egy div-ben van. // A másik, hogy egy div-en belül van 3 div, és ezekben még fejenként egy-egy div. Lényegében olyan mint 3db kártya. Hogy tudom ezt középre zárni?