Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 13.09.2013, 19:34
Аватар для bes
bes bes вне форума
Профессор
Отправить личное сообщение для bes Посмотреть профиль Найти все сообщения от bes
 
Регистрация: 22.03.2012
Сообщений: 3,744

твои тестовые примеры работают в точности так, как ты описываешь, поэтому всё у тебя работает

для начала можешь открыть для себя тег style, position: absolute|relative, bottom: 0px, гугл
Ответить с цитированием
  #12 (permalink)  
Старый 15.09.2013, 22:02
Аспирант
Отправить личное сообщение для valyan Посмотреть профиль Найти все сообщения от valyan
 
Регистрация: 05.11.2012
Сообщений: 55

Делаю вот так
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title></title>
    <style type="text/css">
        html {
            height: 100%;
        }

        body {
            margin: 0;
            padding: 0;
            height: 100%;
        }

        #main {
            position: relative;
            height: 100%;
            border: solid 1px blue;
            min-height: 100%;
        }

        #sidebar {
            position: absolute;
            top: 50px;
            left: 0px;
            width: 30%;
            height: 100%;
            border: solid 1px red;
        }

        #content {
            position: absolute;
            top: 50px;
            right: 0px;
            width: 70%;
            height: 100%;
            border: solid 1px green;
        }

        #message {
            position: absolute;
            bottom: 0px;
            right: 0px;
            width: 100%;
            height: 10%;
            border: solid 1px black;
        }

        #header {
            position: absolute;
            top: 0px;
            left: 0px;
            width: 100%;
            border: solid 1px yellow;
            height: 50px;
        }
    </style>
</head>
<body>
    <div id="main">
        <div id="header"></div>
        <div id="sidebar">сидебар</div>
        <div id="content">
            контент
            <div id="message">мессаге</div>
        </div>
    </div>
</body>
</html>

но div-sidebar, div-content, div id-message выходят за границы div-main. Если убрать у div-sidebar, div-content top: 50px, то они накладываются на div-header. Как вариант уменьшить у этих div'ов height, но хотелось, чтобы заполняли всю область, чтобы у других пользователей нормально отображалось.

Последний раз редактировалось valyan, 15.09.2013 в 22:06.
Ответить с цитированием
  #13 (permalink)  
Старый 15.09.2013, 23:49
Аватар для bes
bes bes вне форума
Профессор
Отправить личное сообщение для bes Посмотреть профиль Найти все сообщения от bes
 
Регистрация: 22.03.2012
Сообщений: 3,744

опиши для каждого из блоков (header, footer, content, sidebar): что должно произойти, когда высота их содержимого превысит их высоту

а также header, footer должны ли быть всё время на экране или просто являются крайними
Ответить с цитированием
  #14 (permalink)  
Старый 16.09.2013, 08:23
Аспирант
Отправить личное сообщение для valyan Посмотреть профиль Найти все сообщения от valyan
 
Регистрация: 05.11.2012
Сообщений: 55

Сообщение от bes Посмотреть сообщение
опиши для каждого из блоков (header, footer, content, sidebar): что должно произойти, когда высота их содержимого превысит их высоту
header, footer - здесь тест в блоках фиксированный, т.е. высота их содержимого никогда не привысит их высоту.
content, sidebar - ну тут должен появиться скролл, overflow: auto
Сообщение от bes Посмотреть сообщение
а также header, footer должны ли быть всё время на экране или просто являются крайними
header - должен быть всегда, footer - по клику по ссылке, которая будет находиться в sidebar.
Ответить с цитированием
  #15 (permalink)  
Старый 16.09.2013, 20:11
Аватар для bes
bes bes вне форума
Профессор
Отправить личное сообщение для bes Посмотреть профиль Найти все сообщения от bes
 
Регистрация: 22.03.2012
Сообщений: 3,744

Сообщение от valyan
header - должен быть всегда, footer - по клику по ссылке
так пойдёт?
<!doctype html>
<style>
body {
	height: 100%;
	margin: 0px;
	padding: 0px;
}
#header {
	position: fixed;
	left: 0px;
	top: 0px;
	width: 100%;
	background: red;
	z-index: 100;
}
#content {
	position: relative;
	height: 100%;
	border: solid 1px green;
	padding-top: 1em;
	padding-bottom: 1em;
}
#footer {
	position: fixed;
	left: 0px;
	bottom: -2em;
	width: 100%;
	background: yellow;
}
</style>
<div id="header">header</div>
<div id="content">
	<a href="#" class="sh">show/hide footer</a>
</div>
<div id="footer">footer</div>
<script>
(function () {
	var content = document.getElementById("content");
	for (var i = 1; i <= 100; i++) {
		content.innerHTML += "<br/>" + i;
	}
	document.getElementsByClassName("sh")[0].onclick = function () {
		var fs = document.getElementById("footer").style; 
		if (fs.bottom == "0em") {
			fs.bottom = "-2em";
		} else {
			fs.bottom = "0em";
		}
		
	}
})();
</script>
Ответить с цитированием
  #16 (permalink)  
Старый 16.09.2013, 23:33
css css вне форума
Новичок на форуме
Отправить личное сообщение для css Посмотреть профиль Найти все сообщения от css
 
Регистрация: 16.09.2013
Сообщений: 3

Я не ахти какой спец в css (если что, мой ник к каскадным таблицам стилей не имеет никакого отношения), но, если я верно помню, то display:block заставляет див занимать всю доступную область. И ещё надо бы обнулить стили.
И ещё я бы добавила:
*{box-sizing:border-box;}

Последнее я добавляю, чтоб не манаться с просчётом всяких мэржинов и пэддингов.

Последний раз редактировалось css, 16.09.2013 в 23:36.
Ответить с цитированием
  #17 (permalink)  
Старый 17.09.2013, 08:19
Аспирант
Отправить личное сообщение для valyan Посмотреть профиль Найти все сообщения от valyan
 
Регистрация: 05.11.2012
Сообщений: 55

Сообщение от bes Посмотреть сообщение
так пойдёт?
Не совсем то. Мне нужно получить что-то похожее на то, что я приводил в сообщении №12
Ответить с цитированием
  #18 (permalink)  
Старый 18.09.2013, 09:23
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,123

Сообщение от valyan
Ну допустим не в таблице, как это сделать с помощью дивов
1000р и я сделаю тебе макет...
Ответить с цитированием
  #19 (permalink)  
Старый 18.09.2013, 16:47
Аспирант
Отправить личное сообщение для valyan Посмотреть профиль Найти все сообщения от valyan
 
Регистрация: 05.11.2012
Сообщений: 55

Сообщение от ksa Посмотреть сообщение
1000р и я сделаю тебе макет...
нее, я сам помучаюсь.
Ответить с цитированием
  #20 (permalink)  
Старый 18.09.2013, 19:35
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,123

Сообщение от valyan
я сам помучаюсь
Не нужно мучаться... Книжки начинай читать.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Резиновый дизайн debugx (X)HTML/CSS 22 19.08.2011 16:35
Не получается поменять высоту div revvo jQuery 4 06.08.2011 13:12