Jump to content
  • 0

Резина не резинит


Ritter
 Share

Question

Имеется левый, центровой, правый блок. Все эти 3 блока в одном большом блоке, В общем банальная картина. Центровому блоку поставлена резиновая ширина, но при уменьшении от максимума, переносится вниз правый блок, а центровый не резинится вообще. Какие есть варианты?

css:

Левый:
width:200px;
float:left;

Центр:
max-width: 564px;
min-width:400px;
float:left;

Правый:
width:200px;
float:right;

Большой
max-width:1084px;
min-width:984px;
margin:0px auto;

Link to comment
Share on other sites

Recommended Posts

  • 0
Я знаю. Какие есть варианты, на что обратить внимание?

Ну например если ты хочешь, чтобы середина тянулась, не стоит её флоатить и при этом задавать минимальную ширину. Сделай тогда все колонки в %.

Link to comment
Share on other sites

  • 0
Ну например если ты хочешь, чтобы середина тянулась, не стоит её флоатить и при этом задавать минимальную ширину. Сделай тогда все колонки в %.

Не стал флоатить середину. Теперь середина тоже, всместе с правым сместилась вниз.

Link to comment
Share on other sites

  • 0

«трехколоночный макет» в Google.

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

Link to comment
Share on other sites

  • 0
«трехколоночный макет» в Google.

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

Напишу еще раз, у меня не просто 3 блока расположенных на странице, которые нужно растянуть.

Мне нужно чтобы в элементе, например, page с фиксом 1000 px, были 3 элемена: левый с фикс, правый с фикс и резиновая середина между ними. Этим элементам пофигу на блоки рядом, каждый из этих 3, готов растянуться в 1000px. Вот как сделать, чтобы тянулся 1 элемент (середина). Приэтом все три элемента не превышают 1000 px.

Edited by Ritter
Link to comment
Share on other sites

  • 0
Мне нужно чтобы в элементе, например, page с фиксом 1000 px, были 3 элемена: левый с фикс, правый с фикс и резиновая середина между ними.

Вот тут вы совершенно четко описали трехколоночный макет... ну хорошо, трехколоночный макет засунутый не в боди а в 1000-пиксельный див.

Этим элементам пофигу на блоки рядом, каждый из этих 3, готов растянуться в 1000px.

Тут вы противоречите сами себе. Либо у вас "левый фикс" и "правый фикс", либо "каждый из этих 3, готов растянуться в 1000px". Определитесь.

Link to comment
Share on other sites

  • 0
Вот тут вы совершенно четко описали трехколоночный макет... ну хорошо, трехколоночный макет засунутый не в боди а в 1000-пиксельный див.

Если это так, то по примерам не получается хоть убей.

Тут вы противоречите сами себе. Либо у вас "левый фикс" и "правый фикс", либо "каждый из этих 3, готов растянуться в 1000px". Определитесь.

Ок, мне нужна только середина в резине, она растягивается во весь 1000px, смещая блоки.

CSS:

#page {
max-width:1084px;
min-width:982px;
margin:0 auto;
padding:10px;
background:#eeeeee;
}

#left {
width:220px;
float: left;
margin-top:1px;
background:#fff;

#center {
width: 100%;
background:#fff;
padding:10px;
float: left;
border-top:1px solid #ececec;
}

#right {
width:260px;
float:right;
margin-top:1px;
background:#fff;
}

Edited by Ritter
Link to comment
Share on other sites

  • 0

Ritter,

Например так


.wrapper {
max-width:1084px;
min-width:984px;
margin:0px auto;
}
.left {
width:200px;
float:left;
}
.center{
margin-left: 201px;
margin-right: 201px;
}
.right {
width:200px;
float:right;
}

<div class="wrapper">
<div class="left">
</div>
<div class="right">
</div>
<div class="center">
</div>
</div>

Если нужно, чтобы контент в разметке был выше, будет немного другая разметка.

Link to comment
Share on other sites

  • 0

Ужас какой-то...

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">

<head>
<title>An XHTML 1.0 Strict standard template</title>
<meta http-equiv="content-type" content="text/html;charset=utf-8" />
<meta http-equiv="Content-Style-Type" content="text/css" />

