Как заставить div появляться внизу, а не рядом с другим? - PullRequest
67 голосов
/ 22 марта 2010

Я хотел бы поместить свой div ниже списка, но на самом деле он находится рядом со списком. Список генерируется динамически, поэтому у него нет фиксированной высоты. Я хотел бы, чтобы карта div была справа, а слева (рядом с картой) список располагался сверху, а второй элемент div под списком (но все еще справа от карты)

#map { float:left; width:700px; height:500px; }
#list { float:left; width:200px; background:#eee; list-style:none; padding:0; }
#similar { float:left; width:200px; background:#000; } 
<div id="map">Lorem Ipsum</div>        
<ul id="list"><li>Dolor</li></li>Sit</li><li>Amet</li></ul>
<div id ="similar">
    this text should be below, not next to ul.
</div>

Есть идеи?

Ответы [ 6 ]

65 голосов
/ 22 марта 2010

использовать очистить: слева;или ясно: оба в вашем css.

#map { float:left; width:700px; height:500px; }
 #list { float:left; width:200px; background:#eee; list-style:none; padding:0; }
 #similar { float:left; width:200px; background:#000; clear:both; } 


<div id="map"></div>        
<ul id="list"></ul>
<div id ="similar">
 this text should be below, not next to ul.
</div>
38 голосов
/ 22 марта 2010

Я думаю, что для того, что вы хотите, требуется дополнительный div оболочки.

#map {
    float: left; 
    width: 700px; 
    height: 500px;
}
#wrapper {
    float: left;
    width: 200px;
}
#list {
    background: #eee;
    list-style: none; 
    padding: 0; 
}
#similar {
    background: #000; 
}
<div id="map">Lorem Ipsum</div>        
<div id="wrapper">
  <ul id="list"><li>Dolor</li><li>Sit</li><li>Amet</li></ul>
  <div id ="similar">
    this text should be below, not next to ul.
  </div>
</div>
8 голосов
/ 22 марта 2010
#similar { 
float:left; 
width:200px; 
background:#000; 
clear:both;
}
6 голосов
/ 22 марта 2010

Пропустите #list и #similar вправо и добавьте clear: right; к #similar

Вот так:

#map { float:left; width:700px; height:500px; }
#list { float:right; width:200px; background:#eee; list-style:none; padding:0; }
#similar { float:right; width:200px; background:#000; clear:right; } 


<div id="map"></div>        
<ul id="list"></ul>
<div id="similar">this text should be below, not next to ul.</div>

Вам может понадобиться обертка (div) вокруг всех из них, хотя это одинаковая ширина левого и правого элемента.

1 голос
/ 22 марта 2010

что вы также можете сделать, поместив дополнительный «фиктивный» div перед вашим последним div.

Сделайте его высотой 1 px и шириной, необходимой для покрытия контейнера div / body

Это заставит последний div появляться под ним, начиная слева.

0 голосов
/ 05 апреля 2017
#map {
  float: right;
  width: 700px;
  height: 500px;
}
#list {
  float:left;
  width:200px;
  background: #eee;
  list-style: none;
  padding: 0;
}
#similar {
  float: left;
  clear: left;
  width: 200px;
  background: #000;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...