powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Как выравнять одновременно по горизонтали и с отступами?
25 сообщений из 34, страница 1 из 2
Как выравнять одновременно по горизонтали и с отступами?
    #38477493
user7320
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вёрстка на div.

Надо, чтобы хеадер был всегда растянут по всей длине, а его содержимое - всегда находилось посередине и имело границы ширины (минимум и максимум) и поля справа и слева. Тоже и для содержимого страницы под хеадером. Но в содержимом две колонки - слева меню, а справа - собственно содержимое (контент). И требуется такое поведение при разных размерах окна браузера:

широкое окно - здесь всё понятно: видно обёртки и сами хеадер и содержимое




узкое окно - здесь содержимое не влазиет в окно, а обёртки оказываются полностью перекрыты тем, что они оборачивают;
при скролле окна вправо видно непоместившееся содержимое в нормальном оформлении - т. е. с хеадером и контентом



на деле же я получаю вот это - при скролле вправо видно только контент, а само оформление пропадает



Пример http://jsfiddle.net/WxaB3/9/ .

Проблема похожа на ту, что есть в редакторе формы на этом форуме . Только там это, похоже, из-за фиксированной ширины хеадера, а у меня из-за причуд компоновки.

Хочу заметить, что стоит только в стилях у идентификаторов header и page заменить min-width и max-width на просто width, как поведение становится таким, какое я хочу. Однако, я хочу же ещё и чтобы страница была "резиновой" в определённых пределах.
...
Рейтинг: 0 / 0
Как выравнять одновременно по горизонтали и с отступами?
    #38477527
Фотография Малыхин Сергей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Браузеры не разрывают слова для переноса на новую строку
Или же вопрос в другом?
...
Рейтинг: 0 / 0
Как выравнять одновременно по горизонтали и с отступами?
    #38477560
user7320
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Малыхин СергейБраузеры не разрывают слова для переноса на новую строку
Или же вопрос в другом?
Вопрос в том, чтобы заставить прорисовываться header и page за скроллом в вышеописанной ситуации. Перенос слов мне не тут нужен.
...
Рейтинг: 0 / 0
Как выравнять одновременно по горизонтали и с отступами?
    #38477562
user7320
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
user7320Перенос слов мне не тут нужен.
Я имел ввиду, что о переносе слов я тут не говорю.
...
Рейтинг: 0 / 0
Как выравнять одновременно по горизонтали и с отступами?
    #38477601
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
user7320Хочу заметить, что стоит только в стилях у идентификаторов header и page заменить min-width и max-width на просто width, как поведение становится таким, какое я хочу.
Значитт это и нужно оставить.

user7320Однако, я хочу же ещё и чтобы страница была "резиновой" в определённых пределах.
Тогда и ограничивай весь контент сразу, а не отдельные его элементы...
...
Рейтинг: 0 / 0
Как выравнять одновременно по горизонтали и с отступами?
    #38477606
user7320
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
krvsauser7320Однако, я хочу же ещё и чтобы страница была "резиновой" в определённых пределах.
Тогда и ограничивай весь контент сразу, а не отдельные его элементы...
Не могли бы вы пояснить, что вы имеете ввиду? Если вы про обёртки, то их ограничить я не могу, т. к. они содержат декоративные элементы, типа фона, заливок, границ, которые должны быть растянуты по всей длине страницы, какой бы ширины окно браузера ни было. А вот их содержимое должно быть при большой ширине окна браузера достаточно компактным (не растягиваться на весь FullHD монитор), а при недостаточной - иметь аккуратную прокрутку, как у страниц с фиксированной шириной. Вобщем, так задумано дизайном.

Приведите, пожалуйста, пример вашего совета в коде, на который я дал ссылку (jsfiddle). А то я не могу понять, что вы имеете ввиду. Если надо ввести дополнительные обёртки, элементы там (или наоборот - убрать старые), но чтобы описанное мной поведение страниц сохранялось - ради бога, только скажите, как.
...
Рейтинг: 0 / 0
Как выравнять одновременно по горизонтали и с отступами?
    #38477616
