Autor | Zpráva | ||
---|---|---|---|
DarthD Profil |
#1 · Zasláno: 5. 6. 2022, 12:00:46
Ahoj, prosím vás, když na webu stavspol.cz najedu na úvod tak se mi rozbalí menu ale nevím už jak udělat aby ten pododkaz byl pěkně pod tím uvodem a aby se ta žlutá lišta nezvětšovala ale aby se to po najetí překrylo.
díky moc za radu |
||
juriad Profil |
#2 · Zasláno: 5. 6. 2022, 12:28:10
Musíš použít
position: absolute;
S pár dalšími změnami to pak vypadá docela použitelně: menu li menu { position: absolute; } #menu li a { /* background-repeat: no-repeat; */ /* position: relative; */ /* float: left; */ /* display: inline; */ /* width: 40px; */ display: block; } #menu li a:hover { /* background-repeat: no-repeat; */ /* position: relative; */ /* float: left; */ /* display: inline; */ /* width: 40px; */ } menu { margin: 0; padding: 0; } |
||
DarthD Profil |
juriad:
super, díky moc a aby se ten pododkaz 1 a pododkaz 2 zobrazili pod sebou bych měl udělat jak prosím? |
||
juriad Profil |
#4 · Zasláno: 6. 6. 2022, 09:03:33
To je důsledek toho:
#menu li { float: left; } Jedna možnost je zrušit ten float pro vnořené menu: #menu li menu li { float: none; } |
||
DarthD Profil |
juriad:
tim ale ztměním i to cele menu, mi jde jen o to co se rozbalí DarthD: už jsem to vyřešil tak že jsem tam dal ke každe bunce menu <ul> a tam dal ul, form {float: left; a #menu li { float: none; nevím jestli je to šikovné řešení ale funguje |
||
juriad Profil |
#6 · Zasláno: 6. 6. 2022, 20:22:34
Funguje, ale máš tam přehršel chyb. Jde to podstatně zjednodušit. Živá ukázka
Všimni si, že strukura v HTML je jednoduchá a dodržuje pravidla: menu smí obsahovat jen li .
V CSS jsem seskupil pravidla tak, že napřed definujeme, jak se má chovat první úroveň #menu a rozevírání druhé úrovně. Všimni si, že float je použitý jen pro první úroveň pomocí selektoru přímého potomka. Následují obecné definice platné pro všechny úrovně.
|
||
DarthD Profil |
#7 · Zasláno: 6. 6. 2022, 21:12:31
juriad:
je mi jasné že to je patlanina ale tak zkouším si to.. lepší řešení to cos poslal ale zas ty pododkazy nejsou úplně pod tím menu a po najetí se to vypbne když je tam mezera |
||
juriad Profil |
#8 · Zasláno: 6. 6. 2022, 21:21:45
Já tam žádnou mezeru nevidím. V jakém prohlížeči se na to díváš? (Já Firefox 100, Linux)
Když na tvoji stránku přidám toto, tak to podle mě funguje správně: #menu > li { float: left; } |
||
Bubák Profil |
#9 · Zasláno: 7. 6. 2022, 10:19:56
juriad:
„Já tam žádnou mezeru nevidím. V jakém prohlížeči se na to díváš? (Já Firefox 100, Linux)“ Ve Firefoxu 101 pod Windows taky bez mezery, s mezerou to zobrazují "chromé" prohlížeče. Po hvězdičkovém resetu marginu jsem zkoušel dál, je potřeba vynulovat margin elementu MENU. Živá ukázka Vypadá to, že pro "depraklikovaný" element MENU používají prohlížeče na "chromém" jádru jiný výchozí stylopis, než Firefox. Při použití elementu UL je menu bez problémů. Živá ukázka |
||
juriad Profil |
#10 · Zasláno: 7. 6. 2022, 11:53:40
Bubák:
Hmm, já jsem tam ten reset marginu měl v [#2], ale pak jsem ho odstranil, protože "nic nedělal". Díky za investigaci. Oba elementy mají v Chromu identické stylování: chromium.googlesource.com/chromium/blink/+/master/Source/core/css/html.css#303 Ale liší se chováním, když jsou zanořené: chromium.googlesource.com/chromium/blink/+/master/Source/core/css/html.css#353: ol ul, ul ol, ul ul, ol ol { -webkit-margin-before: 0; -webkit-margin-after: 0 } Firefox naopak má podobné resetovací chování pro všechny zanořené seznamové elementy stejné (viz wiki.selfhtml.org/wiki/Default-Stylesheet/Firefox): /* nested lists have no top/bottom margins */ :-moz-any(ul, ol, dir, menu, dl) ul, :-moz-any(ul, ol, dir, menu, dl) ol, :-moz-any(ul, ol, dir, menu, dl) dir, :-moz-any(ul, ol, dir, menu, dl) menu, :-moz-any(ul, ol, dir, menu, dl) dl { margin-block-start: 0; margin-block-end: 0; } |
||
DarthD Profil |
#11 · Zasláno: 7. 6. 2022, 13:35:45
juriad:
Používám operu..spravilo to když jsem do menu dal margin: 0; |
||
Časová prodleva: 2 roky
|
0