Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   задание размера div-у в зависимости от окна браузера (https://javascript.ru/forum/misc/61167-zadanie-razmera-div-u-v-zavisimosti-ot-okna-brauzera.html)

ghost666 07.02.2016 11:51

задание размера div-у в зависимости от окна браузера
 
есть такой код:
<html>
<head>
<meta content="text/html; charset=windows-1251" http-equiv="content-type" />
<script type="text/javascript">
	function findDimensions()
	{
		var	width = document.body.clientWidth;
		var	height = document.body.clientHeight;
		var h = document.getElementById("layer");
		var w = document.getElementById("layer");
		
			h.style.height = height - 30 + "px";
			w.style.width = width - 500 + "px";	
	}
	if (window.addEventListener)
		window.addEventListener("load", findDimensions, false);
	else if (window.attachEvent)
		window.attachEvent("onload", findDimensions);
</script>
</head>
<body>
	<div id="layer" style="width:1000px;  border:2px solid #bb0000;"></div>
</body>
</html>

пролема в том что по высоте размер меняется с помощью h.style.height = height - 30 + "px"; а по ширине нет....
подскажите как исправить

Mess4me 07.02.2016 12:49

ghost666,
<html>
<head>
    <meta content="text/html; charset=windows-1251" http-equiv="content-type" />
    <script type="text/javascript">
        function findDimensions()
        {
            var	width = document.body.clientWidth;
            var	height = document.body.clientHeight;
            var el = document.getElementById("layer");


            el.style.height = height - 30 + "px";
            el.style.width = width - 500 + "px";
        }
        if (window.addEventListener)
            window.addEventListener("load", findDimensions, false);
        else if (window.attachEvent)
            window.attachEvent("onload", findDimensions);
            window.onresize = findDimensions;
    </script>
</head>
<body>
<div id="layer" style="border:2px solid #bb0000;"></div>
</body>
</html>

ghost666 07.02.2016 13:49

спасибо!

рони 07.02.2016 14:07

<style type="text/css">
  html,body{
    height: 100%;
  }
  #layer{
      border:2px solid #bb0000;
      width: calc(100% - 500px);
      height: calc(100% - 30px);
  }
  </style>
<div id="layer" style=""></div>

ghost666 07.02.2016 17:26

второй способ почему-то не работает в опере...

рони 07.02.2016 17:31

Цитата:

Сообщение от ghost666
не работает в опере...

значит не судьба -- что мешает задать проценты и не вычислять ничего width: 50%; height: 95%;


Часовой пояс GMT +3, время: 15:44.