Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Как задать фон развертывающегося списка?
 
 автор: Владимир55   (18.01.2013 в 20:46)   письмо автору
45.2 Кб
 
 

Имеется вот такой код:
 <select name = "day" style="font-weight:bold; font-size:12pt; font-face:Arial">
<option selected = "selected" value = "5" style="color:#999999">Не загружать</option>
<option value = "5" style="color:#92C7C7">Изготовитель</option>
<option value = "6" style="color:#92C7C7">Артикул</option>
<option value = "5" style="color:#92C7C7">Название</option>
<option value = "5" style="color:#92C7C7">Цена</option>
<option value = "5" style="color:#92C7C7">Количество</option>
</select> 

Предполагалось, что изначально будет показана вкладка "Не загружать" на сером фоне. Но реально фона нет, хотя если открыть список курсором, то все цвета присутствуют (скриншот).

Кстати, при выборе вкладки ее фон тоже исчезает.

Как решить проблему?

  Ответить  
 
 автор: elenaki   (18.01.2013 в 21:18)   письмо автору
 
   для: Владимир55   (18.01.2013 в 20:46)
 

background-color

  Ответить  
 
 автор: ЯСА   (18.01.2013 в 21:27)   письмо автору
 
   для: Владимир55   (18.01.2013 в 20:46)
 

"1) Except for background-color and color, style settings applied through the style object for the option element are ignored.

2) In addition, style settings applied directly to individual options override those applied to the containing select element as a whole.
"
(c) http://msdn.microsoft.com/en-us/library/ms535877%28v=vs.85%29.aspx

перевод

грубо говоря:
-- когда список "раскрыт", то стили опций <option> видны
-- когда список "закрыт", в дело вступают стили самого списка <select>

  Ответить  
 
 автор: Владимир55   (18.01.2013 в 21:56)   письмо автору
 
   для: ЯСА   (18.01.2013 в 21:27)
 

Иными словами, решения нет?

Вероятно, через JavaScript возможно...


========
В рабочем скрипте изначально был background-color. В теме промежуточная версия оказалась, случайно.

  Ответить  
 
 автор: Владимир55   (18.01.2013 в 22:09)   письмо автору
23.1 Кб
 
   для: Владимир55   (18.01.2013 в 21:56)
 

Однако, в некоторых CMS это работает (скриншот).

  Ответить  
 
 автор: ЯСА   (19.01.2013 в 00:15)   письмо автору
 
   для: Владимир55   (18.01.2013 в 22:09)
 

<select onchange="with (this) style.          color = options [selectedIndex].style.          color,
                              style.backgroundColor = options [selectedIndex].style.backgroundColor"
        style="color: black; background-color: silver">
<option style="color: black; background-color: silver"> -- РАДУГА --  </option>
<option style="color: white; background-color: red"   > -- каждый --  </option>
<option style="color: black; background-color: orange"> -- охотник -- </option>
<option style="color: black; background-color: yellow"> -- желает --  </option>
<option style="color: black; background-color: green" > -- знать --   </option>
<option style="color: black; background-color: aqua"  > -- где --     </option>
<option style="color: white; background-color: blue"  > -- сидит --   </option>
<option style="color: white; background-color: violet"> -- фазан --   </option>
</select>

замечания к вашему коду в топе:
1) свойства стиля font-face не существует,
есть свойство @font-face - оно предназначено для импорта шрифтов и прописывается в стилевом блоке в хедере страницы, но не внутри тегов
в вашем случае нужно использовать свойство font-family

2) совершенно незачем писать selected="selected" в первой опции - по умолчанию она и так САМА будет выбрана

  Ответить  
 
 автор: Владимир55   (19.01.2013 в 11:58)   письмо автору
39.7 Кб
 
   для: ЯСА   (19.01.2013 в 00:15)
 

