Diskuze: Vycentrování menu
V předchozím kvízu, Online test znalostí HTML a CSS, jsme si ověřili nabyté zkušenosti z kurzu.


Zobrazeno 19 zpráv z 19.
K personalizaci obsahu a reklam, poskytování funkcí sociálních médií a analýze naší návštěvnosti využíváme soubory cookie. Informace o tom, jak náš web používáte, sdílíme se svými partnery pro sociální média, inzerci a analýzy. Partneři tyto údaje mohou zkombinovat s dalšími informacemi, které jste jim poskytli nebo které získali v důsledku toho, že používáte jejich služby.
Používáme nezbytné cookies pro fungování webu a s tvým souhlasem také analytické a marketingové cookies.
Zajišťují základní funkce, bezpečnost a služby, které sis vyžádal. Nelze je vypnout.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| ITnetwork | ITnetwork | Provoz webu, relace, přihlášení a uložení nastavení cookies. | PHPSESSID, auth_token, sid, itn_consent_impression, __Host-itn_consent | Relace až 1 rok |
| Google Tag Manager | Správa značek a načítání měřicích nástrojů webu. | Žádné | Neukládá se | |
| Google Fonts | Načítání typografie webu. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele | |
| Google Hosted Libraries | Načítání potřebných knihoven a stylů webu. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele | |
| Google reCAPTCHA | Ochrana formulářů a webu před zneužitím. | _GRECAPTCHA, rc::a, rc::b, rc::c, rc::f | Relace až 180 dní | |
| YouTube | Přehrávání vloženého video obsahu. | localStorage, IndexedDB; cookies after playback interaction | Relace až trvalé úložiště | |
| Vimeo | Vimeo | Přehrávání vloženého video obsahu. | __cf_bm, _cfuvid, vuid, localStorage, IndexedDB | Relace až 2 roky |
| Facebook Login | Meta | Přihlášení pomocí účtu třetí strany. | Úložiště řízené poskytovatelem | Relace až 1 rok |
| GoPay | GoPay | Zpracování uživatelem vyžádané platby. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele |
Pomáhají nám porozumět používání webu a zlepšovat ho.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| Google Analytics 4 | Měření návštěvnosti a používání webu. | _ga, _ga_* | Až 2 roky | |
| Microsoft Clarity | Microsoft | Měření návštěvnosti a používání webu. | _clck, _clsk, _cltk | Relace až 1 rok |
Slouží k měření kampaní, personalizaci reklamy a marketingové komunikaci.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| Google Ads | Měření kampaní, reklama a remarketing. | _gcl_au, _gcl_ls | Relace až 90 dní | |
| Meta Pixel | Meta | Měření kampaní, reklama a remarketing. | _fbp, _fbc, localStorage | Až 90 dní |
| Sklik | Seznam.cz | Měření kampaní, reklama a remarketing. | retargeting, sid, szn:* | Relace až trvalé úložiště |
| LinkedIn Insight | Měření kampaní, reklama a remarketing. | bcookie, li_gc, lidc, __cf_bm | Relace až 1 rok | |
| Ecomail | Ecomail.cz | Měření kampaní, reklama a remarketing. | ecmid, Úložiště řízené poskytovatelem | Dle podmínek poskytovatele |
| Atribuce kampaní ITnetwork | ITnetwork | Přiřazení návštěvy a objednávky ke kampani. | campaign_clid[*], user_session_context | Až 1 rok |
V předchozím kvízu, Online test znalostí HTML a CSS, jsme si ověřili nabyté zkušenosti z kurzu.