user7320
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
krvsauser7320Однако, я хочу же ещё и чтобы страница была "резиновой" в определённых пределах.
Тогда и ограничивай весь контент сразу, а не отдельные его элементы...
Грубо говоря, хеадер у меня - это полоска фона. Как на картинках. А содержимое хеадера - с прозрачным фоном, т. е. на фоне это полоски. И вот при растягивании окна полоска должна быть от края и до края, а содержимое - компактное и посередине. При сжатии же окна фон хеадера всё равно остаётся (т. к. фон содержимого прозрачен), а содержимое, которое не помещается, должно показываться через прокрутку. Но при этом после прокрутки и фон хеадера должен отрисоваться. У меня же не отрисовываются ни фон хеадера, ни фон содержимого хеадера. А такая задумка с дизайном, что я поисал, по-моему, достаточно привлекательна.

Понимаете, то, что я поисал, в каком-нибудь WPF делается элементарно. В HTML же мало того, что многих поведений без обёрток не добиться (элементам не хватает свойств, поэтому приходится их оборачивать, "добавляя" свойства), так ещё и реализовано всё как-то через задницу, извините за выражение - то через костыли, типа использования всяких свойств, характерных только для webkit или только для Мозиллы, то через ещё бОльшие костыли, типа задания всяких жёстких отступов, перекрытий и прочего. Из-за этого настоящий "резиновый" дизайн в HTML очень трудно поддерживать и непонятно, как он себя поведёт при перемене.
...
Рейтинг: 0 / 0
Как выравнять одновременно по горизонтали и с отступами?
    #38477657
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
user7320Не могли бы вы пояснить, что вы имеете ввиду?
Я х/з, что у тебя будет реально...
Но, как вариант с полосками - сделай широкие полоски отдельно, а внутренний контент отдельно.

Либо ограничения делай так, что бы весь внутренний контент помещался полностью, а не так как сейчас...
...
Рейтинг: 0 / 0
Как выравнять одновременно по горизонтали и с отступами?
    #38477667
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
user7320Грубо говоря, хеадер у меня - это полоска фона. Как на картинках. А содержимое хеадера - с прозрачным фоном, т. е. на фоне это полоски.
Уже лучше!
Тот фон (полосками) можно даже дать боди, а контент разместить т.с. "поверх" тех полосок.
Останется только "совместить" высоту всех "участников".
...
Рейтинг: 0 / 0
Как выравнять одновременно по горизонтали и с отступами?
    #38477753
bodpad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
user7329, я бы очен хотел Вам помочь, но боюсь некорректно понял вопрос.
Вам нужно,чтобы при уменьшении окна горизонтально, текст синего полупрозрачного слоя понимал и соответствующе реагировал т.е. переносил содержимое вниз а не прятал его за пределы окна?
...
Рейтинг: 0 / 0
Как выравнять одновременно по горизонтали и с отступами?
    #38477779
user7320
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
krvsauser7320Не могли бы вы пояснить, что вы имеете ввиду?
Я х/з, что у тебя будет реально...
Но, как вариант с полосками - сделай широкие полоски отдельно, а внутренний контент отдельно.
Широкие полоски - это обёртки? У меня они и так отдельно от контента. Посмотрите http://jsfiddle.net/WxaB3/9/ .

krvsaЛибо ограничения делай так, что бы весь внутренний контент помещался полностью, а не так как сейчас...
У меня внутренний контент помещается нормально. В том смысле, что min-width достаточна, чтобы внутренний контект поместился. А ограничить пользователя уменьшать размер окна браузера я не могу.

krvsauser7320Грубо говоря, хеадер у меня - это полоска фона. Как на картинках. А содержимое хеадера - с прозрачным фоном, т. е. на фоне это полоски.
Уже лучше!
Тот фон (полосками) можно даже дать боди, а контент разместить т.с. "поверх" тех полосок.
Останется только "совместить" высоту всех "участников".
Это я тоже попробую, но в последнюю очередь, т. к. костыльнй костыль - при изменении не всё само собой подтянется, а придётся перерисовывать фон боди и прочие подгонки делать. Не "резиновый сайт", "а сайт на соплях" получится.

bodpaduser7329, я бы очен хотел Вам помочь, но боюсь некорректно понял вопрос.
Вам нужно,чтобы при уменьшении окна горизонтально, текст синего полупрозрачного слоя понимал и соответствующе реагировал т.е. переносил содержимое вниз а не прятал его за пределы окна?
Нет. Мне надо, чтобы пряталось за пределы окна. Появление полосы прокрутки - это нормально. Но мне также надо, чтобы после прокрутки фон хеадера (да и фон страницы тоже) также отрисовывался. Вместо этого они принимают свои значения min-width и дальше нивкакую.
...
Рейтинг: 0 / 0
Как выравнять одновременно по горизонтали и с отступами?
    #38477791
