За последние 24 часа нас посетил 18121 программист и 1696 роботов. Сейчас ищет 1581 программист ...

Ширина поля ввода по ширине ячейки

Тема в разделе "HTML и CSS", создана пользователем sir Genry, 9 мар 2011.

  1. sir Genry

    sir Genry Активный пользователь

    С нами с:
    24 сен 2010
    Сообщения:
    61
    Симпатии:
    0
    Адрес:
    Новосибирск
    Добрый день, веселая минутка!
    Во первых разрешите грязно выматериться.
    Во вторых исходный код:
    HTML:
    1.  
    2. <!DOCTYPE html PUBLIC  "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    3.  <head>
    4.   <title> Пытаюсь писать правильно </title>
    5.  </head>
    6.  <body>
    7.      <form style="padding:0px; margin:0px;">
    8.        <table style="width:400px; padding:0px; margin:0px">
    9.          <tr>
    10.            <td style="width:1%; white-space:nowrap; padding:1px; margin:0px">test test</td>
    11.            <td style="width:99%; padding:1px; margin:0px; border:1px solid red">
    12.              <input type="text" style="width:100%; border:1px solid green;" />
    13.            </td>
    14.          </tr>
    15.        </table>
    16.      </form>
    17.  </body>
    18. </html>
    19.  
    в третьих: MSIE 8

    А теперь внимание вопрос: КАК ЭТУ БЛ№;%№;:%%?";::% ЦКОЕ поле ввода сделать по ширине ячейки таблицы?
    Нет я конечно могу убрать паддинги в ячейке, но тогда все будет сливаться.
    А еще SELECT вставляется правильно: по ширине внутренней части ячейки
     
  2. neverlose

    neverlose Активный пользователь

    С нами с:
    27 авг 2008
    Сообщения:
    1.112
    Симпатии:
    20
    КАК ЭТУ БЛ№;%№;:%%?";::% ЦКОЕ поле ввода сделать по ширине ячейки таблицы

    Это означает, что ширина должна быть 100% относительно вышестоящего элемента. (это у вас есть)
    Но вы не задумывались, как элемент может знать ширину вышестоящего элемента, если она не задана ?

    P.S.: Проценты всегда определяют размер относительно ВЫШЕСТОЯЩЕГО элемента, и это понятие НЕ РЕКУРСИВНО.

    Чайникхелп:
    <td style="width: 400px;"><input style="width: 100%" value="My input is 100% width, relating to this td element" /></td>
     
  3. sir Genry

    sir Genry Активный пользователь

    С нами с:
    24 сен 2010
    Сообщения:
    61
    Симпатии:
    0
    Адрес:
    Новосибирск
    neverlose
    извини, дружище, но не в кассу. На доктайпе <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> работает как надо. То есть ширина поля ввода вычисляется по ВНУТРЕННЕЙ ширине ячейки.
    Кстати еще раз скажу, что ширина тэга SELECT на доктайпе <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> при задании ее в 100% вычисляется по внутренней ширине ячейки. Почему нельзя было сделать и для поля ввода - ума не приложу.

    Кстати, что такое "Чайникхелп" ? Это ты меня в чайники записал чтоли?
     
  4. neverlose

    neverlose Активный пользователь

    С нами с:
    27 авг 2008
    Сообщения:
    1.112
    Симпатии:
    20
    Ширина не бывает внутренней или внешней. Она всегда едина. Зачем сравнивать разные доктайпы? - это не решит проблему. чайникхелп - это пример кодадля того случая если ты не плймёшь на словах. селект и инпут - это 2 разных дом жлемента, зачем ты их сравниваешь ? ведь жто тоже не решит проблему. Как решить пробему - я описал в предыдущем посту.
     
  5. neverlose

    neverlose Активный пользователь

    С нами с:
    27 авг 2008
    Сообщения:
    1.112
    Симпатии:
    20
    Ширина не бывает внутренней или внешней. Она всегда едина. Зачем сравнивать разные доктайпы? - это не решит проблему. чайникхелп - это пример кодадля того случая если ты не плймёшь на словах. селект и инпут - это 2 разных дом жлемента, зачем ты их сравниваешь ? ведь жто тоже не решит проблему. Как решить пробему - я описал в предыдущем посту.
     
  6. sir Genry

    sir Genry Активный пользователь

    С нами с:
    24 сен 2010
    Сообщения:
    61
    Симпатии:
    0
    Адрес:
    Новосибирск
    Если бы я априори знал ширину ячейки в пикселях, то тогда бы я и ширину поля ввода задал в пикселях. )
    Ладно, проблему я решил за счет игры margin-ов и padding-ов для формы, таблицы, ячейки, поля ввода. Но все равно это кривота...