Помогите сделать резиновый блок и блоки чтоб в нём не наползали друг на друга

Kristinka77

Гуру форума
Регистрация
30 Янв 2015
Сообщения
177
Реакции
65
Мне надо чтоб красный блок основной был как бы резиновый, а два блока в нём стояли на своих местах и когда страницу сжимаешь по горизонтали чтоб эти два блока жёлтый и синий не наползали друг на друга, вот смотрите на скринах:

Для просмотра ссылки Войди или Зарегистрируйся

и вот если сжать страницу, красный нормально сжался, жёлтый вроде на месте но синий пролез под жёлтым и вылез слева:

Для просмотра ссылки Войди или Зарегистрируйся

HTML такой:

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Документ без названия</title>
<link href="proba.css" rel="stylesheet" type="text/css">
</head>
<body>
<div class="blok1">
<div class="blok2"></div>
<div class="blok3"></div>
</div>
</body>
</html>

А в CSS вот что у меня:

.blok1 {
position: relative;
height: 150px;
width: 100%;
background-color: #F00;
}
.blok2 {
position: absolute;
left: 6px;
top: 10px;
height: 89px;
width: 308px;
background-color: #FF0;
}

.blok3 {
position: absolute;
height: 89px;
width: 750px;
top: 10px;
right: 10px;
background-color: #00F;
}

Где я напортачила? Нужно чтоб как при полной странице блоки стояли на своих местах, и между ними было фиксированное расстояние так и при сжатой странице чтоб они выглядили одинаково и расстояние между ними не менялось и чтоб они никуда не налазили и не вылезали... Плиз помогите мне , я только начала изучать это дело, сложно.
 
Если оставлять их фиксированной шириной (308px и 750px), то при сжатии страницы, они должны куда то деваться.
Как вариант - проставить у всех блоков display:inline-block, а ширину задать в процентах
 
Если оставлять их фиксированной шириной (308px и 750px), то при сжатии страницы, они должны куда то деваться.
Как вариант - проставить у всех блоков display:inline-block, а ширину задать в процентах

не получилось , все блоки встали кучкой слева почему то :(
 
Код:
.blok2 {
    position: absolute;
    left: 6px;
    top: 10px;
    height: 89px;
    width: 20%;
    background-color: #FF0;
}

.blok3 {
    position: absolute;
    height: 89px;
    width: 60%;
    top: 10px;
    right: 10px;
    background-color: #00F;
}

Но вообще это решение очень плохое.
Если вы делаете что то адаптивное, то сначала советую изучить досконально Html и css, затем почитать про bootstrap
 
Последнее редактирование модератором:
а как вы вычислили эти 20% и 60% ?
 
Никак, взял на глаз. На первом скрине приблизительно так.
В любом случае он у вас на разной ширине смотрелся по разному.
 
нет , всё равно с процентами это не то ... если блок с картинкой то вообще ерунда получается
 
Покажите пример того, что вы хотите сделать.
Есть готовый похожий вариант?
 
Покажите пример того, что вы хотите сделать.
Есть готовый похожий вариант?

готовый показать я не нашла. Но в ДЛЕ вверх стандартного шаблона версии 10.6 надо вставить два баннера и лого... Ума не приложу как сделать. В нормальном разрешении страницы всё нормально, но стоит её сжать то вся шапка ломается.
 
Задайте для красного:
width: 100%; min-width: Npx;

Где N - минимальная ширина, при которой блоки не наплывают.

Или второй вариант с float + clear

+ position: relative, а не absolute должно быть
 
Назад
Сверху