user7320
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У меня такое ощущение, что там надо всего ничего подправить. А в выделенной фразе - ключевое.

...Хмм, похоже, кто говорил, что надо сделать контент страницы, помещающийся в min-width, прав. А я вас неправильно понял. Вобщем, как я понял, нужно, чтобы максимальный размер блочного элемента в контенте страницы был меньше либо равен min-width.
...
Рейтинг: 0 / 0
Как выравнять одновременно по горизонтали и с отступами?
    #38477838
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
user7320krvsaЛибо ограничения делай так, что бы весь внутренний контент помещался полностью, а не так как сейчас...
У меня внутренний контент помещается нормально. В том смысле, что min-width достаточна, чтобы внутренний контект поместился.
Это не так.
Код: css
1.
min-width: 200px;


Не достаточно для контента.
Для покрытия "всех букв" нужно
Код: css
1.
min-width: 305px;
...
Рейтинг: 0 / 0
Как выравнять одновременно по горизонтали и с отступами?
    #38477860
user7320
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
krvsauser7320пропущено...

У меня внутренний контент помещается нормально. В том смысле, что min-width достаточна, чтобы внутренний контект поместился.
Это не так.
Код: css
1.
min-width: 200px;


Не достаточно для контента.
Для покрытия "всех букв" нужно
Код: css
1.
min-width: 305px;


Да, я уже понял - я выше написал.

Так как исправить эту проблему?
Я так понял, надо подбирать min-width, равной максимальной ширине блочных элементов в контенте страницы?

Ещё вот какая штука.
Если сделать, чтобы min-width сам растягивался, чтобы поместить контент, то это плохо.
На многих форумах (типа этого, например) это используется хулиганами, чтобы делать очень широкие страницы.
Вот, например:

аааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааа

Поэтому либо лучший вариант, я думаю, это обрезать непомещающийся контент (не помню, каким настройками в CSS это делается), а до этого - следить, чтобы непомещающегося контента не возникало.
...
Рейтинг: 0 / 0
Как выравнять одновременно по горизонтали и с отступами?
    #38477883
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
user7320Так как исправить эту проблему?
Я про такой вариант писал...

Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
<!DOCTYPE html>
<html>
<head>
<!--
<script src="http://code.jquery.com/jquery-latest.js"></script>
<link rel="stylesheet" type="text/css" href="tmp.css" />
-->
<style type="text/css">
* {
	margin: 0;
	padding: 0;
}
#head {
	position: relative;
}
#background {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
    background: DeepSkyBlue;
}
#background > div {
	height: 50%;
    background: LightCoral;
}
#container {
	position: relative;
    min-width: 300px;
    max-width: 400px;
	margin-left: auto;
	margin-right: auto;
}
#header {
    background: LightPink;
}
#page {
    background: LightBlue;
}
#leftMenu{
    float: left;
    width: 70px;
}
</style>
<script type="text/javascript">
</script>
</head>
<body>
<div id="head">
	<div id='background'>
		<div></div>
	</div>
	<div id='container'>
		<div id="header">
            <b>header</b>
		</div>
		<div id="page">
			<div id="leftMenu">
				<b>leftMenu</b>
			</div>
			<div id="content">
				<b>ContentContentContentContent</b>
			</div>
		</div>
	</div>
</div>
</body>
</html>


Х/з на сколько он тебе подойдет...
...
Рейтинг: 0 / 0
Как выравнять одновременно по горизонтали и с отступами?
    #38478682
bodpad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
overflow-y: auto; - это то как я понял вопрос.

Ну а может скинете ваш хтмл или дайте ссылку на эту испорченную верстку, так нам действительно будет легче понять
...
Рейтинг: 0 / 0
Как выравнять одновременно по горизонтали и с отступами?
    #38478851
user7320
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bodpadНу а может скинете ваш хтмл или дайте ссылку на эту испорченную верстку, так нам действительно будет легче понять
http://jsfiddle.net/WxaB3/9/
...
Рейтинг: 0 / 0
Как выравнять одновременно по горизонтали и с отступами?
    #38478860
bodpad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
попробуйте для начала к #content добавить overflow:hidden
...
Рейтинг: 0 / 0
Как выравнять одновременно по горизонтали и с отступами?
    #38478866
