Portál AbcLinuxu, 25. dubna 2024 03:21


Dotaz: CSS style pro opravdove profesionaly

6.2.2009 21:38 Jarrek
CSS style pro opravdove profesionaly
Přečteno: 443×
Odpovědět | Admin
Ahoj, najde se tady nejaky koder, ktery je tak dobrej (a to myslim smrtelne vazne), ktery dokaze dat v css temto odkazum pevnou sirku a vysku 20px; a zobrazi je vedle sebe v jednom radku a vycentruje je horizontalne na stred v DIVu "obal" ??

<div class="obal">

<ul>

<li><a href="#">1</a></li>

<li><a href="#">2</a></li>

<li><a href="#">3</a></li>

<li><a href="#">33</a></li>

<li><a href="#">44</a></li>

<li><a href="#">55</a></li>

</ul>

</div>

Jestli je tady fakt nekdo tak dobry, prosim o pomoc, uz opravdu nevim jak to udelat, zacinam mit pocit ze je to nemozne :(

predem diky za pomoc ;)
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

6.2.2009 22:49 cronin | skóre: 49
Rozbalit Rozbalit vše Re: CSS style pro opravdove profesionaly
Odpovědět | | Sbalit | Link | Blokovat | Admin
Nie, nenajde. Pokial budu uzavrete v elemente li (list item), nebudu vedla seba v riadku. Problem je v html, s css nema nic spolocne. Mozno by slo predefinovat spravanie sa elementu li. Ale preco pouzivat polozky zoznamu, ked sa o polozky zoznamu nejedna?
6.2.2009 23:04 Karel Borkovec | skóre: 28 | blog: HP_NX9010 | Tábor
Rozbalit Rozbalit vše Re: CSS style pro opravdove profesionaly

display: inline;

