« 1 2 »
Autor Zpráva
Jcas
Profil *
Prosím pomozte mi. Potřebuji napozicovat "menu" "seznam".

Problém - nastylovaní pro všechny prohlížeče. Vím jak jednoduše to vyřešit pro 1 prohl., ale nevím jak to udělat správně "univerzálně"

Už s tím bojuji 14 dnů, ale protože neznám souvislosti, nevím si rady. Články sice popíšou vlastnost, ale nepoví, jaké to bude mít souvislosti.

Už jsem dostal radu, pozadí rozřezat, ale to mi připadá mnohem těžší (zkoušel jsem), aby to pozadí bylo opravdu hezké.
Takže pouze potřebuji napozicovat seznam - podseznam.

----------------------------------------------------------------

Používám "border", abych viděl, jak je vlastně prvek umístěn.
A už tady je problém, protože rámeček je v každém prohlížeči jinde. Jak mám potom přesně umístit text?

Už jsem přišel na to, že Aby horní okraj prvku byl tam kde horní okraj nadřazeného prvku, musím u podprvku požít "margin-top: 0" a "display: inline" u nadprvku.

Ovšem aby i boční okraje byly na stejném místě? (IE je stále odsunut cca o 5px doprava)
viz. www.zocschmoravskebranice2.websnadno.cz/adresa/bitmap.png

---------------------------------------------------------------------------------------------------------

Strašně bráním hackum, nebo více css, pro různé prohl.
Chci to univerzální na dlouhou dobu.
Co z toho, že např použiju "_padding……", když už máme IE7 a za chvílu bude IE8……..

ukázka: www.zocschmoravskebranice2.websnadno.cz/adresa/oblastni_vybor.html

Takže - potřebuji aby odkazy byly stejně uprostřed králíkáren a podseznam opět stejný pro všechny.
děkuji
Jcas
Profil *
prosím, jak napozicovat seznam tak, aby vypadal všude stejně
Jcas
Profil *
Tak jsem to jaksi taksi vyladil pro IE a FIR, ovšem prozměnu to zase vůbec nesedí v Opeře.
To prostě není možný.
Můžete doporučit nějaký článek, který se opravdu dobře věnuje tomu, jak pozicovat neutrálně?
Petr ZZZ
Profil
Jcas:

Nakopávat vlákno zbytečnými příspěvky v hodinovém taktu tady není dvakrát v oblibě. Navíc se vyřadíš z rubriky Témata bez reakcí, jakož vůbec klesá šance, že to někdo bude číst, když je v přehledu vláken vidět, že už jsi "dostal" dvě odpovědi.



Ten nápad s dvířky od kotců je bezva, ale obávám se, že nakódovat něco takového nepatří k základním cvičením. Zkus se když tak podívat do klávesové mapy na odkazy pod heslem ladění CSS.

Pokud se chceš inspirovat, jak se dá nařezat a následně nakódovat layout, můžeš zkusit tento postup:

1. vymazat všechno z keše prohlížeče
2. navštívit jen jednu dobře udělanou stránku, např. salon-biolage.cz
3. podívat se, jaké teď máš v keši obrázky a porovnávat je s layoutem navštívené stránky. Uvidíš, kde se jaký obrázek opakuje, případně jak je pozicovaný, z kolika a jakých obrázků je poskládané něco, co vypadá jako obrázek jediný, jak úzký může být proužek, který stačí zvětšit až v kódu atd.

Vyprázdnit předtím keš a navštívit poté jen jednu stránku slouží přehlednosti. Pokud jsi navštívil více stránek, měl bys tam toho tolik, že se v tom nezorientuješ. Máš-li strach, abys nevymazal něco důležitého, můžeš místo mazání upravit pořadí souborů v keši podle internetových adres a poté si zkopírovat obrázky jen z té jedné adresy do nějaké jiné, dosud prázdné složky. Pak je máš pohromadě a můžeš studovat.
panther
Profil
Jcas:
Už jsem dostal radu, pozadí rozřezat, ale to mi připadá mnohem těžší (zkoušel jsem), aby to pozadí bylo opravdu hezké.
dostal jsi radu a byla dobrá. Byla, tuším, ode mě :-)

Co z toho, že např použiju "_padding......", když už máme IE7 a za chvílu bude IE8
máme IE6-IE8 a za chvíli bude IE9.

prosím, jak napozicovat seznam tak, aby vypadal všude stejně
nepozicovat a řídit se dle toho, co jsem napsal už jednou. Aby to bylo srozumitelnější, psal jsem tam i kousek inkriminovaného kódu. Proč se mu bráníš?