bodpad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Извиняюсь
к #content добавить overflow-x: auto
...
Рейтинг: 0 / 0
Как выравнять одновременно по горизонтали и с отступами?
    #38479009
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bodpadк #content добавить overflow-x: auto
Ты сам-то добавлял?
http://jsfiddle.net/WxaB3/12/
...
Рейтинг: 0 / 0
Как выравнять одновременно по горизонтали и с отступами?
    #38480090
Zoria
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
решение уже найдено?
...
Рейтинг: 0 / 0
Как выравнять одновременно по горизонтали и с отступами?
    #38480163
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Zoriaрешение уже найдено?
Мой пример выше работает.
...
Рейтинг: 0 / 0
Как выравнять одновременно по горизонтали и с отступами?
    #38480208
user7320
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
krvsauser7320Так как исправить эту проблему?
Я про такой вариант писал...

Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
<!DOCTYPE html>
<html>
<head>
<!--
<script src="http://code.jquery.com/jquery-latest.js"></script>
<link rel="stylesheet" type="text/css" href="tmp.css" />
-->
<style type="text/css">
* {
	margin: 0;
	padding: 0;
}
#head {
	position: relative;
}
#background {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
    background: DeepSkyBlue;
}
#background > div {
	height: 50%;
    background: LightCoral;
}
#container {
	position: relative;
    min-width: 300px;
    max-width: 400px;
	margin-left: auto;
	margin-right: auto;
}
#header {
    background: LightPink;
}
#page {
    background: LightBlue;
}
#leftMenu{
    float: left;
    width: 70px;
}
</style>
<script type="text/javascript">
</script>
</head>
<body>
<div id="head">
	<div id='background'>
		<div></div>
	</div>
	<div id='container'>
		<div id="header">
            <b>header</b>
		</div>
		<div id="page">
			<div id="leftMenu">
				<b>leftMenu</b>
			</div>
			<div id="content">
				<b>ContentContentContentContent</b>
			</div>
		</div>
	</div>
</div>
</body>
</html>


Х/з на сколько он тебе подойдет...

Я сравнил - с моим вариантом принципиальных различий нет. Разве что вы и хеадер и контект с меню поместили в один контейнер, для которого задали те же параметры, что я задал для двух отдельных элементов. Ну, а поскольку принципиальных различий нет, то и ошибки ваш вариант содержит те же, и поведение такое же, как и у моего. Хотя, поведение как раз правильное - если блочный контент больше min-width, то он выходит за края родительского контейнера, и тут игры с перекрытиями не помогут - надо либо следить за размерами контента, либо растягивать родителя под контент потомка, либо делать контент инлайновым. Если контент принципиально не инлайнится, то остаётся только следить за его размерами.

Zoriaрешение уже найдено?
Решение - то, что я в этом сообщении выше написал. Разметка работает правильно, а неправильно - допускание такого контента, который не вписывается в эту разметку. Или же надо подгонять разметку под контент.

Тут проблема в дизайне. И она скорее философского плана. Т. е. нельзя безапеляционно сказать, плоха эта моя разметка или нет - всё зависит, какие цели она преследует. Если делать адаптивную разметку (в частности, не задавать рамки для width, а сделать их вычисляемыми по контенту), то возникает вопрос модерирования контента, чтобы исключить непредсказуемое поведение разметки. Если сделать фиксированную разметку, то возникает... снова возникает вопрос модерирования контента.
...
Рейтинг: 0 / 0
Как выравнять одновременно по горизонтали и с отступами?
    #38480218
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
user7320Я сравнил - с моим вариантом принципиальных различий нет.
Да ну нафик!

user7320Ну, а поскольку принципиальных различий нет, то и ошибки ваш вариант содержит те же, и поведение такое же, как и у моего.
Ну как так?
У тебя фон не закрывает слова - у меня закрывает. За это и боролись!
...
Рейтинг: 0 / 0
Как выравнять одновременно по горизонтали и с отступами?
    #38480233
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
krvsaУ тебя фон не закрывает слова - у меня закрывает. За это и боролись!
Хотя если опять начать уменшать
Код: css
1.
min-width: 100px;


слова вылезут за пределы фона...

Т.ч. нужно все равно правильно ограничивать ширину центральной части.
...
Рейтинг: 0 / 0
25 сообщений из 34, страница 1 из 2
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Как выравнять одновременно по горизонтали и с отступами?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]