Я попытаюсь сделать и объяснил Детальный ответ. Плавающий элемент плавает из своего исходного положения в потоке. В принципе, плавающий эффект влияет только на объявленные элементы после в структуре HTML.
В вашем случае правый-плавающий элемент объявляется после неплавающего. Так что нормально theright
появляется ниже theone
, и вы не видите плавающий эффект.
Чтобы сделать элемент плавающим справа от другого, вы должны объявить его до этот другой. Как это:
<div class="theright">two</div>
<div class="theone">one</div>
<style>
.theright {
float: right;
}
</style>
Обратите внимание, что для этой работы, theright
элемент должен быть больше, чем theone
. В противном случае theone
полностью замаскирует theright
, выталкивая его содержимое из коробки. Это происходит потому, что плавающий элемент выходит из потока и парит над другими элементами, содержимое которых «избегает» плавающих блоков.
Есть много других способов получить тот же результат с другим Approch:
- сделать
theone
поплавок налево вместо (оставляя theright
в качестве основного элемента блока)
- сделать оба элемента инлайн-блоки и дайте им соответствующую ширину
- для двух элементов, это необязательно, но если вам нужно 3 или более элемента рядом, вы можете заставить их все поплавать слева (или справа объявить их в обратном порядке, в зависимости от конечной компоновки, которую вы хотите)
- и т. Д.
Я действительно добавлял float к .theone, просто не работает. –
.one * is * плавающий, но .two - это неплавающий блок, поэтому он не может быть справа от .one. – BoltClock