2) совершенно незачем писать selected="selected" в первой опции - по умолчанию она и так САМА будет выбрана
Тут предыстория такая: код формируется на сервере, где selected="selected" подсталяется в ту вкладку, которая должна открыться изначально. Вкладка может оказаться любой из имеющегося списка. Например, последней в списке:
<select onchange="with (this) style.color = options [selectedIndex].style.color, 
         style.backgroundColor = options [selectedIndex].style.backgroundColor" 
        style="color: black; background-color: silver"> 
<option style="color: black; background-color: silver"> -- РАДУГА --  </option> 
<option style="color: white; background-color: red"   > -- каждый --  </option> 
<option style="color: black; background-color: orange"> -- охотник -- </option> 
<option style="color: black; background-color: yellow"> -- желает --  </option> 
<option style="color: black; background-color: green" > -- знать --   </option> 
<option style="color: black; background-color: aqua"  > -- где --     </option> 
<option style="color: white; background-color: blue"  > -- сидит --   </option> 
<option selected = "selected" style="color: white; background-color: violet"> -- фазан --   </option> 
</select>


В этом случае по умолчанию открывается вкладка "Фазан". Но она цвета silver, а не violet.

Я попытался одновременно с размещением selected = "selected" подстроить цвет в строке <select (заменить background-color: silver"> на background-color: violet">) :
<select onchange="with (this) style.color = options [selectedIndex].style.color, 
         style.backgroundColor = options [selectedIndex].style.backgroundColor" 
        style="color: black; background-color: violet"> 
<option style="color: black; background-color: silver"> -- РАДУГА --  </option> 
<option style="color: white; background-color: red"   > -- каждый --  </option> 
<option style="color: black; background-color: orange"> -- охотник -- </option> 
<option style="color: black; background-color: yellow"> -- желает --  </option> 
<option style="color: black; background-color: green" > -- знать --   </option> 
<option style="color: black; background-color: aqua"  > -- где --     </option> 
<option style="color: white; background-color: blue"  > -- сидит --   </option> 
<option selected = "selected" style="color: white; background-color: violet"> -- фазан --   </option> 
</select> 


Однако, при этом почему-то искажается палитра вкладок - "Фазан" в конце списка теперь не фиолетовый (скриншот).

  Ответить  
 
 автор: elenaki   (19.01.2013 в 12:32)   письмо автору
 
   для: Владимир55   (19.01.2013 в 11:58)
 

в выбранной опции селекта (пока над ней курсор) вы не можете изменить цвет фона, это
системная функция, от стилей браузера не зависит.

  Ответить  
 
 автор: ЯСА   (19.01.2013 в 16:13)   письмо автору
 
   для: Владимир55   (19.01.2013 в 11:58)
 

если не применять НИКАКИХ стилей ни к <select>'y, ни <option>'ам, то и тогда любой ВЫБРАННЫЙ <option> изменит как фон (он станет синим), так и цвет шрифта (он станет белым)
таким образом браузер отмечает выбранное
это же вас не удивляет и с этим вы не боретесь, так ведь?

так и здесь, браузер пытается показать - какой именно <option> в текущий момент является выбранным
делает он это изменением фона и цвета шрифта <option>'a
-----------

и есть к вам вопрос, Владимир55
вы довольно давно и довольно много задаёте вопросов и здесь (и на киберфоруме)
и часто выкладываете какие-то кусочки кодов

ЛЮБОЙ человек, долго занимающийся каким-то ЛЮБЫМ делом, СО ВРЕМЕНЕМ вырабатывает какой-то собственный стиль
вот я, например, СО ВРЕМЕНЕМ стал HTML-теги и их атрибуты писать ТОЛЬКО в нижнем регистре и без пробелов между атрибутом и его значением
а Javascript-код, наоборот, стал писать именно с пробелами около знака равенства и перед любыми скобками (круглыми, квадратными, фигурными)...
никак не хочу кого-либо уверить, что мой стиль - это единственно верный... совсем нет...
но это - МОЙ СТИЛЬ, он У МЕНЯ выработался... и это я полагаю нормальным (то, что какой-то СОБСТВЕННЫЙ стиль у меня есть)