Můžete doporučit nějaký článek, který se opravdu dobře věnuje tomu, jak pozicovat neutrálně?
co to znamená „neutrálně“? Ono pozicování je mocná zbraň, ale ne na stavbu layoutu a už vůbec ne stavbu layoutu začátečníkem. Je to jen zařitý omyl, že je to jednodušší (pro jeden konkrétní prohlížeč a monitor možná ano, obecně to ale neplatí).

Mám dobrou náladu, udělal jsem ti tedy krátkou ukázku, jak by to zhruba mohlo vypadat s rozřezanými obrázky (nařež si to sám a pořádně, je to jen od oka). Je tam udělaný hover stejný jako aktivní položka (tak jsem to pochopil aspoň z náčrtu), poslední položka má akorát třídu "last", může jich tedy být různě (není to fixované na pevný počet, jak jsi to měl ty). Je tam použita vlastnost display: table-cell, která není podporována IE <= 7, proto to doháním tím hackem. Teoreticky by tam tato vlastnost být nemusela a mohl být padding pro všechny prohlížeče, naznačil jsem ti další možné varianty.

První a druhou položku budeš muset ještě odlišit a dát tam na pozadí jiný kotec (u prvního je noha slepice, u obou potom jiné pozadí vlevo), to už zvládneš.

Petr ZZZ:
Ten nápad s dvířky od kotců je bezva, ale obávám se, že nakódovat něco takového nepatří k základním cvičením.
jsou horší věci, se kterými se musí kodér potýkat, chce to nápad. Už jsem ho jednou naznačoval, evidentně bez úspěchu :-)
Petr ZZZ
Profil
Velda:

Předpokládám, že máš na mysli diskusi Video v pozadí stránky. Netvrdím, že panther nemohl formulovat jednoznačněji, ale o IE9 se nezmiňoval. Myslím, že by ti o něco zdrženlivější vystupování mohlo slušet.
Jcas
Profil *
Jo je pravda, to nařezané jde pěkně naskládat. Ovšem nevyřeším si dvířka (leda javascript měnit obr. u dalšího <li>

Asi to vzdávám - co z toho, že mám v hlavě krásný (skoro originál) vzhled, když to nedokážu aplikovat.

www.zocschmoravskebranice2.websnadno.cz/adresa/pokus.html
panther
Profil
Jcas:
Ovšem nevyřeším si dvířka (leda javascript měnit obr. u dalšího <li>
kde máš na obrázku otevřená dvířka? Jestli u první položky v levém sloupci, tak to jsem ti tam ukázal taky. Nebo máš dvířka někde schovaná?

co z toho, že mám v hlavě krásný (skoro originál) vzhled, když to nedokážu aplikovat.
Pokud ti nestačí náznak, který jsem ti udělal, tak si třeba zaplatit kodéra, který web nakóduje pořádně :-)
Jcas
Profil *
Na tvé ukázce se neotevřou, ale zmizí
panther
Profil
Jcas:
Na tvé ukázce se neotevřou, ale zmizí
tak znovu. Kde jsou otevřené? Nikde jsem je nenašel, nevím, jak mají vypadat. Vycházel jsem z obrázků, které jsem měl k dispozici, které jsi nám ukázal.

Nicméně, princip je stejný, změní se obrázek u ul#left li a:hover.
Jcas
Profil *
Já nechápu, jakto že je nevidíš. Problém je, že když kreslíš otevřené dveře, tak dostanou úhel 45 stup. a začnou přesahovat do dašího kotce. takže nestačí vyměnit pozadí pouze jednoho kotce, ale musíš vyměnit pozadí i spodního kotce.

Ale to není to hlavní. Jestli teda ještě můžu porosit. Jak odsadit podmenu, tak aby ho všechny prohlížeče odsadili stejně = budou nakraji sloupce. Když jsou moc daleko, tak do nich nepředeš myší, protože se ztratí "hover" a zase nechci, aby sahali do kotců.

Tedy levý okraj podmenu navazuje na pravý okraj menu.

Jinak mockrát děkuji za rady
panther
Profil
Jcas:
Já nechápu, jakto že je nevidíš.
já myslel, že máš nahoře na kotci nějaký vzor :-). A ejhle, to jsou dvířka. Moc reálně nevypadají, IMHO jsi zvolil špatný úhel.
Jcas
Profil *
Takže na rozřezanej obrázek kašlu.
Jediný co hover udělá bude, že zobrazí podmenu. Udělám si 10 obrázků, pokaždé s jiným otevřeným kotcem a každá stránka bude mít svůj obr. na pozadí.

