Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 18.03.2013, 12:09
Аспирант
Отправить личное сообщение для allanmiln Посмотреть профиль Найти все сообщения от allanmiln
 
Регистрация: 18.01.2013
Сообщений: 94

Выравнивание по центру (position:absolute) если изначально ширина не известна.
Здравствуйте!

Столкнулся с такой фигнёй: есть div со свойством position:absolute
Как можно выровнять его по центру окна браузера?
Знаю, что можно сделать отступ left:50% а потом margin-left:-ширина/2,
но что делать, если изначально ширина блока не известна (тобишь она резиновая). Может с помощью JS как-то можно это реализовать?

Последний раз редактировалось allanmiln, 18.03.2013 в 12:30.
Ответить с цитированием
  #2 (permalink)  
Старый 18.03.2013, 12:23
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Выставить display:inline-block блоку и text-align:center родителю
Ответить с цитированием
  #3 (permalink)  
Старый 18.03.2013, 12:25
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от allanmiln
Выравнивание по центру (position:absolute)
Сообщение от allanmiln
есть div со свойством position:relative
Ответить с цитированием
  #4 (permalink)  
Старый 18.03.2013, 12:30
Аспирант
Отправить личное сообщение для allanmiln Посмотреть профиль Найти все сообщения от allanmiln
 
Регистрация: 18.01.2013
Сообщений: 94

ой, ошибся!
div absolute
Ответить с цитированием
  #5 (permalink)  
Старый 18.03.2013, 12:32
Аспирант
Отправить личное сообщение для allanmiln Посмотреть профиль Найти все сообщения от allanmiln
 
Регистрация: 18.01.2013
Сообщений: 94

Сообщение от danik.js Посмотреть сообщение
Выставить display:inline-block блоку и text-align:center родителю
Пробовал, но не работает.
Ответить с цитированием
  #6 (permalink)  
Старый 18.03.2013, 12:47
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от allanmiln
Пробовал, но не работает.
C position:absolute работать не будет.

Делайте через js.
style.left = (parent.offsetWidth - this.offsetWidth ) / 2 + 'px'
Ответить с цитированием
  #7 (permalink)  
Старый 18.03.2013, 12:52
Аспирант
Отправить личное сообщение для allanmiln Посмотреть профиль Найти все сообщения от allanmiln
 
Регистрация: 18.01.2013
Сообщений: 94

var width = $('#pos').offsetWidth;
возвращает undefined.
Ответить с цитированием
  #8 (permalink)  
Старый 18.03.2013, 13:05
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

$('#pos')[0].offsetWidth или через jquery-метод $('#pos').width()
Ответить с цитированием
  #9 (permalink)  
Старый 18.03.2013, 13:07
Аспирант
Отправить личное сообщение для allanmiln Посмотреть профиль Найти все сообщения от allanmiln
 
Регистрация: 18.01.2013
Сообщений: 94

$('#pos').width(); возвращает null,
а $('#pos')[0].offsetWidth вообще ничего не возвращает.
фигня какая-то
Ответить с цитированием
  #10 (permalink)  
Старый 18.03.2013, 13:20
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

<div id="pos">Бла бла бла</div>
<script src="//code.jquery.com/jquery-latest.js"></script>
<script>
    alert( $('#pos').width() );
    alert( $('#pos')[0].offsetWidth );
</script>
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Выравнивание всплывающего окна по центру экрана. waw555 jQuery 2 07.09.2012 15:43
Выравнивание по центру blackfox ExtJS 2 18.11.2011 15:57
Помогите с калькулятором piton1175 AJAX и COMET 0 16.06.2011 14:29