Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > JavaScript, Ajax
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.01.2011, 00:49   #1
mutabor
Телепат с дипломом
Старожил
 
Аватар для mutabor
 
Регистрация: 10.06.2007
Сообщений: 4,929
По умолчанию Обработка ресайза div элемента

Суть такова: есть див, в нем есть разные инпуты, и один текстовый. Так вот этот текстовый нужно чтобы подстраивался под оставшееся свободное место. Задавать ему ширину в процентах в CSS не выход, т.к. пропрорционально не нужно, а нужно именно на определенное значение меньше ширины блока.

Формула такая: ширина <input> = ширина <div> - x. Где x - постоянная константа.

Пришел к выводу, что нужно скрипт написать. Не получается обработать ресайз блоку. Или можно все таки через CSS?
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог
mutabor вне форума Ответить с цитированием
Старый 02.01.2011, 08:57   #2
Виталий Желтяков
Старожил
 
Аватар для Виталий Желтяков
 
Регистрация: 19.04.2010
Сообщений: 2,702
По умолчанию

min-width, для IE меньше 8 используем хак.
Виталий Желтяков вне форума Ответить с цитированием
Старый 02.01.2011, 10:23   #3
mutabor
Телепат с дипломом
Старожил
 
Аватар для mutabor
 
Регистрация: 10.06.2007
Сообщений: 4,929
По умолчанию

Я имел ввиду резиновую верстку.
Уже разобрался. Скрипт не работал, потому что в body нужно обработчик прописывать. А вообще сделал без скрипта, обернул инпут в див, и задал ему 100% ширину, а див уже тянется как нужно. Потом сообразил еще, что этого же можно добиться, сделав input блоковым.
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог
mutabor вне форума Ответить с цитированием
Старый 02.01.2011, 14:12   #4
InternetStranger
php / delphi
Форумчанин
 
Аватар для InternetStranger
 
Регистрация: 10.06.2007
Сообщений: 175
По умолчанию

Можно узнать, как Вы вот этого добились? Очень интересно посмотреть
Цитата:
Сообщение от mutabor Посмотреть сообщение
Формула такая: ширина <input> = ширина <div> - x. Где x - постоянная константа.
То что блоковое позиционирование, это понятно. Не понятно как сделать на фиксированное число "px" меньше контейнера.
Раньше мне это казалось это невозможным (на чистом CSS).

UPD: раньше решал подобные задачи на js - есть такое событие - onresize
G.Azamat { Web Development / Computer simulation }
Начинающий программист думает, что в килобайте 1000 байтов, а законченный уверен, что в километре 1024 метра.

Последний раз редактировалось InternetStranger; 02.01.2011 в 14:19.
InternetStranger вне форума Ответить с цитированием
Старый 02.01.2011, 16:25   #5
mutabor
Телепат с дипломом
Старожил
 
Аватар для mutabor
 
Регистрация: 10.06.2007
Сообщений: 4,929
По умолчанию

Цитата:
Сообщение от InternetStranger Посмотреть сообщение
Можно узнать, как Вы вот этого добились? Очень интересно посмотреть
Я на словах объясню. Задал родителю относительное позиционирование (position: relative). А инпуту (или блоку-обертке) абсолютное. Если юзать инпут без обертки, тогда нужно сделать его блочным (display: block), но так это не работает в IE и в Firefox. Так что я сделал обертку (div). Т.к. у обертки позиция абсолютная, то можно задать отступы от границ родителя, что и делаем - left: Npx; right: Npx; где N - нужное число пикселей. А инпуту задаем ширину 100%. Это всё, теперь все тянется как нужно!
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог
mutabor вне форума Ответить с цитированием
Старый 02.01.2011, 17:57   #6
InternetStranger
php / delphi
Форумчанин
 
Аватар для InternetStranger
 
Регистрация: 10.06.2007
Сообщений: 175
По умолчанию

Аа. Ну да. Если с абсолютным позиционированием- то получится Спасибо.
G.Azamat { Web Development / Computer simulation }
Начинающий программист думает, что в килобайте 1000 байтов, а законченный уверен, что в километре 1024 метра.
InternetStranger вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
div тег как нижний слой для второго div тега dadli HTML и CSS 2 30.07.2010 01:12
Как отменить прозрачность div в прозрачном div zeharon HTML и CSS 0 24.07.2010 16:56
Высота div-a в котором есть другой div Antoha HTML и CSS 2 07.08.2009 18:16
Позиционирование двух плавающих DIV внутри одного DIV allocator HTML и CSS 5 22.07.2009 13:48
Растягивающийся DIV и толкающий в низ следующий DIV Суриков HTML и CSS 6 29.08.2008 12:01