2016-02-13 1 views
0

У меня действительно странное поведение на всех браузерах, и я надеюсь, что кто-то сможет это объяснить.ng-repeat и интервал кнопок в Chrome & Edge & Firefox

<div style="margin-top:5px"> 
    <button translate="clear" ng-click="xyz.clear()" class="btn btn-default"></button>     
    <button ng-repeat="operation in xyz.operations" class="btn btn-default">{{operation.name}}</button> 
</div> 

enter image description here

В DIV У меня есть кнопка, а другая кнопка элемент, имеющий нг-повтора на нем. Первая «статическая» кнопка и первая кнопка, отображаемая ng-repeat, имеют некоторый интервал, который я бы не ожидал. Я не нашел никакой информации о том, почему между клавишами есть пробел, но его внимание на всем браузере, который я тестировал, поэтому я предполагаю, что в связи с Angg's ng-repeat может возникнуть причина.

Вот что показывает Chrome на Dev-Tools Элементов:

enter image description here

Там, кажется, не быть любой селектор CSS который соответствует по положению элемента. Когда я реорганизовать их в DOM, используя Dev-Tools, то странное поведение сохраняется:

enter image description here

Рассчитанное окном для элемента является тем же для всех кнопок, вот как это выглядит: enter image description here

+0

'нг-повтор =«операция в классе xyz.operations =»БТН БТН-умолчанию" 'это просто опечатка, правильно? это я s 'ng-repeat =" в xyz.operations "class =" btn btn-default "' на самом деле, правильно? Запрашивать только, чтобы быть уверенным :) –

+0

Да, это так, спасибо за определение. Happend при очистке материала для Интернета. Это исправит. – chris1069603

ответ

1

Эта проблема в значительной степени не имеет никакого отношения к тому, как работает ng-repeat. Кнопка элемент имеет отображать встроенный блок по умолчанию (MDN)

Бороться пространство между кнопками, просто дать им запас слева от негативных 5px

This CSS-уловок тему стоит читать, и Херес демо вашей проблемы и исправление для него

#fix button{ 
 
    display: inline; 
 
    margin-right: -5px; 
 
}
<div id="problem"> 
 
    <button>clear</button> 
 
    <button>clear</button> 
 
    <button>clear</button> 
 
</div> 
 

 
<div id="fix"> 
 
    <button>clear</button> 
 
    <button>clear</button> 
 
    <button>clear</button> 
 
</div>

+0

Фактически вы указали меня в правильном направлении. Спасибо. Проблема в том, что у меня было только пространство между одной кнопкой и другими! Но подсказка с встроенным блоком помогла мне. Думаю, я просто поеду за решением flexbox. – chris1069603

+0

Я более чем счастлив, что смог помочь @ chris1069603, если ваша проблема решена, обязательно отметьте этот вопрос как ответ! – Abdel