2016-07-26 3 views
0

Я получил этот HTMLCSS запас сверху от родственного элемента не родительского

<div class="ChatDiv"> 
    <div class="chatdiv_ fm"> 
      <span>uhygtfgyhujiuhygt i uytr yui jhuygtfr</span> 
    </div> 
    <div class="chatdiv_ fm" style="margin-top:148;"> 
      <span>t</span> 
    </div> 

<div class="chatdiv_ fm" style="margin-top:214;"> 
         <span>t</span> 
      </div> 
    </div> 

И это CSS

.ChatDiv{ 
    width: 800px; 
    height: 480px; 
    overflow: auto; 
    margin-left: 350px; 
    border-radius: 4px; 
    background: white; 
    margin-top: 80px; 
    position: absolute; 
    box-shadow: 0px 0px 11px black; 
} 
.fm{ 
    position: relative; 
    font-family: Nbutler; 
    font-size: 20px; 
    float: right; 
    background: #2196f3; 
    max-width: 400px; 
    color: white; 
    margin-left: -432px; 
    margin-right: 20px; 
    padding: 10px; 
    border-radius: 5px; 
    span{ 
     display: block; 
     height: auto; 
     width: auto; 
     max-width: 400px;  
    } 
} 

И проблема в том, когда я иметь маржу сверху на fm элементов он принимает этот запас из top.Не от элемента брата и я не так много fm элементов, которые у меня есть, поэтому я не могу разместить тот же крайний край для всех элементов fm.

+2

уменьшенного пример в jsfiddle/jsbin бы помочь МНОГО ... у вас есть много кода ненужные (и плохо отформатирован), что делает его излишне трудно для нас, чтобы помочь вам ... – MattDiMu

+0

Я создал простой пример, который вы могли бы найти полезным: http://codepen.io/karlisup/pen/RRJGBJ – karlisup

ответ

0

Приведенный пример где поля рассчитываются от братьев и сестер.

.container{ 
 
\t width: 500px; 
 
\t height: 300px; 
 
\t margin: 16px auto; 
 
\t padding: 16px; 
 
\t 
 
\t border-radius: 6px; 
 
\t border: 1px solid black; 
 
} 
 

 
.list { 
 
\t box-sizing: border-box; 
 
\t padding: 16px; 
 
\t float: right; 
 
\t width: 50%; 
 
\t height: 100%; 
 
\t background-color: tomato; 
 
} 
 
.list__elem { 
 
\t box-sizing: border-box; 
 
\t width: 100%; 
 
\t height: 42px; 
 
\t margin-bottom: 16px; 
 
\t padding-left: 16px; 
 
\t 
 
\t border: 1px solid olive; 
 
\t line-height: 40px; 
 
}
<div class="container"> 
 
\t <ul class="list"> 
 
\t \t <li class="list__elem">Elem 1</li> 
 
\t \t <li class="list__elem">Elem 2</li> 
 
\t \t <li class="list__elem">Elem 3</li> 
 
\t \t <li class="list__elem">Elem 4</li> 
 
\t </ul> 
 
</div>

Я считаю, что встроенные стили маржи и отсутствие элемента группировки делает его трудно понять пример.

удачи;)

0

Если вы хотите использовать абсолютную позицию, то это будет происходить все время, потому что это будет Div, который имеет положение относительно в качестве границ, и ваши дивы с позиции абсолютного просто " не выходит ".

Нет необходимости использовать position: absolute для этих разделов. Просто удалите поплавок, положение, поля, и вы хорошо пойдете.

jsFiddle: https://jsfiddle.net/sey4121b/

+0

withou position absolute для chatdiv влияет на заголовок – COp

+0

Oh. Хорошо, дай мне минуту. –

+0

Можете ли вы вставить URL-адрес jsFiddle с кодом FULL current? Это было бы проще. Другой способ, вы можете использовать ': first-child', а затем установить его в позицию: relative. Мне действительно нужна копия вашего текущего кода. –

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