CSS странный сдвиг div

Здравствуйте, я пытаюсь разработать строку состояния для i3wm, используя electronic.
. Electronjs использует механизм рендеринга хрома, поэтому моя веб-страница должна отображаться как в Chrome.
. Я хочу разработать пользовательский интерфейс, но я столкнулся со странным поведением, когда один div размещен правильно, а второй сдвинут по вертикали.

Почему это происходит и как это исправить?

Вот мой код:

HTML:

<div class = "module slide slide-right">
    <div class = "hover-icon">
        <i class = "material-icons">power_settings_new</i>
    </div>
    <div class = "slider">
        <a href = "" class = "action">
            <i class = "material-icons">settings_backup_restore</i>
            <span class = "action-label"> Restart</span>
        </a>
        <a href = "" class = "action">
            <i class = "material-icons">power_settings_new</i>
            <span class = "action-label"> Wyłącz</span>
        </a>
    </div>
</div>

CSS:

* {
  user-select: none;
  box-sizing: border-box;
}

body {
  color: #ccc;
  font-family: 'Open Sans', sans-serif;
  font-size: 15px;
  font-weight: 300;
  overflow: hidden;
  padding: 0;
  margin: 0;
  background-color: #181818;
}

p {
  margin: 0;
}

a {
  text-decoration: none;
  color: #ccc;
}

a:hover {
  color: #fff;
}


.module {
  height: 50px;
  position: absolute;
  display: inline-block;
  box-sizing: border-box;
  background-color: green;
}

.slide .hover-icon {
  display: inline-block;
  padding: 13px;
  height: 50px;
  width: 50px;
  background-color: blue;
}

.slide .slider {
  display: inline-block;
  height: 50px;
  background-color: red;
}

https://codepen.io/bulion121/pen/vbBaJM

Добавьте vertical-align: top; в свои элементы display: inline-block;.

Arkellys 21.01.2019 15:35

Спасибо, вертикальное выравнивание сделало свое дело, я избавился от отступов, и теперь это работает

user7814243 21.01.2019 15:48
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Введение в CSS
Введение в CSS
CSS является неотъемлемой частью трех основных составляющих front-end веб-разработки.
Как выровнять Div по центру?
Как выровнять Div по центру?
Чтобы выровнять элемент <div>по горизонтали и вертикали с помощью CSS, можно использовать комбинацию свойств и значений CSS. Вот несколько методов,...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Travel Booking Angular Template один из лучших Travel & Tour booking template in the world. 30+ валидированных HTML5 страниц, которые помогут...
0
2
36
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Здесь есть две проблемы:

1) Браузер интерпретирует последовательность пробелов как один символ пробела. То есть, когда браузер видит это:

<div>
  a
</div>
<div>
  b
</div>

... он собирается вставить ' ' между этими двумя div. Есть несколько способов исправить это, включая настройку font-size: 0 в родительском контейнере, использование float, использование flexBox и написание HTML-кода следующим образом:

<div>
  a
</div><div>
  b
</div>

Лично я бы выбрал flexbox.

2) Поскольку #hover-icon и #slider являются inline-block, на них влияет vertical-align. На родительском div установите vertical-align: top.

Спасибо за ваш ответ пункт 2 был случай

user7814243 21.01.2019 15:50

Другие вопросы по теме