Stále trvá problém vyladit to univerzálně.

Hlavní menu už mám napozicováno (umístěno, bez pozicování) na střed kotců. Toto je už dobrý asi všude.

Problém 1 - hover. IE6 registruje hover pouze čistě na text (obsah tagy a), ale ne na celý prvek. Nelze přejed s myší do podmenu, protože se hover ztratí.
Vyřešilo =display: inline ale rozdrbalo se mi umístění podmenu.
Může být v jedné třídě top: -100px; =top: 10px; ?
Pomohlo, ale úplně stejný problém má i IE7 a ten by prý už měl umět teble-cell.

Problém 2
Stále se mi nedaří, aby podmenu bylo umístěno pokaždé na stejném místě.

Můžete mi to prosím doladit, abych měl konečně css pro nové str. hotové.

www.zocschmoravskebranice2.websnadno.cz/adresa/Oblastni_vybor.html
Petr ZZZ
Profil
Jcas:
Když si dvířka namaluješ trošku jinak a otevřená nebudou zasahovat do sousedních kotců, bude ti na všechny kotce stačit jediný malinký obrázek jednoho kotce, kdy levá polovina obrázku bude kotec otevřený a pravá polovina obrázku bude kotec zavřený. Vidět bude vždy jen jedna polovina obrázku. Ten dáš na pozadí menu a pomocí CSS jím pak už jen posouváš. Pro pochopení principu se podívej na bubákův příklad.

Dodatek 1: Budeš potřebovat obrázky dva, jeden na levý a druhý na pravý sloupec menu.

Dodatek 2: Momentální rozmístění kotců popírá zákony perspektivy. Měl bys oba sloupce přehodit (levý sloupec králíkáren doprava a vice versa).
Jcas
Profil *
Jste hodní, že mi radíte, ale proč mi pořád doporučujete ten obrázek rozřezat.
Když se podíváš na ten poslední odkaz v mozile, tak je to přesně dle mých představ a opravdu se mi to tak líbí (ještě detaily-barvy).
Jestli tohle prostě nejde vyladit i pro ostatní prohl, tak bych to rozřezal, ale já mám pocit, že to chce jen detail, o kterým neví a bude pro všechny OK.
panther
Profil
Jcas:
ale proč mi pořád doporučujete ten obrázek rozřezat.
protože se to tak normálně dělá :-) To, že se tím řídit nechceš, je věc druhá. Je to přeci jen tvůj web.

Když se podíváš na ten poslední odkaz v mozile, tak je to přesně dle mých představ
podle mě je stejný jako předtím. Změnilo se něco, co nevidím?
Jcas
Profil *
Řekněte mi prosím, proč se to tak dělá. Co je tam za souvislost, kterou je lepší dodržovat (český článek- proč stylovat menu tak a ne takto)

Nejde o to že se mi nechce. Tento css jsem udělal za 4 hodiny a chybí detail.
Metodě s nařezaným obrázkem jsem věnoval už asi 40 hod a nedostal jsem se ani do poloviny.
panther
Profil
Jcas:
Řekněte mi prosím, proč se to tak dělá.
když budeš do budoucna chtít přidat/odebrat položku, budeš překreslovat všechny obrázky? Jednodušší je přidat jen <li> do HTML.
Další věc je datová velikost obrázku. Velký obrázek (se 4 kotci) je mnohem větší než malý obrázek (s jedním kotcem).

Metodě s nařezaným obrázkem jsem věnoval už asi 40 hod a nedostal jsem se ani do poloviny.
nj, začátky jsou kruté. To platí u všeho, u kódování též :-)
Petr ZZZ
Profil
Jcas:
proč mi pořád doporučujete ten obrázek rozřezat

Tvůj obrázek má 105 kB a pokud tě chápu správně, tak chceš na každou položku menu zhotovit vlastní obrázek. Momentálně má menu 10 položek, to by bylo 10 obrázků krát 105, to už máme 1,05 MB a to je prostě neúnosně mnoho, protože při každém kliknutí na položku v menu by se načítal stokilový obrázek. Když uděláš obrázek a kód podle odkázaného bubákova příkladu, ušetříš na obrázku víc než 1 MB, protože ti na to budou stačit dva obrázky, jejichž velikost si troufnu odhadnout na nějakých směšných 10 až 20 kB (možná i pod 10 kB).
Jcas
Profil *
Tak fajn, děkuju. Prostě to nařežu i když mě mrzí, že musím odstranit ty dvířka. Zkoušel jsem změnit jejich úhel a je to prostě hnusný.

