Я получаю странные пробелы между двумя divs, которые у меня есть.
Каждый div имеет свойство css display: inline-block
, и каждый из них имеет высоту и ширину набора.
Я не могу найти, где пробел.
Я получаю странные пробелы между двумя divs, которые у меня есть.
Каждый div имеет свойство css display: inline-block
, и каждый из них имеет высоту и ширину набора.
Я не могу найти, где пробел.
Вы получаете пробел, потому что у вас есть пробел между div. Пробел между встроенными элементами интерпретируется как пробел.
У вас есть:
<div id="left_side">
<div id="plan">
<h1>div 1</h1>
</div>
</div>
<div id="right_side">
<div id="news">
<h1>div 2</h1>
</div>
</div>
Изменить для:
<div id="left_side">
<div id="plan">
<h1>div 1</h1>
</div>
</div><div id="right_side">
<div id="news">
<h1>div 2</h1>
</div>
</div>
Однако это плохой способ сделать то, что вы хотите сделать.
Вы должны плавать элементы, если это то, что вы хотите сделать.
Использование:
float:left;
clear:none;
В обоих div
Если вы хотите сохранить свой макет кода, избегайте поплавков и сохраняйте каждый div на своей собственной линии полностью...
<div id="leftSide">Some content here</div><!--
--><div id="rightSide">Some more content here</div>
Это трюк:
<div id="left_side">
...
</div><div id="right_side">
...
</div>
Обратите внимание, как правый div начинается сразу после закрывающего тега левого div. Это работает, потому что любое пространство между элементами, поскольку они теперь встроены, станет пространством в самой компоновке. Вы можете отразить это поведение с помощью двух элементов span.
Демо.
Добавьте это в свой CSS
h1 {
padding:0;
margin:0;
}
Пробел между div только из-за h1 Margin и Padding
Плавающий оба оставшихся элемента также составил 30% ширины на 40%, чтобы заполнить все пространство, но это не обязательно. Помните, что "встроенный блок" не поддерживается IE7, но может быть исправлен с обходом.
Переместите эти выражения в одну строку:
</div><div id="right_side">
Пробовал использовать float вместо "inline-block", никаких проблем. Просто изменил отображение: встроенный блок:
#left_side {float: left;}
и
#right_side {float: right; margin-right: 10%}
Нет очевидных проблем. Неверно.
Не знаю, почему, но я решил эту проблему, добавив border: 1px solid red;
(вертикальный) и float: left;
(по горизонтали) в соответствующий оператор стиля DIV и удаленные пробелы.
Вы также можете добавить display: flex;
в родительский контейнер div (в данном случае это body
). Скрипка