Java double - это номер двоичного кода IEEE 754.
Это означает, что нам нужно рассмотреть:
Это в основном означает, что существует всего 2 ^ 62-2 ^ 52 + 1 возможных двойных представлений, которые в соответствии со стандартом находятся между 0 и 1. Заметим, что 2 ^ 52 + 1 - это удаление случаев ненормированных чисел.
Помните, что если мантисса положительна, а показатель отрицательного числа положителен, но меньше 1: -)
Для других чисел это немного сложнее, Целочисленные числа краев могут не отображаться точным образом в представлении IEEE 754 и потому, что есть другие биты, используемые в экспоненте, чтобы они могли представлять числа, поэтому чем больше число, тем ниже различные значения.
Решение на самом деле очень простое, но не все очевидно. Вы должны вызвать нечто, называемое «контекстом форматирования блока» (BFC), который определенным образом взаимодействует с float.
Просто возьмите этот второй div, удалите float и дайте ему overflow: hidden
вместо. Любое значение переполнения, кроме видимого, превращает установленный блок в BFC. BFC не позволяют дочерним поплавкам выходить из них, а также не позволяют поплавкам братьев и сестер / предков вторгаться в них. Чистый эффект здесь заключается в том, что плавающий div будет делать свое дело, тогда второй div будет обычным блоком, занимающим всю доступную ширину , за исключением того, что занято float .
Это должно работать во всех текущие браузеры, хотя вам, возможно, придется запускать hasLayout в IE6 и 7. Я могу ' Напомним.
Демонстрации:
Если обе ширины имеют переменную длину, почему бы вам не вычислить ширину с помощью скриптов или серверной части?
<div style="width: <=% getViewWidth() %>">View</div>
Взгляните на доступные рамки макета CSS. Я бы порекомендовал Simpl или, немного более сложный, фреймворк Blueprint.
Если вы используете Simpl (который предполагает импорт только одного файла simple.css ), вы можете сделать это :
<div class="ColumnOneHalf">Tree</div>
<div class="ColumnOneHalf">View</div>
для макета 50-50 или:
<div class="ColumnOneQuarter">Tree</div>
<div class="ColumnThreeQuarters">View</div>
для макета 25-75.
Это так просто.
Я не уверен, что это тот ответ, которого вы ожидаете, но почему бы вам не установить для ширины Дерева значение «Авто» и ширины «Вид» на 100%?
Это был бы хороший пример того, что тривиально сделать с таблицами и сложно (если не невозможно, по крайней мере, в кроссбраузерном смысле) сделать с CSS.
Если и то, и другое. столбцы имели фиксированную ширину, это было бы легко.
Если бы один из столбцов был фиксированной ширины, это было бы немного сложнее, но вполне выполнимо.
С обоими столбцами переменной ширины, ИМХО вам нужно просто использовать двух- столбец таблицы.
Спасибо за плагин Simpl.css!
не забудьте обернуть все свои столбцы в ColumnWrapper
вот так.
<div class="ColumnWrapper">
<div class="ColumnOneHalf">Tree</div>
<div class="ColumnOneHalf">View</div>
</div>
Я собираюсь выпустить версию 1.0. Simpl.css, так что помогите распространить информацию!