Ненужное пространство справа от текстового поля в стандартном режиме IE 9 и Chrome - PullRequest
0 голосов
/ 06 декабря 2011

Может кто-нибудь объяснить, почему и как избавиться от пробела между правым полем ввода и красной рамкой

IE: http://jsfiddle.net/fQHGA/

<div style="float:left;border:1px solid red">
    <label style="float:left">asdasdfasdff</label>
    <input style="display:block;margin-left:100px">
</div>

IE, Chrome: http://jsfiddle.net/cxDvF/2/

<div style="float:left;border:1px solid red">
    <div>
        <label style="float:left">asdasdfasdff</label>
        <input style="display:block;margin-left:100px">
    </div>
</div>

Спасибо

1 Ответ

1 голос
/ 07 декабря 2011

Я повторяюсь.

http://www.ntutorials.com/css/understanding-floating Пожалуйста, прочитайте это руководство.

Чтобы просто ответить на ваш вопрос, когда вы перемещаете элемент, определите его ширину. В противном случае это может вызвать проблемы в разных браузерах.

Кроме того, если у вас есть настройки стиля по умолчанию, у входов может быть небольшое поле. Это также может быть причиной. Попробуйте сбросить поля.

EDIT

Я не уверен, чего вы пытаетесь достичь с помощью этого примера, который вы привели в jsfiddle, но вот некоторые моменты.

  1. ввод не имеет конечного тега. Следовательно, </input> недопустимо.
  2. вы пытаетесь создать плавающую метку и входные данные, которые являются встроенными элементами, следовательно, нет необходимости перемещать их.
  3. Если вы не знаете ширину, вы должны найти обходные пути. Плавающая без ширины не совместима с браузером.
...