2015-03-06 6 views
0

У меня проблема с выравниванием содержимого div в разделителе данных. Data div не был установлен высота. Потому что это был автоматический рост, когда содержание div увеличивается.Позиционирование элементов div

Но он собирался выйти из потока. Как его решить?

.container 
 
{ 
 
    position:relative; 
 
    border:1px solid blue; 
 
    margin:auto; 
 
    width:200px; 
 
} 
 

 
.data 
 
{ 
 
    position:relative; 
 
    border:1px solid green; 
 
    width:100px; 
 
    top:10px; 
 
    left:10px; 
 
} 
 

 
.hed 
 
{ 
 
    position:absolute; 
 
    border:1px solid orange; 
 
    width:30px; 
 
    height:10px; 
 
    top:-5px; 
 
    left:10px; 
 
    border-radius:5px; 
 
    background-color:orange; 
 
    line-height:10px; 
 
}
<div class="container"> 
 
    <div class="data"> This is absolute.</div> 
 
    <div class="hed">xxx</div> 
 
</div>

+0

где ваш код ?? – Prashant

+0

[ссылка] (http://jsfiddle.net/sai070cm118/m08bL4cb/1/) – user3836476

ответ

0

Если вы хотите иметь container расширить как data ДИВ расширяется, добавьте <br style = "clear:both"> перед тем закрытие div тег.

FIDDLE

+0

Я сбиваю с толку о свойстве position. не могли бы вы дать ссылку на ссылку, чтобы отличить относительную и абсолютную. – user3836476

+0

[Позиция Относительная и абсолютная позиция?] (Http://stackoverflow.com/a/10426566/2851845) –

0

Вы можете установить

overflow:hidden; 

в "контейнер" ДИВ

+0

Требуется продлить. – user3836476

+0

@ user3836476: проверьте мой ответ, он будет расширяться при добавлении дополнительных данных. –

0

изменить все css позиции в relative и использовать min-height попробуйте

как этого

.container { 
    position:relative; 
    border:1px solid blue; 
    margin:auto; 
    width:200px; 
    min-height:10px; //added 
} 
.data { 
    position:relative; 
    border:1px solid green; 
    width:100px; 
    top:10px; 
    left:10px; 
} 
.hed { 
    position:relative; //changed 
    border:1px solid orange; 
    width:30px; 
    height:10px; 
    top:-50px; //changed 
    left:10px; 
    border-radius:5px; 
    background-color:orange; 
    line-height:10px; 
} 

WORKING DEMO

+0

Я смущаюсь относительно свойства position. не могли бы вы дать ссылку на ссылку, когда мы используем абсолютную и когда мы используем относительную. – user3836476

+0

@ user3836476: мой ответ дал вам правильный ответ? –

+0

@ user3836476: пройдите этот https://css-tricks.com/absolute-relative-fixed-positioining-how-do-they-differ/ и поймите –

0

Почему вы используете для сНа класса = "данных" :

  • топ
  • покинул

Вы Juste должны заменить их маржи-топ и края левого.

.container 
 
{ 
 
    position:relative; 
 
    border:1px solid blue; 
 
    margin:auto; 
 
    width:200px; 
 
} 
 

 
.data 
 
{ 
 
    position:relative; 
 
    border:1px solid green; 
 
    width:100px; 
 
    margin-top:10px; // changed 
 
    margin-left:10px; // changed 
 
} 
 

 
.hed 
 
{ 
 
    position:absolute; 
 
    border:1px solid orange; 
 
    width:30px; 
 
    height:10px; 
 
    top:-5px; 
 
    left:10px; 
 
    border-radius:5px; 
 
    background-color:orange; 
 
    line-height:10px; 
 
}
<div class="container"> 
 
    <div class="data"> This is absolute.</div> 
 
    <div class="hed">xxx</div> 
 
</div>

Смежные вопросы