Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Рамка у Select'a

16K
10 марта 2006 года
Lohotron
6 / / 10.03.2006
В общем столкнулся с проблемой образования нормального стиля рамки у тега select. Обычными солидами не обойтись - пробовал создавать рамку у div'a и в него вставлял select со скрытой рамкой - ничего вразумительного не получилось. Если возможно, выложите код с описание как это можно сделать.
8
10 марта 2006 года
mfender
3.5K / / 15.06.2005
Цитата:
Originally posted by Lohotron
В общем столкнулся с проблемой образования нормального стиля рамки у тега select. Обычными солидами не обойтись - пробовал создавать рамку у div'a и в него вставлял select со скрытой рамкой - ничего вразумительного не получилось. Если возможно, выложите код с описание как это можно сделать.


А покажи, как ты div'ом делал. Просто другого способа нет. Разве что написать свой select'о-подобный select.

12
11 марта 2006 года
alekciy
3.0K / / 13.12.2005
Цитата:
Originally posted by Lohotron
В общем столкнулся с проблемой образования нормального стиля рамки у тега select. Обычными солидами не обойтись - пробовал создавать рамку у div'a и в него вставлял select со скрытой рамкой - ничего вразумительного не получилось. Если возможно, выложите код с описание как это можно сделать.


"Матчасть учим!" (с)

Код:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>База данных</title>
</head>
<body>
<span style="border: 4px solid red;">
<SELECT name="str">
<OPTION>ул.</OPTION>
<OPTION>пер.</OPTION>
<OPTION>шоссе</OPTION>
</SELECT>
</span>
</body>
</html>

Оно?
16K
13 марта 2006 года
Lohotron
6 / / 10.03.2006
Цитата:
Originally posted by mfender
А покажи, как ты div'ом делал. Просто другого способа нет. Разве что написать свой select'о-подобный select.



К сожалению давненько это было, уже не помню точно,какими средствами пользовался, по этому и попросил пример кода :(

16K
13 марта 2006 года
Lohotron
6 / / 10.03.2006
Цитата:
Originally posted by alekciy
"Матчасть учим!" (с)
Оно?


нед, нужно изменить рамку а недобавить поверх существующей еще одну.

12
13 марта 2006 года
alekciy
3.0K / / 13.12.2005
Цитата:
Originally posted by Lohotron
нед, нужно изменить рамку а недобавить поверх существующей еще одну.


Что бы рамка изменялась при наведении курсора на SELECT? Так это JS тогда, а не CSS тебе нужен. А в CSS все останется так, как я и написал.

8
13 марта 2006 года
mfender
3.5K / / 15.06.2005
Цитата:
Originally posted by Lohotron
нед, нужно изменить рамку а недобавить поверх существующей еще одну.


Такое чудо - только в Опере. Остальные браузеры исползуют виндовый комбо-бокс, который прорисовывается совсем иначе, чем прочие элементы ввода. Обращал внимание когда-нибудь, что все select'ы выползают выше flash-роликов?

16K
13 марта 2006 года
Lohotron
6 / / 10.03.2006
Цитата:
Originally posted by mfender
Такое чудо - только в Опере. Остальные браузеры исползуют виндовый комбо-бокс, который прорисовывается совсем иначе, чем прочие элементы ввода. Обращал внимание когда-нибудь, что все select'ы выползают выше flash-роликов?


Я точно помню, что средствами css можно эту рамку вообще убрать (а потом налепить рамку с помошью того же div-а или span-а), вот только как это сделать по умному?:/

Есть извратный способ, который мне посоветовали - но он никуда не годиться:

 
Код:
<SELECT size=1 style="position:absolute;width:100px;
clip:rect(2px 82px 20px 2px);background:pink;top:10px;">
<OPTION VALUE=1>One
<OPTION VALUE=2>Two
<OPTION VALUE=3>Three
</SELECT>
16K
13 марта 2006 года
Lohotron
6 / / 10.03.2006
Еще вот так пробовал:
Код:
<style>
.outer {
  border:1px solid #1F6DB4;
  background-color: #ffffff;
  display: table;
  width:1px;
}
.outer select {
  border: transparent;
  background-color: transparent;
  margin: -3px;
  overflow: auto;
  color:#1F6DB4;
  height:18px
  font-size: 8pt;
  font-family:tahoma;
 
}
html>body .outer select {
  margin: -2px;
}
</style>
<div class="outer">
<select style="width:117px" >
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
</select>
</div>

работает в ИЕ, но не хочет убирать рамку select-а в мозиле.
16K
13 марта 2006 года
-no-
4 / / 03.03.2006
в мозиллах, так же как и в новой опере, outer > select {border: none;} убирает рамку.
12
13 марта 2006 года
alekciy
3.0K / / 13.12.2005
Цитата:
Originally posted by Lohotron
Я точно помню, что средствами css можно эту рамку вообще убрать (а потом налепить рамку с помошью того же div-а или span-а), вот только как это сделать по умному?:/


Матчасть все же учим. Средствами CSS это сделать нельзя. Способы связанные с фичами/глюками разных браузеров я за способ решения сабжа не беру. Изврат это. Так же как и делать усечение. Потому как это не убирание рамки, а её обрезка (скрытие).

16K
13 марта 2006 года
Lohotron
6 / / 10.03.2006
Цитата:
Originally posted by -no-
в мозиллах, так же как и в новой опере, outer > select {border: none;} убирает рамку.



К сожалению не помогло, по крайней мере в пятой версии мозилы.

62K
21 декабря 2010 года
manitor
4 / / 31.07.2010
Поищи программу, которой выполняется изменить рамку. Например, скачай отсюда.
584
07 января 2011 года
brodotsky
33 / / 25.01.2004
Советую использовать таблицу.
В ячейках таблицы удобно располагать элементы формы.
[HTML]
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>База данных</title>
</head>
<body>
<Table CellSpacing=0 CellPadding=0 Style="Border:Solid Red 4px">
<TR><TD>
<SELECT name="str">
<OPTION>ул.</OPTION>
<OPTION>пер.</OPTION>
<OPTION>шоссе</OPTION>
</SELECT>
</Table>
</body>
</html>
[/HTML]
Поэкспериментируйте с параметрами таблицы.

CellSpacing - расстояние между ячейками.
CellPadding - "поля" ячейки, т.е. расстояние между краями ячейки и содержимым.

Вместо слова Solid (сплошная рамка) можно использовать
None, Dotted, Dashed, Double, Groove, Ridge, Inset, Outset.

Вместо Red можно указать любой другой цвет.

Вместо 4px можно указать любой другую толщину.

Тег <TR> означает начало новой строки таблицы.
Тег <TD> означает начало новой ячейки в той же строке.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог