#css #css-float
#css #css-float
Вопрос:
я пытаюсь разделить два divs на две секции, левую и правую. При этом левый является статическим (высота 300 пикселей), а правый не является статическим (например, сообщения и комментарии). С нижним колонтитулом внизу.
<div>
<div>
<div class="right"><img src="images/members/bigava/crays.png" style="width: 630px; height: 130px;" /></div>
</div>
<div>
<div class="left" style="float: left;"><img src="images/members/ava/crays.jpg" style="width:120px; height:80px;" /></div>
</div>
Я сделал свой основной div шириной 760 пикселей, следовательно, с этими настройками у меня все еще есть 10 пикселей в запасе. Проблема сейчас в том, что я не могу назначить float-right для div с правильным классом и могу назначить float-left только для div с левым классом. Я пытался менять div вверх и вниз, переназначая позиции, но то, что я получаю, — это не то, что я хочу. Любая помощь?
Редактировать
CSS
.right {
font-family: verdana;
font-size: 12px;
border-radius: 3px;
}
.left {
font-family: verdana;
font-size: 10px;
color: #000000;
border-radius: 3px;
}
Это результаты, которые я получаю, которые мне не нужны
чего я хочу, так это
Комментарии:
1. Пожалуйста, предоставьте более четкое представление о том, как это «не работает правильно». Скриншоты, например.
2. почему вы переносите «левый» и «правый» div в другие div-заполнители. Есть ли у них какая-либо цель.
3. я новичок в программировании, извините, я определяю left и right class как просто класс для div, но присваиваю только style=»float: left;» в <div class=»left»>
Ответ №1:
DIV
это блочный элемент, поэтому вы можете дать float
или inline-block
right div
принять его width
таким образом:
.right{float:right}
Редактировать:
ответьте на ваш комментарий ниже
если вы дадите float
divs
, то вам должно clear its parent
понравиться это :
<div style="overflow:hidden">
<div class="right" style="float: right;"><img src="images/members/bigava/crays.png" style="width: 630px; height: 130px;" /></div>
<div class="left" style="float: left;"><img src="images/members/ava/crays.jpg" style="width:120px; height:80px;" /></div>
</div>
Ответ №2:
вам нужно избавиться от некоторых divs или назначить плавающие родительским divs правых, левых divs.
<div>
<div class="right" style="float: right;"><img src="images/members/bigava/crays.png" style="width: 630px; height: 130px;" /></div>
<div class="left" style="float: left;"><img src="images/members/ava/crays.jpg" style="width:120px; height:80px;" /></div>
<div class="footer" style="clear: both;"><img src="images/members/ava/crays.jpg" style="width:760px; height:80px;" /></div>
</div>
это должно сработать.
Комментарии:
1. но, назначив float: right , разве это не заставит его перекрывать нижний колонтитул ниже?
2. я обновил свой комментарий, включая нижний колонтитул div. они не перекрываются, если вы используете «очистить: оба»
Ответ №3:
Если вы правильно выполните измерения ширины, вы можете получить этот макет, фактически переместив все влево. Ваш порядок div должен складываться правильно, и он, естественно, будет перемещаться туда, куда вы хотите. У вас больше divs, чем необходимо. Обязательно очистите это.