6.2.2009 23:41 Jarrek
Rozbalit Rozbalit vše Re: CSS style pro opravdove profesionaly
display: inline; ? myslim ze nevite co jste napsal :(
Josef Kufner avatar 7.2.2009 12:34 Josef Kufner | skóre: 70
Rozbalit Rozbalit vše Re: CSS style pro opravdove profesionaly
Ale ví. Když to nastavíš těm li, tak budou v řádku. A pokud obalujícímu ul dáš display: block; text-align: center; tak to bude i uprostřed. Ovšem je tu problém s nastavováním velikosti inline elementů.
Hello world ! Segmentation fault (core dumped)
7.2.2009 13:46 SKooDA | skóre: 3 | blog: Jen_tak_mimochodem | Velké Přílepy
Rozbalit Rozbalit vše Re: CSS style pro opravdove profesionaly

Osobne mam radsi:

li {display: block; float: left; width: 200px; height: 20px; margin:0; padding:0}

a {display:block; width: 100%; height: 20px; text-align:center; line-height: 20px}

#cleaner {clear:both;}

a pod UL hodis nejaky cleaner, doufam ze jsem na nic nezapomel

MyEgo@server:/home/www/myego.cz$ rm -r ./*
Josef Kufner avatar 7.2.2009 14:40 Josef Kufner | skóre: 70
Rozbalit Rozbalit vše Re: CSS style pro opravdove profesionaly
Viz níže.
Hello world ! Segmentation fault (core dumped)
6.2.2009 23:40 Jarrek
Rozbalit Rozbalit vše Re: CSS style pro opravdove profesionaly
ahoj, netrvam na polozkach li, klidne to muze byt i takto, je mi to v celku jedno..

<div class="obal">

<a href="#">1</a>

<a href="#">1</a>

<a href="#">1</a>

<a href="#">1</a>

<a href="#">1</a>

</div>
6.2.2009 23:13 Vojtěch Horký | skóre: 39 | blog: Vojtův zápisník | Praha
Rozbalit Rozbalit vše Re: CSS style pro opravdove profesionaly
Odpovědět | | Sbalit | Link | Blokovat | Admin
Nestačilo by přihnout tohle nebo tohle?
I am always ready to learn although I do not always like to be taught. (W. Churchill)
6.2.2009 23:44 Jarrek
Rozbalit Rozbalit vše Re: CSS style pro opravdove profesionaly
nn, to nestaci, jelikoz tam je sirka dana pomoci padding a ja potrebuji zadat pevnou sirku, cili csechny a href... budou stejne vysoke i siroke..
AraxoN avatar 7.2.2009 00:08 AraxoN | skóre: 47 | blog: slon_v_porcelane | Košice
Rozbalit Rozbalit vše Re: CSS style pro opravdove profesionaly
Odpovědět | | Sbalit | Link | Blokovat | Admin

Toto tu mi funguje vo FF 3.0.5:

<style type="text/css">
.obal {
    border: 1px solid red;
    text-align: center;
}
.obal UL {
    border: 1px solid green;
    display: inline;
    position: fixed;
    margin: 0px;
    padding: 0px;
    margin-left: -60px;
}
.obal LI {
    border: 1px solid blue;
    width: 20px;
    height: 20px;
    float: left;
    list-style-type: none;
}
</style>

S profesionalitou to ale nemá nič spoločné, Opera to nepoberie a Exploder tu našťastie nemám. ;-) Bordery sú tam samozrejme len na debug. Do ostrej prevádzky by som to nevypustil, v skutočnosti vlastne CSS nemám rád... :-D

steky avatar 7.2.2009 00:56 steky | skóre: 4 | blog: Zápisníček | Praha
Rozbalit Rozbalit vše Re: CSS style pro opravdove profesionaly
Odpovědět | | Sbalit | Link | Blokovat | Admin
Příloha:

Jestli jsem to dobře pochopil, byla snaha o to, aby celé pole (20px na výšku a něco na šířku) bylo odkazem. V příloze je soubor, ve kterém je kód tak, aby toto fungovalo. Nejsou tam komentáře, dotazy můžeme řešit tady v diskuzi :) Kód je téměř totožný s tím, který uvedl AraxoN, nicméně některé položky jsem smazal a jiné doplnil. Ve Firefox 3.0.5 mi to fungovalo bezchybně.

7.2.2009 01:20 Jarrek
Rozbalit Rozbalit vše Re: CSS style pro opravdove profesionaly
tohle je zajimave, problem je ale v tom, ze nikdy nebudu vedet, kolik bude odkazu v tom menu, nekdy 3 a nekdy treba 20, proto to potrebuji vycentrovat. Cili pevna sirka toho ul asi nebude pravda..
Josef Kufner avatar 7.2.2009 12:41 Josef Kufner | skóre: 70
Rozbalit Rozbalit vše Re: CSS style pro opravdove profesionaly
Pak máš smůlu. Varianty jsou vesměs jen tyto dvě. Jedna s float: left a druhá s display: inline. Ta první má problém s velikostma odkazů, ta druhá s jejich vycentrováním. Takže si budeš muset vybrat, který z problémů ti vadí míň a nějak zamaskovat nedostatky.

Btw, tohle je celkem běžný problém řešený velmi často pro horizontální nabídky pod hlavičkou většiny stránek.
Hello world ! Segmentation fault (core dumped)
steky avatar 7.2.2009 12:43 steky | skóre: 4 | blog: Zápisníček | Praha
Rozbalit Rozbalit vše Re: CSS style pro opravdove profesionaly

To je také pravda :) Nicméně já osobně spíše stejně používám celé menu zarovnané vlevo a teprve obsah odkazů mám vycentrovaný.

steky avatar 7.2.2009 12:42 steky | skóre: 4 | blog: Zápisníček | Praha
Rozbalit Rozbalit vše Re: CSS style pro opravdove profesionaly

Ano, to máte pravdu. Proč jsem musel nastavit:

  • margin: 0 auto;
  • width:432px;

Protože jsem zatím nepřišel na to, jak obejít float: left; nastavený u LI. To je jediným problémem. Výsledné řešení také záleží na tom, v jakém projektu je toto menu použito. Podle toho pak lze zneužít vlastnosti okolních prvků.

7.2.2009 13:22 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: CSS style pro opravdove profesionaly
Stačí tomu ul nastavit margin-left a margin-right na auto, tím se to vycentruje. Pro MSIE je potřeba nějakou obezličku, asi nastavit nadřazenému prvku text-align na center;
steky avatar 7.2.2009 14:38 steky | skóre: 4 | blog: Zápisníček | Praha
Rozbalit Rozbalit vše Re: CSS style pro opravdove profesionaly

Auto margin jsem zkoušel a nic. Tenhle margin je totiž pro ul a ne pro li, které jsou plovoucí. Leda by tam byl ten cleaner, který je uvedený výše v diskuzi, ale to nemám u tohodle případu odzkoušeno.

7.2.2009 16:15 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: CSS style pro opravdove profesionaly
To je správně, že je margin pro ul, vždyť to chcete vycentrovat. Plovoucí li mi v tomto případě připadá nesmysl – tazatel nechtěl žádné plovoucí objekty, chtěl vše v jednom řádku, takže display: inline. Pokud objekty uvnitř li nemají požadovanou přirozenou šířku a výšku, pak inline-block, aby bylo možné jim nastavit i výšku a šířku.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.