Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 27.10.2016, 14:12
Кандидат Javascript-наук
Отправить личное сообщение для dpts Посмотреть профиль Найти все сообщения от dpts
 
Регистрация: 12.05.2015
Сообщений: 105

Центрирование элемента
Приветствую.
Есть js
<script>
  		var fullWidth = document.documentElement.clientWidth;
		var pos = fullWidth/2 - 22;
      	document.getElementById("mmb").style = ("bottom:25px;left:" + pos + "px;");
  	</script>

Который центрирует элемент шириной 44 пикселя.
Вопрос, как сделать так, чтобы он автоматически центрировал (пересчитывал значение pos), если меняется ширина окна браузера, не перезагружая страницу?
Ответить с цитированием
  #2 (permalink)  
Старый 27.10.2016, 14:32
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 5,966

Классика же:
<div style="
  position: absolute;

  bottom: 25px;
  left: 50%;

  width: 44px;
  margin-left: -22px;

  background: #99f;
">div</div>
В современном css существует ещё десяток способов это сделать. Js тут точно не нужен.

Но на будущее:
window.addEventListener('resize', function(){
  //код здесь
})
Однако следует стремиться решать подобные задачи правильной вёрсткой, тем более в 99% случаев это возможно.
__________________
29375, 35

Последний раз редактировалось Aetae, 27.10.2016 в 14:39.
Ответить с цитированием
  #3 (permalink)  
Старый 27.10.2016, 14:41
Кандидат Javascript-наук
Отправить личное сообщение для dpts Посмотреть профиль Найти все сообщения от dpts
 
Регистрация: 12.05.2015
Сообщений: 105

Сообщение от Aetae Посмотреть сообщение
Классика же:
<div style="
  position:absolute;
  bottom:25px;
  left: 50%;
  margin-left: -22px;

  background: #99f;
  width: 44px;
">div</div>

В современном css существует ещё десяток способов это сделать. Js тут точно не нужен.
Действительно, в современом css существует вагон способов сделать это.
Вот только в данном случае нужен js. потому и спросил, мой случай - какраз в 1% попадает.

Благодарю.

Последний раз редактировалось dpts, 27.10.2016 в 14:45.
Ответить с цитированием
  #4 (permalink)  
Старый 27.10.2016, 14:44
Профессор
Отправить личное сообщение для Rise Посмотреть профиль Найти все сообщения от Rise
 
Регистрация: 07.11.2013
Сообщений: 4,607

dpts,
#mmb {
	width: 44px;
	margin: auto;
	position: absolute;
	left: 0;
	right: 0;
	bottom: 25px;
}
Ответить с цитированием
  #5 (permalink)  
Старый 27.10.2016, 14:44
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 5,966

Сообщение от dpts Посмотреть сообщение
Вот только в данном случае нужен js. потому и спросил.
Слабо представляю такой случай, но даже так - лучше один раз из js задать элементу подходящий css и забыть о нём, чем каждый раз пересчитывать.

Rise, это уже не классика, а потому не интересно.)
__________________
29375, 35
Ответить с цитированием
  #6 (permalink)  
Старый 27.10.2016, 14:51
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 31,049


<div style="
  width: 44px;
  margin: 25px auto;
  background: #99f;
">div</div>
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Изменить класс родительского элемента STyLe Общие вопросы Javascript 1 29.05.2014 19:21
Замена DOM элемента другим элементом MaxXxaM Events/DOM/Window 5 04.05.2013 00:24
Как то можно узнать ID HTML элемента вызвавшего JavaScript функцию? Opusel Events/DOM/Window 1 18.12.2011 16:36
Центрирование элемента относительно центра другого элемента idrozd jQuery 1 27.01.2010 12:32
Центрирование элемента magistr_bender Элементы интерфейса 0 16.09.2008 16:44