Autor Zpráva
martinek
Profil *
Ahoj,

mám dotaz ohledně značky <option> a její šířky.

Nastavil jsem značce <select> nějakou šířku, což mělo vliv i na <option>. <option> je široká maximálně jako <select>. Pokud se tedy v <option> vyskytne nějaký text delší než <select>, tak se zobrazí jen jeho část, která se tam vejde. :-(

Jedná se o IE 6.

Díky moc.
martinek
Profil *
... mám to stylované přes CSS.
panther
Profil
martinek
a otázka zní?
martinek
Profil *
Aha. :-) Jak udělat, aby se zobrazil celý text v <option>.
martinek
Profil *
Aha. :-) Jak udělat, aby se zobrazil celý text v <option>.
panther
Profil
martinek
Jak udělat, aby se zobrazil celý text v <option>.
tipnul bych, že nejlepší bude nenastavovat šířku selectu.

Případně zkus min-width.

EDIT: oprava odkazu
martinek
Profil *
Ale já právě potřebuju mít <select> s určitou šířkou...

Ono ani nefunguje, když nastavím šířku <option>. Prostě to nikdy nepřekročí šířku <select>. Je jedno, jestli dám width, nebo min-width...
panther
Profil
martinek
Ale já právě potřebuju mít <select> s určitou šířkou...
pokud potřebuješ určitou šířku, jak se tam má ten option vejít? Mají se snad písmenka sama od sebe smrsknout?

Jak se má podle tebe chovat text, který se do selectu, resp. optionu nevejde a tudíž se nemůže zobrazit celý?
martinek
Profil *
Tak jako ve Firefoxu, např.

<select> je pořád stejně široký. Značky <option> (po aktivaci <select>) se zobrazí s potřebnou šířkou.
Plaváček
Profil
martinek

V IE nepochodíš a nezadávej nikdy elementu SELECT pevnou šířku, když nevíš, co bude jeho obsahem.
martinek
Profil *
Toho jsem se bál... Náhradní řešení je dát prvkům <option> atribut title, ve kterém bude stejný obsah jako v <option>. Takže normálně sice nebude zobrazen celý text, ale po najetí myší se zobrazí.

(<select> jsem dal šířku, protože jinak nám přetékal z formulářů -- někdy v <option> byly delší texty.)

Každopádně díky za pomoc.
Plaváček
Profil
martinek

řešení je dát prvkům <option> atribut title, ve kterém bude stejný obsah jako v <option>.

Nerozumím.

(<select> jsem dal šířku, protože jinak nám přetékal z formulářů -- někdy v <option> byly delší texty.)

Udělej to jinak.
panther
Profil
martinek
krom Plaváčkova příspěvku [#12] zkus přihodit odkaz, třeba společně najdeme jiné, uživatelsky přijatelnější řešení problému.
Plaváček
Profil
martinek

Anebo zkus toto řešení: http://css-tricks.com/select-cuts-off-options-in-ie-fix/
imploder
Profil
pokud potřebuješ určitou šířku, jak se tam má ten option vejít? Mají se snad písmenka sama od sebe smrsknout?
Kdyby to šlo, tak písmenka v nerozbaleném selectu zalezou (nebude vidět celý obsah vybrané položky), ale optiony se tím řídit teoreticky nemusí a byly by pak napravo širší.

Pokud nutně potřebuješ nějaký zvláštně vypadající / chovající se select nebo jiný formulářový prvek, asi bude nejlepší ho naprogramovat v JS + CSS a při vypnutém JS nabídnout jako alternativu normální formulář.
martinek
Profil *
Zdravím,

díky moc všem za rady.

Už je to jedno, projekt se odevzdal a já jsem rozbalovací políčka musel celá rozšířit (tzn. rozšířit <select>). JavaScript jsem použít nechtěl a nemohl.

Co se týče Plaváčkova dotazu ohledně atributu title... Myslel jse to nějak takto:

<select style="width: 50px;">
  <option title="Zde je nějaký delší text, který se nevejde.">Zde je nějaký delší text, který se nevejde.</option>
</select>


Ještě jednou díky za pomoc.
Noby
Profil *
Díky za tip s title
jeanes
Profil
Zdravím, řeším momentálně ten samý problém. Nenašel jste už někdo řešení, jak rozšířit options v selectu podle nejdelšího prvku. V mozille to funguje jak má, ale IE to ořezává podle nastavené šířky selectu...

Vaše odpověď

Mohlo by se hodit

Nezapomeňte na odkaz na živou ukázku problému.

Prosím používejte diakritiku a interpunkci.

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