Jump to content
  • 0

Вопрос по float


VictorioIP
 Share

Question

Есть данный код:

<!doctype html>

<html>

<head>

<title>Test 14</title>

<style type="text/css">

#content{

width: 100px;

height: 100px;

background-color: black;

float: left;

}

#footer{

float: right;

width: 100px;

height: 100px;

background-color: grey;

}

#navigation{

height: 100px;

background-color: red;

margin-right: 102px;

margin-left: 102px;

}

</style>

</head>

<body>

<div id="content">

</div><!-- end content -->

<div id="navigation">

</div><!-- end navigation -->

<div id="footer">

</div><!-- end footer -->

</body>

</html>

У меня вопрос. Черный квадрат с float: left выходит из обычного flow, красный элемент как бы не видит его, но серый элемент с float: right, почему-то не над красным элементом, а ниже его. Почему так происходит, и как сделать так чтобы серый элемент был над красным(есть ли способ без отрицательного margin или абсолютного позиционирования).

Второй вопрос: когда определенный блок находится в элементе с float, к которому(определенному блоку) не применяется какой-либо из floatoв, и еще один элемент внутри того же элемента с float, но уже с примененным к нему float, почему то чувствует элементы без float. Почему так происходит.

Спасибо.

Link to comment
Share on other sites

2 answers to this question

Recommended Posts

  • 0

измените порядок элементов, и все блоки выстроятся в ряд:


<div id="content">

</div><!-- end content -->

<div id="footer">

</div><!-- end footer -->
<div id="navigation">

</div><!-- end navigation -->

Происходит это потому-что: элементы следующие за блочным элементом, в нашем случае div#navigation, переносятся на следующую строку, если этому блочному элементу задан float то блок выравнивается в указанную сторону а следующие за ним элементы обтекают его с противоположной стороны .

В вашем случае черный блок выравнен слева и красный блок следует(обтекает его) за ним, но красный блок обтекание не имеет и поэтому следующий за ним серый блок переносится на следующую строку.Если изменить порядок элементов как указал я то сначала идут блоки с заданным обтеканием у одного слева у другого справа и красный блок влазит между ними =) надеюсь понятно объяснил, пошел пиво пить дальше.

Edited by wwt
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy