Autor | Zpráva | ||
---|---|---|---|
martin05 Profil * |
#1 · Zasláno: 18. 1. 2009, 02:54:04
HTML:
<div id="mainmenu1"> </div> <div id="mainmenu2"> </div> CSS: #mainmenu1 { background:url(../obrazky/menu_1.png) no-repeat; height:31px; position:relative; } #mainmenu2 { background:url(../obrazky/menu_2.png) no-repeat; height:31px; position:relative; } Zdravím. Má to byť menu. Toto sú dve položky menu, ktoré majú byť vedľa seba, ale sú pod sebou. Skúšal som aj float so všetkými možnými parametrami ale vtedy mi oba divy zmizli. A ešte by som potreboval aby bol každý z divov klikateľný odkaz, len do nich nechcem pridávať obsah. Obrázok na pozadí totiž už obsahuje aj názov položky menu, čiže to nechcem písať do divu. Za pomoc ďakujem. |
||
tiso Profil |
#2 · Zasláno: 18. 1. 2009, 03:42:56
martin05 - keď majú byť vedľa seba, tak im nastav width a float
|
||
martin05 Profil * |
#3 · Zasláno: 18. 1. 2009, 08:56:32
Vďaka za odpoveď, funguje to :) Len nastal taký problém, mám spravené horizontálne menu pod bannerom, lenže div, ktorý mal byť už pod ním je vedľa neho. Riešil som to tak, že som spravil ďalší div s transparentným pozadím a tam som float nedal. FF aj GoogleChrome to zobrazia dobre, len IE štrajkuje. Ten neviditeľný div mi hodil na ďalší riadok a celý obsah pod menu je tým pádom posunutý. Niesom až tak skúsený v oblasti CSS tak predpokladám, že moje riešenie bolo úplné zlé :)
|
||
panther Profil |
#4 · Zasláno: 18. 1. 2009, 09:06:44
martin05
a jak máme vědět, proč ti to štrajkuje, když neznáme tvůj kód? Nejlepší bude odkaz. |
||
martin05 Profil * |
#5 · Zasláno: 18. 1. 2009, 09:13:59
HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php echo $this->language; ?>" lang="<?php echo $this->language; ?>" dir="<?php echo $this->direction; ?>" > <?php // no direct access defined( '_JEXEC' ) or die( 'Restricted index access' ); define( 'YOURBASEPATH', dirname(__FILE__) ); ?> <head> <jdoc:include type="head" /> <link rel="stylesheet" href="templates/<?php echo $this->template ?>/css/template.css" type="text/css" /> <!--[if lte IE 6]> <link href="templates/<?php echo $this->template ?>/css/ie6only.css" rel="stylesheet" type="text/css" /> <![endif]--> <!--[if lte IE 7]> <link href="templates/<?php echo $this->template ?>/css/ie7only.css" rel="stylesheet" type="text/css" /> <![endif]--> <?php if($this->countModules('left and right') == 0) $contentwidth = "100"; if($this->countModules('left or right') == 1) $contentwidth = "80"; if($this->countModules('left and right') == 1) $contentwidth = "60"; ?> <?php if($this->get('template_width') == 0) { ?> <style type="text/css">#wrap {width:750px;!important}</style> <?php } ?> <?php if($this->get('template_width') == 1) { ?> <style type="text/css">#wrap {width:960px;!important}</style> <?php } ?> <?php if($this->get('template_width') == 2) { ?> <style type="text/css">#wrap {min-width:760px;max-width:960px;width:auto !important;width:960px;}</style> <?php } ?> </head> <body> <div id="wrap"> <?php if($this->countModules('left')) : ?> <div id="leftfauxcol"> <?php endif; ?> <?php if($this->countModules('right')) : ?> <div id="rightfauxcol"> <?php endif; ?> <div id="header"> <div class="inside"> <h1><?php echo $mainframe->getCfg('sitename');?></h1> <jdoc:include type="modules" name="user1" style="raw" /> </div> </div> <jdoc:include type="modules" name="user2" style="xhtml" /> <!--This is tab menu--> <div id="mainmenu1"> </div> <div id="mainmenu2"> </div> <div id="mainmenu3"> </div> <div id="mainmenu4"> </div> <div id="mainmenu5"> </div> <div id="mainmenu6"> </div> <div id="mainmenuend"> </div> <div id="wrap_top"> </div> <?php if($this->countModules('top')) : ?> <!--This is the teaser module--> <div id="top"> <div class="inside"> <jdoc:include type="modules" name="top" style="xhtml" /> </div> </div> <?php else : ?> <?php endif; ?> <?php if($this->countModules('left')) : ?> <div id="sidebar"> <div class="inside"> <jdoc:include type="modules" name="left" style="xhtml" /> </div> </div> <?php endif; ?> <div id="content<?php echo $contentwidth; ?>"> <div id="top"> </div> <div class="inside"> <div id="pathway"> <jdoc:include type="module" name="breadcrumbs" /> </div> <jdoc:include type="component" style="xhtml" /> </div> </div> <?php if($this->countModules('right')) : ?> <div id="sidebar-2"> <div class="inside"> <jdoc:include type="modules" name="right" style="xhtml" /> </div> </div> <?php endif; ?> <?php if($this->countModules('footer')) : ?> <div id="footer"> <div class="inside"> <jdoc:include type="modules" name="footer" style="raw" /> </div> </div> <?php endif; ?> <?php if($this->countModules('bottom')) : ?> <div id="bottom"> <div class="inside"> <jdoc:include type="modules" name="bottom" style="xhtml" /> </div> </div> <?php endif; ?> <?php if($this->countModules('left')) : ?> </div> <!--end of leftfauxcol--> <?php endif; ?> <?php if($this->countModules('right')) : ?> </div> <!--end of rightfauxcol--> <?php endif; ?> <div class="design"> <?php require(YOURBASEPATH .DS."/js/template.css.php"); ?> </div> </div> <!--end of wrap--> </body> </html> CSS: * { |
||
panther Profil |
#6 · Zasláno: 18. 1. 2009, 09:19:10 · Upravil/a: panther
|
||
martin05 Profil * |
#7 · Zasláno: 18. 1. 2009, 09:35:11
Vďaka, že ma to nenapadlo O:) Ešte by som sa chcel spýtať na to či sa dá spraviť z divu odkaz bez toho aby som do neho vkladal nejaký (viditeľný) obsah. Má to byť totiž menu, no každá položka je obrázok už aj s textom. Takže chcem aby na to užívateľ len klikol a presunulo ho to na príslušný odkaz.
<div id="mainmenu1"> </div> <div id="mainmenu2"> </div> <div id="mainmenu3"> </div> <div id="mainmenu4"> </div> <div id="mainmenu5"> </div> <div id="mainmenu6"> </div> <div id="mainmenuend"> </div> #mainmenu1 { background:url(../obrazky/menu_1.png) no-repeat; width:125px; height:31px; float:left; position:relative; } #mainmenu2 { background:url(../obrazky/menu_1.png) no-repeat; width:125px; height:31px; float:left; position:relative; } #mainmenu3 { background:url(../obrazky/menu_1.png) no-repeat; width:125px; height:31px; float:left; position:relative; } #mainmenu4 { background:url(../obrazky/menu_1.png) no-repeat; width:125px; height:31px; float:left; position:relative; } #mainmenu5 { background:url(../obrazky/menu_1.png) no-repeat; width:125px; height:31px; float:left; position:relative; } #mainmenu6 { background:url(../obrazky/menu_1.png) no-repeat; width:125px; height:31px; float:left; position:relative; } #mainmenuend { background:transparent; width:125px; height:31px; position:relative; } |
||
panther Profil |
#8 · Zasláno: 18. 1. 2009, 09:39:48
martin05
já bych jen rád podotkl, že se jedná o „menu“, tak nepoužívat na každou položku „div“,a le <menu> nebo <ul>, obojí s položkami <li> |
||
panther Profil |
#9 · Zasláno: 18. 1. 2009, 09:41:35
|
||
martin05 Profil * |
#10 · Zasláno: 19. 1. 2009, 13:45:09
Vďaka, ten posledný odkaz mi pomohol. Mám ale teraz ďalší problém. Každá položka menu má okolo seba voľné miesto. prikladám obrázok. To dolné menu je menu spravené cez divy. tak by malo vyzerať aj to horné. [img]http://dc45.file.qip.ru/download/72228261/af8755de/menupomoc.jpg?tsid=20090119-154011-491b7fe7[/img]
HTML: <ul class="menu"> <li class="item"><a href="#"></a></li> <li class="item"><a href="#"></a></li> <li class="item"><a href="#"></a></li> <li class="item"><a href="#"></a></li> <li class="item"><a href="#"></a></li> <li class="item"><a href="#"></a></li> <li class="cl"></li> </ul> CSS: ul, li { margin: 0; padding: 0; } .cl { clear: both; } ul.menu { font-size: 15px; font-family: sans-serif; } ul.menu li { list-style-type: none; } ul.menu li.item { float: left; width: 125px; height: 31px; margin-right: 0px; margin-bottom: 0px; } ul.menu li.item a { display: block; width: 125px; height: 31px; line-height: auto; /* svisle centrovani */ text-align: center; /* vodorovne centrovani */ background:url(../obrazky/menu_1.png); color: #333; font-weight: bold; text-decoration: none; font-style: italic; } ul.menu li.item a:hover { background-image: url('81-2.jpg '); color: black; border-color: #000; } |
||
martin05 Profil * |
#11 · Zasláno: 19. 1. 2009, 13:52:44
Tak už som našiel chybu. Bolo to v inej časti CSS. Tak vďaka za pomoc :)
|
||
martin05 Profil * |
#12 · Zasláno: 19. 1. 2009, 13:59:36
A tak predsalen by som ešte niečo poterboval. Ako dosiahnem aby mala každá položka menu iný obrázok pozadia?
|
||
imploder Profil |
#13 · Zasláno: 19. 1. 2009, 14:03:05
martin05
„Ako dosiahnem aby mala každá položka menu iný obrázok pozadia?“ Dáš každé položce style="background:url('../obrazky/pozadipolozky.png')" |
||
martin05 Profil * |
#14 · Zasláno: 19. 1. 2009, 21:32:05
Ak si to myslel takto, tak to nefunguje:
<ul class="menu"> <style="background:url('../obrazky/menu2.png')"> <li class="item"><a href="#"></a></li></style> <li class="cl"></li> </ul> |
||
Bubák Profil |
#15 · Zasláno: 19. 1. 2009, 21:57:17 · Upravil/a: Bubák
Normálně nemusíš dávat každé položce menu třídu, zaměříš je kontextem:
.menu li {tvoje deklarace} .menu cl {tvoje deklarace} line-height: auto; Taková hodnota pro line-height neexistuje, ani prohlížeče ji neznají, jde použít: normal | <number> | <length> | <percentage> | inherit Ty ale chceš pro každou položku jiné pozadí, použij třídy (nebo ID), nějak takto: CSS: .menu a { display: block; width: 125px; height: 31px; line-height: 31px; /* svisle centrovani */ text-align: center; /* vodorovne centrovani */ color: #333; font-weight: bold; text-decoration: none; font-style: italic; } .menu item1 a { background: gray url(../obrazky/menu_1.png); } .menu item1 a:hover { background: silver url(../obrazky/menu-hover_1.png); } .menu item2 a { background: gray url(../obrazky/menu_2.png); } .menu item2 a:hover { background: silver url(../obrazky/menu-hover_2.png); } HTML: <ul class="menu"> <li class="item1"><a href="#"></a></li> <li class="item2"><a href="#"></a></li> |
||
SwimX Profil |
#16 · Zasláno: 19. 1. 2009, 22:03:52
martin05
„Ak si to myslel takto, tak to nefunguje:“ ne. Myslel toto: <ul class="menu"> <li class="item" style="background:url('../obrazky/menu2.png')"><a href="#"></a></li></style> <li class="cl" style="background:url('../obrazky/menu3.png')"></li> </ul> Nebo čistší zápis je to co napsal Bubák |
||
Bubák Profil |
#17 · Zasláno: 19. 1. 2009, 22:26:32
Jejen že to je čistší, ale do přímého stylu nejde zapsat hover, to by byla u menu podstatná vada na kráse.
|
||
martin05 Profil * |
#18 · Zasláno: 19. 1. 2009, 23:44:14
Díky, Bubák, funguje to, len som to ešte upravil. Dávam tu kód, niekomu sa to možno zíde. Ale mám ešte jeden problém a to s IE. FF aj Google Chrome mi to zobrazujú korektne ale IE spraví takéto "schodíky": OBRÁZOK
CSS: ul, li { margin: 0; padding: 0; } .cl { clear: both; } ul.menu { font-size: 15px; font-family: sans-serif; } ul.menu li { list-style-type: none; } ul.menu li.item { float: left; width: 125px; height: 31px; margin-right: 0px; margin-bottom: 0px; } ul.menu li.item a { display: block; width: 125px; height: 31px; line-height: normal; /* svisle centrovani */ text-align: center; /* vodorovne centrovani */ background:gray; color: #333; font-weight: bold; text-decoration: none; font-style: italic; } ul.menu li.item1 a { background: url(../obrazky/menu1.png); display: block; width: 125px; height: 31px; float:left; } ul.menu li.item1 a:hover { background: silver url(../obrazky/menu-hover1.png); display: block; width: 125px; height: 31px; } ul.menu li.item2 a { background: url(../obrazky/menu2.png); display: block; width: 125px; height: 31px; float:left; } ul.menu li.item2 a:hover { background: silver url(../obrazky/menu-hover2.png); display: block; width: 125px; height: 31px; } ul.menu li.item3 a { background: url(../obrazky/menu3.png); display: block; width: 125px; height: 31px; float:left; } ul.menu li.item3 a:hover { background: silver url(../obrazky/menu-hover3.png); display: block; width: 125px; height: 31px; } ul.menu li.item4 a { background: url(../obrazky/menu4.png); display: block; width: 125px; height: 31px; float:left; } ul.menu li.item4 a:hover { background: silver url(../obrazky/menu-hover4.png); display: block; width: 125px; height: 31px; } ul.menu li.item5 a { background: url(../obrazky/menu5.png); display: block; width: 125px; height: 31px; float:left; } ul.menu li.item5 a:hover { background: silver url(../obrazky/menu-hover5.png); display: block; width: 125px; height: 31px; } ul.menu li.item6 a { background: url(../obrazky/menu6.png); display: block; width: 125px; height: 31px; float:left; } ul.menu li.item6 a:hover { background: silver url(../obrazky/menu-hover6.png); display: block; width: 125px; height: 31px; } ul.menu li.item a:hover { background-image: url(../obrazky/menu1.png); color: black; border-color: #000; } |
||
martin05 Profil * |
#19 · Zasláno: 20. 1. 2009, 00:04:02
Tak aj to vyriešené. treba do CSS pridať:
ul.menu li.item1, li.item2, li.item3, li.item4, li.item5, li.item6 { float: left; width: 125px; height: 31px; margin-right: 0px; margin-bottom: 0px; } |
||
Rreall Profil * |
#20 · Zasláno: 20. 1. 2009, 20:15:00
nechtel by my nekdo poslat htm a css na menu pls na icq 231 382 329 nbebo na mila krovak2@email.cz
|
||
panther Profil |
#21 · Zasláno: 20. 1. 2009, 20:24:55
Rreall
„nechtel by my nekdo poslat htm a css na menu pls na icq 231 382 329 nbebo na mila krovak2@email.cz“ nechtěl. |
||
Bubák Profil |
#22 · Zasláno: 20. 1. 2009, 23:54:54 · Upravil/a: Bubák
Rreall
Plevelíš cizí vlákno, a protože nemáš CSS, ale kulové, tak tvůj dotaz příště dej do "Práce a zakázky". Najdi si menu třeba tady: http://css.interval.cz/menu/ nebo tady: http://teststranek.kvalitne.cz/ Dodatek: odkdy jsou v mailové adrese dovolené mezery? |
||
Časová prodleva: 15 let
|
0