Intereting Posts
Spring и Thymeleaf: отправка объекта controllerу с одной: каждой таблицы Как я могу остановить событие onclick при запуске для родительского элемента при нажатии дочернего элемента? Как удалить пространство между элементами списка Где правильно применять: наведите курсор на сохранение подменю css в состоянии зависания Бутстрап, добавляющий строки в таблицу удалить эффект размытия на дочернем элементе Встраивание изображений в электронную почту html с помощью java-почты Открытие внешнего веб-сайта в виде модального всплывающего windows Как отключить черный телефон юникода от отображения в качестве красного телефона в приложении iOS Mail? % (%) ширина в разных браузерах по-разному (firefox, safari, opera, chrome) изменить порядок загрузки DIV в зависимости от размера экрана Удалил ли Android Gmail 4.2.1 html намерения? Сделать фоновое изображение поля ввода исчезнуть после ввода текста CSS divs: display: table альтернатива? Ползунок nivo – добавьте текст в слайдер

CSS делает ширину: стоп на 100% против плавающих объектов

Попробуй это:

LEFT

RIGHT

Это заканчивается тем, что на первой строке слева и справа находятся текстовые входы, занимающие всю вторую строку, и «Отправить» и «Ссылка» находятся на третьей строке.

Я хочу, чтобы все они были в одной строке , и если окно расширяется, текстовый ввод должен расширяться. Как это сделать без таблиц?

Это невозможно сделать без установки точной ширины.

Задайте точную ширину для левого и правого столбцов, а также от края до центра div. Вот мое решение

JsFiddle

http://jsfiddle.net/xe4EJ/2/

Код

 

LEFT

RIGHT

См .: http://jsfiddle.net/thirtydot/mSwBe/

Это работает во всех современных браузерах.

Это достаточно близко к IE7 ( без поддержки размерности box-sizing: border-box , но в этом случае это можно легко проработать).

box-sizing: border-box делает input текста точно в ширину его содержащего span .

overflow: hidden очень полезно .

HTML:

 

LEFT

CSS:

 #left, #right, #middle { padding: 5px; } #left { float: left; background: #0ff; } #right { float: right; background: #0ff; } #middle { background: #f0f; overflow: hidden; } #middle input { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; } #textContainer { overflow: hidden; display: block; } #textContainer input { width: 100%; } #buttonContainer { float: right; } 

Вам нужно свернуть все влево и использовать некоторые относительные значения для div.

 

LEFT

RIGHT

Вы можете увидеть здесь

Это БУДЕТ ломаться, когда страница доходит до определенной узости, поэтому вам может потребоваться установить минимальную ширину на вашем теле.

лучше поплавать каждый элемент слева, а затем вы должны дать каждому элементу ширину:

 

LEFT

RIGHT

Лучшим подходом (построением решения от Ctrl3) было бы изолировать ввод текста в своем собственном div и переместить ссылку и отправить кнопку, чтобы сидеть внутри статического правого элемента div:

 

LEFT

Link RIGHT

Посмотрите на работу