Zkus přidat elementu ul text-align na hodnotu center.
Ty máš blok nav, který má v sobě blok ul, který má v sobě položky a každá položka má v sobě odkaz.
Tím logicky plyne, že pokud přidáš text-align: center; na odkaz, nemůže se ti vycentrovat celé menu.
Ono vycentrovat položky není až taková prča, ale pokud dáš na seznam, tedy element ul, text-align: center, mělo by ti to fungovat. Pokud však budeš mít nějakou složitější strukturu, budeš chtít mít v menu i nějaké loga a další věci, centrování ti pravděpodobně až tak dobře fungovat nebude a dělají se proto tzv. hacky.
Koukni třeba sem, jak jsem to udělal já http://www.itnetwork.cz/…aktivni-menu.
Nejlepší možností na centrování a všeobecně rozmisťování všeho na stránce je Flexbox, který má však tuto podporu http://caniuse.com/#….
Přidání argumentu do nav ul právě nefunguje....takže mám napsat flexbox-align: center, nebo musím udělat nějaký div kvuli tomu? Nešlo by to nějak přes wrapper?
Takhle, ono to teoreticky vycentrované je, ale ne pořádně, podle mě hraje roli jen ten řádek
padding-left: 50px;
A proto to mam jemně do středu posunuté, mohl bych to asi posunout do středu víc, ale jakmile se změní velikost obrazovky, tak to bude zase špatně při takovým řešení...
Pokud chceš vycentrovat menu a ne jenom text, mohl by jsi elementu nav přidat margin:auto; a ten padding odebrat.
Taky nic, přemýšlím, že tam asi budu mít někde nějakou věc jinde, co mi to nějakým způsobem blokuje. NEmuže to být tim, že používám wrapper a mediaqueries na strance?
(Pokud chceš vycentrovat celé menu)
Buď můžeš udělat to, co radil Jan Lupčík, ale musíš ještě omezit šířku nav.
Nebo můžeš zrušit floatování u ** li** a nastavit jim display: inline-block a potom nastavit ul text-align: center
Každopádně doporučuju nezadávat u odkazu width: 100% (Když máš nastaven display: block, tak se to automaticky roztáhne na celou šířku, takhle se ti ale k tomu ještě připočítává ten padding, takže ve výsledku je odkaz širší než li.
Paráda, tohle funguje, přiložim hotový řešení, kdyby třeba někdo další řešil podobný problém
nav ul {
list-style: none;
margin: 0;
/*padding-left: 50px;*/
text-align: center;
}
nav ul li {
/*float:left;*/
/*border: 1px solid #000000;*/
width: 15%;
display: inline-block;
}
nav ul li a {
/*background: #0057b8;*/
display: block;
padding: 5% 12%;
font-weight: bold;
font-size: 13px;
color: #0057b8;
text-decoration: none;
text-align: center;
width: 100%
}
nav ul li a:hover, nav ul li.active a {
/*background-color: #000000;*/
color: #000000;
}
Proč máš šířku li pevně danou? Udělej to tak, ať se to automaticky přizpůsobí obsahu.
Takhle?
nav ul {
list-style: none;
margin: 0%;
/*padding-left: 50px;*/
text-align: center;
}
nav ul li {
/*float:left;*/
border: 1px solid #000000;
width: auto;
display: inline-block;
margin: 1%;
}
nav ul li a {
/*background: #0057b8;*/
display: block;
padding: 0% 0% 0% 0%;
font-weight: bold;
font-size: 13px;
color: #0057b8;
text-decoration: none;
text-align: center;
width: auto;
}
nav ul li a:hover, nav ul li.active a {
/*background-color: #000000;*/
color: #000000;
}
Tak už vím proč, pokud to udělám aby se to dělal automaticky, tak
přestane fungovat hover 
Hned nahoře jsem ti posílal ukázku, jak to funguje fajn. http://www.itnetwork.cz/…aktivni-menu
Zkus se na to konečně podívat. 
Skutečně?
Mně hover s tvým kódem funguje normálně.
Tak to je divný....ráno se na to podívám a asi to menu předělám podle Honzy, ale neumím Javascript...takže nevím jak to bude fungovat :-/
Na to JS potřebovat umět nemusíš. Jde tam o tu první část, kde se vytváří menu jen čistě v HTML a CSS.
Udělal jsem to teda podobně jako ty (Vzásadě jsem to zkopíroval, a vymazal věci, které se mi tam nehodí, a ještě to budu muset vycentrovat) ...ale co nechápu je, že se mi pod textem udělala čára, která není nikde definovaná...když se kouknu do kódu v prohlížeci, vypisuje mi to tohle :
a:-webkit-any-link {
color: -webkit-link;
text-decoration: underline;
cursor: auto;
Což v mym stylesheetu neni a nevím jak se to bere v kódu v prohlížeci...O_o jinak kod meho menu po upravě:
#menu {
width: 100%;
height: 50px;
top:0;
left:0;
}
nav {
width: 100%;
height:50px;
margin: 0px auto;
/*z-index: 100;*/
position: relative;
}
nav ul {
float:left;
position: relative;
}
nav ul li a {
padding: 0px 15px;
color: #0057b8;
display: inline-block;
font-size: 22px;
line-height: 50px;
}
nav ul li:hover, nav > ul > li.active {
border-bottom: 1px solid #0057b8;
}
P.S zadal jsem u a text decoration none a čáry jsou pryč, ale pořád nevím jak se tam vyčarovali
Ještě jedna otázka, co bych měl upravit proto, aby mi to povolilo větší fontsize než 15px, aniž by se víceslovný názvy zobrazovali pod sebe, místo do řádku?
Po dalších upravach vypadá moje menu nějak takhle, než začnu stylovat stíny a tak
nav {
width: 100%;
margin: 0px auto;
z-index: 100;
position: relative;
}
nav ul {
float:left;
position: relative;
text-align: center;
width: 100%;
}
nav ul li {
/*float:left;*/
/*border: 1px solid #000000;*/
width: 15%;
display: inline-block;
/*margin: 1%;*/
}
nav ul li a {
padding: 0px 15px;
color: #0057b8;
display: inline-block;
font-size:15px;
text-decoration: none;
}
Každý prohlížeč má svou sadu stylů pro každý element. Ta "čára", přesněji možná podtržení, je u odkazů defaultní.
Protože tam máš pořád tu width: 15%; (což tam já určitě nemám) a právě to ti boří ty víceslovné, nebo dlouhé, názvy.
Zobrazeno 19 zpráv z 19.