Полезная информация

Общайтесь со знакомыми и друзьями в нашей группе в Контакте.

№117-10-2005 17:45:51

kan
Участник
 
Группа: Members
Зарегистрирован: 17-10-2005
Сообщений: 3

Хитрый "контрол"

В общем немного замаялся... Всяко разно пытался, всё кривовато получается. :(
Как соорудить такой "контрол", который будет много раз появляться на странице в самых разных местах?

Выделить код

Код:

|-------------|
| комментарий |
|-------------|
|   длинное   |
|   описание  |
|-------------|
|  F1  |[Поле]|
|-------------|

Где "комментарий", "длинное описание" — некий текст (могут разбиваться на несколько строк), горизонтально выровнены по центру контрола; "F1" — некая метка поля, должна быть в центре ячейки; "[Поле]" — обычный <input type="какой угодно" size="всякий разный">.

Вот наваял примерно так:

Выделить код

Код:

<table style="width:1px" cellpadding="0" cellspacing="0">
               <tr><td colspan="2" style="font-size:smaller;text-align:center;">Bla-bla-bla! Hurrrraaa! Foo bar baz. Blah. Huh?<br/>Suxx!</td></tr>
               <tr style="background-color:black;color:white;text-align:center;"><td colspan="2" style="font-size:smaller;">(A + B + C + D + E) <em>minus</em> (F + G + H + I)</td></tr>
               <tr style="background-color:black;color:white;">
                       <td style="width:3em;text-align:center;vertical-align:middle;">F1</td>
                       <td style="padding:1px;"><input style="padding:1px;border:none"/></td>
               </tr>
       </table>

Но выглядит как-то криво — бордюр вокруг input разной ширины и не работает width:3em для ячейки с меткой. И элемент блочный, хочется инлайновый.

Помогите, пожалуйста, до ума довести! А ещё лучше переписать на div-ы, и все стили в файл закинуть — т.к. таких контролов на странице будет много и хочется сократить объём.

Как вообще заставлять элементы занимать не всё доступное место, а только необходимое для определённого контента (в данном случае метка+input)?

Если имеет значение, то можно только для Firefox (XUL? ).

Отсутствует

 

№218-10-2005 10:55:06

Al_H
Away
 
Группа: Members
Откуда: SPb
Зарегистрирован: 10-06-2005
Сообщений: 5508

Re: Хитрый "контрол"

Для того чтобы элемент занимал только необходимое место, его можно сделать float: left или right. Недостатки: он тогда будет прибит к краю блока, несколько таких элементов один за другим создают подобие лесенки, избавиться от которой можно, объявив каждый такой элемент clear: both (или clear: left или right, соответственно), но очистка происходит всех обтеканий, то есть, если у Вас левое меню сделано на флоате, следующий элемент провалится сразу под меню.
Если допустимо делать только под Файрфокс, можно попробовать поиграть с display:-moz-box или -moz-inline-box, -moz-box-orient: vertical, и -moz-box-pack: start, center или end.
У Оперы на этом месте есть что-то вроде display: inline-block

Отсутствует

 

№319-10-2005 13:04:02

kan
Участник
 
Группа: Members
Зарегистрирован: 17-10-2005
Сообщений: 3

Re: Хитрый "контрол"

Ладно, понятно. Единственное, что с чем получилось более менее нормально, так это <table width="1">. Без таблицы никак не смог нашаманить.

Отсутствует

 

№430-10-2005 16:48:58

rewue
Участник
 
Группа: Members
Зарегистрирован: 21-10-2005
Сообщений: 20

Re: Хитрый "контрол"

подожди, а разве нельзя было собрать скриптом в какую либо переменную нужную конструкцию с заданием положения на странице, а потом иннером вставлять в плавающий div?  нужные размеры, оформление и положение тоже указать скриптом - setAttribute и все дела..
или я не так понял?

Отсутствует

 

Board footer

Powered by PunBB
Modified by Mozilla Russia
Copyright © 2004–2020 Mozilla Russia GitHub mark
Язык отображения форума: [Русский] [English]