но вот ваши коды... это нечто
они всегда у вас грязные и неряшливые
посмотрите на первую вашу строку в топе: name с пробелами, а style - без пробелов

а если посмотреть и прочие ваши коды (а их довольно много в архивах форумов), то создаётся впечатление, что ваш фирменный стиль - это ГРЯЗЬ
причём - ВО ВСЁМ, не только в написании кодов
это так?

  Ответить  
 
 автор: Владимир55   (19.01.2013 в 16:29)   письмо автору
 
   для: ЯСА   (19.01.2013 в 16:13)
 

ваш фирменный стиль - это ГРЯЗЬ
причём - ВО ВСЁМ, не только в написании кодов


Поясните Вашу мысль и я постараюсь дать исчерпывающий ответ.

Как понимать: ГРЯЗЬ ВО ВСЕМ, не только в написании кодов? Что Вы имеете в виду? Дайте пример.

  Ответить  
 
 автор: ЯСА   (19.01.2013 в 17:17)   письмо автору
 
   для: Владимир55   (19.01.2013 в 16:29)
 

Владимир55, вы только не обижайтесь, ладно?
я вас обидеть не хочу совершенно
и если вдруг вас что-то задело, то извините
--------

говорят, например, что собака имеет такой же характер, как и её хозяин
и, наоборот, хозяин перенимает у собаки какие-то её черты... иногда это малоуловимо, но всё равно это ЕСТЬ

я совершенно не графолог и не собираюсь судить о человеке по его почерку... здесь иной случай
[я, например, раньше писал почти каллиграфически - мой почерк даже называли "женским",
а сейчас я пишу так, что иногда сам не могу разобрать...
и дело не в том, что я изменился, просто последние лет 20-ть я практически не пишу... всё стучу по клавиатуре]

однако в данном случае СТИЛЬ написания кодов (для человека. который ДОЛГО этим занимается) - он мне напоминает ту самую собаку, о которой я писал выше... и черты этой "собаки" кое что говорят и о хозяине...

был бы рад ошибиться в своих предположениях о вас

  Ответить  
 
 автор: Владимир55   (19.01.2013 в 18:08)   письмо автору
 
   для: ЯСА   (19.01.2013 в 17:17)
 

Я ведь не программист, и не стремлюсь им стать. Я бизнесмен и 20 лет руковожу совершенно иным делом. Но интернет для меня важен, только смотрю я на него глазами бизнесмена, а само закорючкостроение меня совершенно не интересует и основательно изучать программирование я не планирую. Мои коды – это фрагменты чужих творений, из которых, как из кирпичиков, я складываю то, что мне в данный момент нужно. Стараюсь делать правильно (и в этом Вы меня многому научили, за что я, пользуясь случаем, еще раз Вас благодарю), но это не самоцель. Какие там регистры и пробелы, мне совершенно неважно и об этом я даже не задумываюсь. Мне нужно смоделировать идею, а потом её воспроизведут должным образом.

Кстати, так родилась моя социальная сеть, которая сейчас проходит обкатку в одном из университетов. О результатах пока говорить рано, но это сеть НОВОГО типа, родившаяся на основании многолетнего тестирования аудитории и всяческих экспериментов, до которых я большой охотник.

В общем, мои коды пока что останутся прежними. Я не хочу смещать центр тяжести на технику, ибо мой конек – идеология. Это как раз то, чего в наше время больше всего не хватает. Есть очень интересные идеи и я могу себе позволить побаловаться, пытаясь осуществить некоторые из них.

К тому же, я ведь еще практикующий психолог, бизнес-консультант, экстрасенс, изобретатель, писатель и путешественник, а на все это нужно время.

Мой стиль - знать по немногу обо всём, и всё о немногом. Программирование в мой перечень "немногого" не входит.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования