Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 29.08.2011, 20:23
Интересующийся
Отправить личное сообщение для zukalo Посмотреть профиль Найти все сообщения от zukalo
 
Регистрация: 02.05.2011
Сообщений: 13

Кроссбраузерная вёрстка + резиновый input
Возникала необходимость сверстать такой элемент :
[картинка] [резиновый input] [картинка] [ссылка] [картинки]

Причём всё это нужно центрировать по вертикали относительно друг друга, т.е. чтобы горизонтальные осевые линии всех элементов совпадали.
Сделал через вложенные слои, вышло коряво.

Ни один рецепт резинового inputа не подошёл - он либо растягивается
на 100% элемента, либо отображается некорректно. С центрированием другая проблема - это можно делать через margin/padding слоев относительно друг друга, а можно через параметр align картинки (absmiddle). Каждый способ работает в своём, отдельном случае, а всё вместе не даёт нужного эффекта. Как быть?
Ответить с цитированием
  #2 (permalink)  
Старый 29.08.2011, 21:08
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>…</title>
<style>
.field .controls {
	float: right;
}
.field .icon {
	float: left;
}
.field .text {
	overflow: hidden;
}
.field .text .inner {
	margin: 0 10px;
}
.field .text input {
	width: 100%;
}
.field img {
	vertical-align: middle;
}
</style>
</head>
<body>
	<div class="field">
		<div class="controls">
			<img src="http://javascript.ru/forum/images/editor/resize_0.gif" width="21" height="9" alt="icon">
			<a href="#">сброс</a>
			<img src="http://javascript.ru/forum/images/editor/resize_1.gif" width="21" height="9" alt="icon">
		</div>
		<div class="icon">
			<img src="http://javascript.ru/forum/images/smilies/blink.gif" width="20" height="20" alt="icon">
		</div>
		<div class="text">
			<div class="inner">
				<input type="text">
			</div>
		</div>
	</div>

	<br>

	<div class="field" style="width: 300px;">
		<div class="controls">
			<img src="http://javascript.ru/forum/images/editor/resize_0.gif" width="21" height="9" alt="icon">
			<a href="#">сброс</a>
			<img src="http://javascript.ru/forum/images/editor/resize_1.gif" width="21" height="9" alt="icon">
		</div>
		<div class="icon">
			<img src="http://javascript.ru/forum/images/smilies/blink.gif" width="20" height="20" alt="icon">
		</div>
		<div class="text">
			<div class="inner">
				<input type="text">
			</div>
		</div>
	</div>
</body>
</html>
Ответить с цитированием
  #3 (permalink)  
Старый 30.08.2011, 08:45
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,225

Сообщение от zukalo
Сделал через вложенные слои, вышло коряво.
Мог бы и тестовый пример показать...
Ответить с цитированием
  #4 (permalink)  
Старый 30.08.2011, 13:58
Аватар для tropiko
Аспирант
Отправить личное сообщение для tropiko Посмотреть профиль Найти все сообщения от tropiko
 
Регистрация: 23.06.2011
Сообщений: 44

Octane, не нужны никакие float'ы!

zukalo, inline-block решит проблему. И vertical-align будет нормально работать.
display:inline-block;


И
display:inline;
zoom:1;

для IE
Ответить с цитированием
  #5 (permalink)  
Старый 30.08.2011, 14:20
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

tropiko, зачем тут inline-block, каким образом блок с инпутом на доступную ширину растягивать в таком случае?
Ответить с цитированием
  #6 (permalink)  
Старый 30.08.2011, 14:42
Аватар для tropiko
Аспирант
Отправить личное сообщение для tropiko Посмотреть профиль Найти все сообщения от tropiko
 
Регистрация: 23.06.2011
Сообщений: 44

Octane, ох, протупил
В общем, с резиновым инпутом бред написал я, простите =)

А inline-block для того чтобы выровнять по вертикали.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Opera не выполняет style.fontSize=... в поле input Маэстро Opera, Safari и др. 6 20.06.2011 12:03
Изменение множества элементов Input по определённом призна Лавсановые Волокна Элементы интерфейса 1 24.12.2010 10:37
Динамическая форма! INPUT c зависимым INPUT shleify Общие вопросы Javascript 5 02.12.2010 22:18
Копирование из одного input в другой input bar-boss Общие вопросы Javascript 7 08.04.2008 19:10
Разным элементам input - разное форматирование. Как? eclipse (X)HTML/CSS 1 25.10.2007 13:55