Proč IE registruje hover pouze na textu a ne na celým prvku?
Jak zajistit, aby bylo podmenu !! u všech prohl. !!! přesně vedle obr.?
panther
Profil
Jcas:
Proč IE registruje hover pouze na textu a ne na celým prvku?
protože není odkaz blokový.

Jak zajistit, aby bylo podmenu !! u všech prohl. !!! přesně vedle obr.?
nač tučný text a tolik otazníků? Submenu se dá ukočírovat marginem, paddingem. Nevím, kde přesně si jej představuješ, těžko radit. Máme pořád odkaz na ukázku (ten je správně), ale jen ty víš, jak to má ve finále vypadat.
Petr ZZZ
Profil
Jcas:
Metodě s nařezaným obrázkem jsem věnoval už asi 40 hod

Ulož si Bubákův kód jako stránku html a experimentuj s tímto souborem. Vyměň Bubákův obrázek za vlastní, podívej se na výšky (height) a šířky (width) prvků definovaných v CSS atd. Čti si jeho kód a jakmile narazíš na výraz, který ti nic neříká, vyhledej si ten výraz na JPW a čti. A připrav se na to, že jestli se pokoušíš kódovat týden, tak ještě pár týdnů budeš potřebovat, než do problematiky alespoň trochu pronikneš. Je možné, že profík by byl schopen tvůj design nakódovat do hodiny nebo za pár hodin (nepočítám výrobu obrázku). Ale musíš si uvědomit, že ten profík má za sebou dlouholeté studium a zkušenosti. A především používá jiné postupy, takže není schopen tvůj kód "mírně upravit" a bude to šlapat. Profík to nakóduje zgruntu jinak, ale to už je do sekce Práce a zakázky. Alternativa je zamyslet se nad radami, které zde dostaneš, a naučit se to. Na ty dva, vlastně tři sloupce (dva na dvě menu a jeden prostřední na vlastní obsah) doporučuji nastudovat obtékání.
Bubák
Profil
Jcas:
Protože co chvíli měníš CSS a možná i HTML, což pozám jen podle toho, že stránka je co chvíli jinak rozpadlá, tak budu jen hádat.

Proč IE registruje hover pouze na textu a ne na celým prvku?
Tipnul bych si, že jsu odkaz deklaroval jako table-cell, což umí až IE8.

Petr ZZZ:
Moje příklady jsou jen pro jednořádkové položky menu. Bude nutné najít řešení, jak vycentrovat text vertikálne (snadné) a horizontálně (to je ten zakopaný pes), které bude funkční napříč prohlížeči. Co jsem četl, jeden pokus už tu byl, nevím, proč se nedotáhnul do konce, nechce se mi číst celé vlákno.
Petr ZZZ
Profil
Bubák:
Bude nutné najít řešení, jak vycentrovat text vertikálně (snadné) a horizontálně (to je ten zakopaný pes), které bude funkční napříč prohlížeči.

Pokusil jsem se Tvůj příklad upravit (nelekni se, je to německy a mimo jiných úprav jsem přidal <border> a v horním příkladu <br>). Jakés takés řešení vertikálního "vycentrování" (nebo spíše obejití problému) bych viděl v tom, že prostě řeknu, že pokud je položka menu krátké slovo, bude v horní části kastlíku a pokud je to delší výraz, bude uprostřed. Přijatelného vzhledu (tj. aby to nebylo úplně nalepené nahoře) lze potom dosáhnout dostatečnou výškou kastlíku a připsáním <br> před položku menu. Dobře je to vidět v IE při střední velikosti písma. Zvětší-li se písmo v IE, je víceřádkový text přilepený na spodním okraji, takže by bylo potřeba udělat tu výšku (v příkladu 170px) ještě o trochu větší (a taky obrázek asi bude nutno mít vyšší). Nebudou-li se položky menu v délce textu příliš lišit, tento problém více méně odpadá. Pro ilustraci jsem přidal ještě jeden příklad, ve kterém je výška položek menu jen 50 místo 170 pixelů.

