IE7 пускают в ход правильные проблемы

Объяснение Википедии:

Как правило, quicksort значительно быстрее на практике, чем другой О ˜ (nlogn) алгоритмы, потому что его внутренний цикл может быть эффективно реализован на большей части архитектуры, и в большинстве реальных данных возможно сделать проектные решения, которые минимизируют вероятность требования квадратичного времени.

Сортировка с объединением Quicksort

, я думаю, существуют также проблемы с суммой устройства хранения данных, необходимого для Сортировки с объединением (который является О© (n)), что quicksort реализации не имеют. В худшем случае они - та же сумма алгоритмического времени, но сортировка с объединением требует большего количества устройства хранения данных.

48
задан Glorfindel 13 May 2019 в 19:04
поделиться

3 ответа

Вам нужно поместить оба элемента в плавающее положение и очистить его.

<!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>
</head>
<body>
  <div style="border: 1px solid red; width: 100px;">
    <a href="#" style="border-color: blue; float: right;">bar</a>    
    <a href="#" style="float:left;">foo</a>            
    <div style="clear:both;"></div>
  </div>
something
</body>
</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>
</head>
<body>
  <div style="border: 1px solid red; width: 100px;">
    <a href="#" style="border-color: blue; float: right;">bar</a>    
    <a href="#">foo</a>            
  </div>
something
</body>
</html>

Краткое пояснение:

Простите за мой английский и рисунок, но вот кратко, как работают плавание и очистка в кросс-браузере:

Элемент может перемещаться влево или вправо. Когда у вас есть плавающий элемент, он не выталкивает «нормальное» содержимое вниз. Узнайте, почему -

Плавно и ясно:

alt text
Легенда: Оранжевый / Плавающий вправо, Синий / Плавающий слева, Серые линии / Четкий разделитель, Красный Прямоугольник / границы

В этом случае у вас есть 2 элемента одной строки текста - один плавающий влево, а другой плавающий вправо. При плавании он не будет толкать содержимое вниз, иначе говоря, занимая место. Таким образом, если вы не используете clear: both в серых линиях, содержимое ниже будет складываться вверх между двумя плавающими элементами и, следовательно, может быть не тем, что вам нужно.

Когда вы используете clear : both под поплавками, содержимое под поплавками будет сдвинуто до тех пор, пока не будет ни один элемент с самой высокой высотой. Это показано во 2-м и 3-м разделе диаграммы.

Только плавающее:

alt text
Обозначение: оранжевый / плавающий вправо, синий / нормальное содержимое, серые линии / линия, которая разделена следующим, красный прямоугольник / границы

Синий нормальный контент уже по умолчанию text-align: left; . Таким образом, он ориентирован влево. Вам нужно, чтобы float располагался перед обычным контентом, потому что вы говорите браузеру, что он должен перемещаться из этой строки.

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

96
ответ дан 26 November 2019 в 18:44
поделиться

Попробуйте очистить после исправления:

div:after {
    clear: both;
    content: ".";
    display: block;
    height: 0;
    visibility: hidden;
}
0
ответ дан 26 November 2019 в 18:44
поделиться

Всегда полезно для всех IE-Float-Combos: дайте каждому элементу с плавающей запятой display: inline;

1
ответ дан 26 November 2019 в 18:44
поделиться
Другие вопросы по тегам:

Похожие вопросы: