- From: Jukka K. Korpela <jkorpela@cs.tut.fi>
- Date: Thu, 21 Jun 2007 10:36:58 +0300 (EEST)
- To: Dmitry Turin <sql40@narod.ru>
- cc: www-style@w3.org
On Fri, 15 Jun 2007, Dmitry Turin wrote:
> - - what is the way to specify image for <option> ?
> Something like property 'list-style-image' for <li> ?
You can set list-style-image for any element. However, it only affects
elements with display: list-item. The option element and the select
element have display: inline by default, but you can change this:
select { display: block; }
option { display: list-item; }
Moreover, the list marker needs some space on the left (or on the right,
when writing direction is from right to left) of the list item content. So
you would set something like
option { margin-left: 1.3em; }
Browser support varies. Generally, old browsers display form field
elements in their own ways, using system routines that don't pay attention
to anything you say in CSS, or play just limited attention. There's not
much that CSS specifications (the topic of the www-style list) could do in
this respect, except perhaps clarifying how HTML form field elements
should be treated in CSS formatting, i.e. what the different CSS
properties mean for them. Beware that there is nothing in HTML
specifications that says that e.g. the select element _must_ have, or even
_should_ have a particular rendering as a dropdown box or as a list box -
just that it _typically_ has either of those renderings.
For example, IE 7 ignores the attempt to add list markers. On Firefox 2,
the element looks like a normal unstyled dropdown box, but when you
actually drop it down, it changes to an itemized list, with bullets (or
images as list markers, if you have set list-style-image too). And if you
set a value larger than 1 for the size="..." attribute in HTML markup, the
rendering is even initially an itemized list.
> If way for <option> does not exist, than maybe there is sense to add
> attribute, something like <option image="http:// ">.
Markup issues as such are off-topic in this list. But as the above
explanation indicates, there is no need to even consider adding new
presentational markup to HTML.
> It should be attribute instead of property, because apparently each
> <option> will has unique image.
Non sequitur. If you want to use different images - which you didn't
mention initially and which sounds strange and confusing - then you can of
course set different list-style-image values for different option
elements, using e.g. id or class selectors.
--
Jukka "Yucca" Korpela, http://www.cs.tut.fi/~jkorpela/
Received on Thursday, 21 June 2007 07:37:06 UTC