Jcas:
Řekl bych, že z mé úpravy bys měl být schopen vykutat to, co potřebuješ. V podstatě potřebuješ jen jiný obrázek a pohrát si trochu s výškou, která je v horním příkladu zadaná jako 170 px. Na tvůj účel musí být výška obrázku přesně shodná s výškou položek (v mém příkladu těch 170px), což v mé ukázce není nutné, protože nevadí, když se zde obrázek nahoře a dole uřízne; viz spodní příklad, pro který je použit totožný obrázek jako pro horní příklad. Asi budeš – kvůli místu na otvírání dvířek do stran – potřebovat obrázek i širší, což musíš pochopitelně zohlednit i v kódu v šířce menu; obrázek musí být samozřejmě přesně dvakrát tak široký jako menu a poloviny obrázku musí být na pixel přesně opravdové poloviny.

Abych mohl napsat oba příklady do jednoho CSS, je na horní menu použit element <menu>, na spodní element <ul>; na funkčnost celé konstrukce by to snad nemělo mít vliv, ale díval jsem se na to jen v IE6 a v FF. Budu rád, když se na to někdo mrkne i v jiných prohlížečích.

(Bubák: Odkázal jsem na Tvůj web; dej mi prosím vědět (můžeš i e-mailem), kdybys ten odkaz nechtěl nebo kdybys chtěl jiný text; budeš-li chtít, můžu k odkazu přidat nofollow. :-)
(To samozřejmě platí i pro ostatní odkazy, kdyby to tu četl Yuhů nebo Pixy.)
Jcas
Profil *
Obrázky mám nařezané a naskládané na sobě. Pro prohlíže podporující display: table i bezva vycentrovaný text.
A nyní se vracím k problému s podmenu.

Každá položka <a> podmenu je na úrovni dalšího kotce. Co za to může?
Bubák
Profil
Jcas:
Obrázky mám nařezané a naskládané na sobě. Pro prohlíže podporující display: table i bezva vycentrovaný text.
Kde?

Každá položka <a> podmenu je na úrovni dalšího kotce. Co za to může?
To netuším, ale pokud je to napříč prohlížeči stejně, tak o noc nejde a pomůže záporný horní margin. Ale raději bych napřed viděl ukázku.
Jcas
Profil *
<li> má nastavené pozadí- obrázek. Samotný prvek <li> by měl být o trochu větší, než obrázek na pozadí.
U float left by měl mít trochu větší pravý okraj a u float right by měl mít levý okraj.

Prostě nevím jak to nastavit u toho pravého menu, protože obr je stále přiřazen k levému okraji.

<li> registruje hover. Když bude stejně velký jako obr, při sjetí myši z obrázku se ztratí hover.
Těžko se přejede do podmenu, protože podmenu zmizí.
Podmenu je asi 2-3px od obr. Když má <li> okraj 5px, v pohodě přejedu myší do podmenu.
U float left je to vpoho a perfektně to funguje.
U pravého menu mi to prostě nejde. Ať se snažím nastavit jakékoli okraje, tak hover se ztratí okamžitě při opuštení obr.
Petr ZZZ
Profil
Jcas:
hover se ztratí okamžitě při opuštení obr.
To je podstatou hoveru. Mění se, jen když je na něm myš.

<OT>
Bubák:
Jsem teď v Jabber místnost diskuze
Nějak se mi tam nedaří dostat (přiznám se ale, že jsem to příliš zavile zas nezkoušel).
</OT>
Jcas
Profil *
Tohle chápu, to je jasný. Ale když nastavím prvku větší rozměry, než je obr na pozadí, tak budu mí hover i vedle toho obrázku. Dokud prostě neopustím rozměry toho prvku.
Zatímco u levého menu jsem nastavil okraj 10px napravo a v těchto 10 pixlech mám stále hover, tak u pravého menu nemůžu dostat levý okraj. Dle mě to bude mít něco společného s tím, jak se zpracovává float right.
Jcas
Profil *
ul, li {
	margin: 0; 
	padding: 0; 
	list-style: none;
}
ul#left {
	width: 217px; 
	float: left;
}
ul#right {
	width: 217px; 
	float: right;
}
li.menu, li.menulast {
	width: 217px;
	height: 117px;
	margin: 0 12px 0 12px;
}
ul#left li.menu {background: url('box1lz.gif') no-repeat;}
ul#right li.menu {background: url('box1rz.gif') no-repeat;}
ul#left li.menulast {background: url('box2lz.gif') no-repeat;}
ul#right li.menulast {background: url('box2rz.gif') no-repeat;}


Obrazek má 193x117

U levého menu mám hover 12 px velde obr na každé straně
U pravého menu mám hover pouze na obr a 12px napravo.
« 1 2 »

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0