37 / 31 / 3
Регистрация: 16.11.2010
Сообщений: 451
1

Сжатие содержимого внутри див при уменьшении экрана

05.10.2011, 20:26. Показов 13360. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
В хедере стоит три блока - левый и правый фиксированые а средний плавающий. В среднем блоке размещены три дива. Правый фиксированный с абсолютным позиционированием. Левый - флоат. При уменьшении монитора средний блок вылетает а содержимое левого и правого соединяются. Как сделать, чтобы все плавно сжималось?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.10.2011, 20:26
Ответы с готовыми решениями:

Див расползается при уменьшении окна
http://naast.ru/ - сайт, над менюшкой есть - Карта сайта, en ru, tw, fb, rss. На мобильниках,...

захват содержимого экрана и сжатие
Преподаватель поставил такую задачу: найти (или написать самим) проект по захвату содержимого...

При уменьшении экрана браузера блок уходит за левый край экрана
left 50% и margin-left:-width/2 при уменьшении экрана браузера уходит за левый край экрана. как...

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

5
front-end developer
284 / 275 / 39
Регистрация: 31.08.2010
Сообщений: 577
Записей в блоге: 1
05.10.2011, 23:39 2
Вы можете продемонстрировать код? Сложно что либо говорить не видя верстки перед собой.
0
37 / 31 / 3
Регистрация: 16.11.2010
Сообщений: 451
06.10.2011, 00:13  [ТС] 3
Три блока внутри класса миддле:

HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<div id="wrapper">
   <div id="middle">
       <div class="header">
       <div class="container">
  <div class="headleft">
</div><!------------headleft------------>    
         <div class="middle">
         
         <div id="log"></div>
         <div id="logo"></div>
         <div id="slog"></div>
 
        </div><!---------------class"middle"---------> 
     </div><!--------------- class=container----->    
      <div class="headright">
        </div><!----- headright------------>
           </div><!-------header---->
CSS
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
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
#wrapper {
    min-width: 800px;
    max-width: 1400px;
    margin: 0 auto;
}
 
 
/* Header
-----------------------------------------------------------------------------*/
.header {min-width: 800px;
    max-width: 1400px;
    margin: 0 auto;
     height: 172px;   
}
 
.headleft { 
    float:left; 
    height:160px; 
    width:250px;
    margin:10px 10px 0px 10px;
        border:solid 1px #225599;
 behavior: url(PIE.hts);
-moz-border-radius: 20px;
-webkit-border-radius: 20px;
-khtml-border-radius: 20px;
border-radius: 20px;
}
 
.middle { 
 margin:10px 275px 0px 275px;
     height:160px;     
     border:solid 1px #225599;  
     behavior: url(PIE.hts);
-moz-border-radius: 20px;
-webkit-border-radius: 20px;
-khtml-border-radius: 20px;
border-radius: 20px;
  }
.headright { position:absolute;
    margin:10px 0px 0px 10px;
    right:10px;
    height:160px; 
    width:250px;
    border:solid 1px #225599;
 behavior: url(PIE.hts);
-moz-border-radius: 20px;
-webkit-border-radius: 20px;
-khtml-border-radius: 20px;
border-radius: 20px;
}
#log {float:left; padding-left:25px; 
}
 
#logo {float:left; background:url(../img/lady.jpg); background-repeat:no-repeat;
width:281px;
height:159px; 
}
#slog {position:absolute;
right:280px;
       width:250px;
}
.clearfloats {clear:both;}
/* Middle
-----------------------------------------------------------------------------*/
#middle {
    width: 100%;
    height: 1%;
    position: relative;
}
#middle:after {
    content: '.';
    display: block;
    clear: both;
    visibility: hidden;
    height: 0;
}
#container {background: #FFFFFF;
    width: 100%;
    float: left;
    overflow: hidden;
}
.container {background: #FFFFFF;
    width: 100%;
    float: left;
    overflow: hidden;
0
44 / 37 / 6
Регистрация: 30.07.2008
Сообщений: 136
06.10.2011, 14:29 4
В спецификации CSS написано следующее:
If the current box is left-floating, and there are any left-floating boxes generated by elements earlier in the source document, then for each such earlier box, either the left outer edge of the current box must be to the right of the right outer edge of the earlier box, or its top must be lower than the bottom of the earlier box. Analogous rules hold for right-floating boxes.
Если текущий ящик плавающий налево и есть плавающие налево ящики сгенерированные ранее тогда для каждого предыдущего ящика либо левая внешняя граница текущего ящика должна быть справа от правой внешней грани предыдущего ящика либо вершина текущего ящика должна быть ниже чем низ предыдущего ящика. Аналогично правило применяется к плавающим направо ящикам.

Это значит что то что средний ящик выпадает вниз от предыдущего соответствует спецификации. Как сделать так чтобы они не выпадали а всегда оставались в одной строке я и сам хотел бы узнать.
1
35 / 35 / 1
Регистрация: 27.07.2011
Сообщений: 85
06.10.2011, 15:06 5
Только если задавать контейнеру этих плавающих элементов минимальную или фиксированную ширину больше(или равную) суммарной ширины контейнеров внутренних элементов.
0
37 / 31 / 3
Регистрация: 16.11.2010
Сообщений: 451
06.10.2011, 15:10  [ТС] 6
Цитата Сообщение от Rikani Посмотреть сообщение
Только если задавать контейнеру этих плавающих элементов минимальную или фиксированную ширину больше(или равную) суммарной ширины контейнеров внутренних элементов.
т.е задавать абсолют и делать контейнер накладным?
0
06.10.2011, 15:10
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.10.2011, 15:10
Помогаю со студенческими работами здесь

Адаптивное меню при уменьшении экрана
Подскажите, пожалуйста. Данное горизонтальное меню при уменьшении экрана становится вертикальным....

Добавление стиля при уменьшении экрана
Здравствуйте! Как сделать так чтобы при уменьшении окна (например когда ширина окна менее 500px) в...

При уменьшении экрана ползет разметка
Есть &lt;div&gt; с контентом и при уменьшении размеров экрана контент вылазит на границу &lt;div&gt; Как лечить...

Как сделать смену содержимого блока при нажатии на див
Нужно сделать так что бы при нажатии на панель высвечивалось описание пакета и при том событие...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru