Подтвердить что ты не робот

Невозможно установить ширину textarea с помощью CSS

Я попытался использовать этот CSS для установки ширины моих элементов формы:

input[type="text"], textarea { width:250px; }

Если вы посмотрите на этот скриншот Firefox, вы увидите, что поля имеют одинаковую ширину. Я получаю аналогичный эффект в Safari.

alt text http://screamingv.com/ss.png

Есть ли способы обхода?

ОБНОВЛЕНИЕ: Спасибо за информацию до сих пор. Я теперь убедился, что наложение/край/граница на обоих элементах одинаковы. У меня все еще была проблема. Исходный CSS, который я опубликовал, был упрощен... Я также установил высоту текстового поля на 200 пикселей. Когда я удаляю стиль стиля, ширина соответствует. Weird. Это не имеет смысла.

Ошибка браузера?

4b9b3361

Ответ 1

Попробуйте удалить отступы и границы. Или попробуйте сделать их одинаковыми для обоих элементов.

input[type="text"],
textarea {
    width:250px;
    padding: 3px;
    border: none;
    }

Или:

input[type="text"],
textarea {
    width:250px;
    padding: 0;
    border: 1px solid #ccc;
    }

Элементы INPUT и TEXTAREA часто имеют некоторые дополнения, применяемые браузером (зависит от браузера), и это может сделать вещи более эффективными, чем назначенная ширина.

UPDATE: также box-sizing: border-box; - это удобный способ установить ширину, в которую будут добавляться дополнение и граница, а не добавлять. См.: http://www.paulirish.com/2012/box-sizing-border-box-ftw/

Ответ 2

Этот ответ задерживается на три года, но я отправляю его здесь на всякий случай, если кто-то пытается установить ширину в em's, а не pixels и наткнулся на эту запись (как я и сделал). Убедитесь, что размер шрифта одинаков,

например.

input, textarea {
    font-size:12px; 
    width:20em; 
    padding:0; 
    margin:0 
}

иначе текстовое поле может быть другого размера (true на FF12).

Ответ 3

Попробуйте border: 0; или границы: 1px solid # 000;

Ответ 4

Вероятно, это связано с различными значениями по умолчанию для элементов <input> и <textarea>. Попробуйте использовать что-то вроде этого.

input[type="text"], textarea { 
    padding: 0;
    margin: 0;
    width:250px; 
}

Ответ 5

Я тоже боролся с этой проблемой, и этот вопрос был первым результатом моего поиска. Для меня наконец-то было задано box-sizing: content-box для текстового поля. Drupal 7 по умолчанию имеет значение border-box, что приводит к вычитанию ширины прокладки и ширины рамки из размера текстового поля.

Ответ 6

Возможно, у вас есть определенный пользовательский css-оверлей, определенный где-то в вашем браузере, потому что я просто его протестировал и работает как ожидалось: http://jsbin.com/exase/edit (Протестировано на окнах. Может быть, у собственных виджета Apple есть некоторые причуды?)

Ответ 7

Установите ширину 100%, а затем используйте max-width:

     textarea { 
          width:100%;
          max-width:250px;
     }

//удаленное поле и добавление, вы можете добавить его, если хотите.