<style type="text/css">
* {
margin: 0;
padding: 0;
font: 14px Arial, Tahoma, Verdana, sans-serif;
}

div {
height: 500px;
}

.container {
overflow: hidden;
width: 1000px;
margin: 0 auto;
}

.left,
.right {
width: 150px;
background: pink;
}

.left {
float: left;
}

.right {
float: right;
}

.center {
margin: 0 150px;
background: lightblue;
}
</style>
</head>

<body>

<div class="container">
<div class="left"></div>
<div class="right"></div>
<div class="center"></div>
</div>

</body>
</html>

Link to comment
Share on other sites

  • 0

Great Rash, пожалуйста помоги сделать из этого примера html странички. На ней видно мою проблему.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<style type="text/css">

#page {
max-width:1084px;
min-width:982px;
margin:0 auto;
padding:10px;
background:#eeeeee;
}

#left {
width:220px;
float: left;
margin-top:1px;
background:#fff;
}

#center {
width: 100%;
background:#fff;
padding:10px;
float: left;
border-top:1px solid #ececec;
}

#right {
width:260px;
float:right;
margin-top:1px;
background:#fff;
}
</style>

</head>

<body>
<div id="page">
<div id="left"> прмпмло оам ылоумрувр олур мур кмрукмр клуроммулм мку лмрулмр друм удм рдкм рдл му </div>
<div id="center">мукмку уууу ууууу ууу уууууууууу м ук ум умум мму м укуммк</div>
<div id="right">ыомльрвам мвам вмв вамм вам ва ва амв авмвм вамвам м в а ва мвм в</div>
</div>

</body>

</html>

Link to comment
Share on other sites

  • 0
Вы подумать можете хоть чуток или вам только готовые примеры подавай?

Если вы знаете решение проблемы то помогите, если не знаете - промолчите.

Я попробывал так сделать. середина все равно занимает весь 1000px div, выходя за рамки левого и правого блока.

Link to comment
Share on other sites

  • 0
Я попробывал так сделать. середина все равно занимает весь 1000px div, выходя за рамки левого и правого блока.

Тогда я не понимаю, что вам нужно.

1) Окно на весь экран

f77921d92875t.jpg

2)Уменьшение размера окна

1e0e4afcc419t.jpg

С уменьшением окна, правый и левый блок остаются прежними. Средний изменяется в размерах .

Edited by sigma77
Link to comment
Share on other sites

  • 0
Самое время картинку показать.

Решения по вашим объяснениям приведены, дважды.

http://files.mail.ru/JR7EMG

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

Link to comment
Share on other sites

  • 0
http://files.mail.ru/JR7EMG

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

Повторюсь, Вам уже ДВАЖДЫ показали готовое решение с резиной (к слову сказать, в примере Вашем резины нету никакой).

Link to comment
Share on other sites

  • 0

Ок, пусть будет так как показывали. Тогда в этом случае, как сделать чтобы правый блок не смещался вниз. Обязательное условие, правый блок должен идти после div center, т.е.:

 <div class="container">
<div class="left"></div>

<div class="center"></div>

<div class="right"></div>
</div>

Мне нужно чтобы в коде было имеено так. Но в этом случае правый блок смещается вниз.

В примере показано:

 <div class="container">
<div class="left"></div>

<div class="right"></div>

<div class="center"></div>
</div>

В этом случае блок не смещается , но разположение блоков в коде мне не подходит.

Edited by Ritter
Link to comment
Share on other sites

  • 0

Ritter,

Тогда так


* {padding: 0; margin: 0;}

.wrapper {
min-width: 760px;
max-width: 1020px;
margin: 0 auto;
position: relative;
}
* html .wrapper {height: 1px;}

.left {
position: absolute;
top: 0;
left: 0;
width: 200px;
background: green;
}

.center{
background: orange;
margin: 0 200px;
}

.right {
width:200px;
position: absolute;
top: 0;
right: 0;
background: blue;
}

Link to comment
Share on other sites

  • 0
sigma77, огромный респект тебе. спасибо.

Теперь вот как сделать, чтобы левый и правый блок при условии position:absolute; не лезли на элементы распологающих ниже их.

Еще страшнее, как сделать, чтобы при переполнее в них контента они не проваливались через своего родителя...

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy