элемент div не сворачивается после установки его ширины в 0?

#css

#css — код

Вопрос:

пожалуйста, проверьте результат фрагмента

 <div style="border:1px solid black ; 
              height : 50px ;
              width:0 ; "></div> 

после проверки вы заметите , что ширина элемента в консоли отображается как 0 . Но если вы видите, что ваш div не сворачивается, между левой и правой границей остается небольшое пустое пространство.

Мой вопрос в том, почему после установки ширины содержимого равной 0 между левой и правой границами остается небольшое пустое пространство? (примечание: я не пытаюсь чего-то добиться. Я просто хочу лучше понять CSS)

Комментарии:

1. Возможно, для сворачивания высота должна быть установлена на 0.

2. @GetSet . После вашего предложения я сохранил высоту и ширину равными нулю, и внутри div все еще есть странный пробел.

3. Уверен, что у вас где-то есть CSS, который мешает. Если вы удалите все и просто используете следующий код (ваш div), вы не увидите ничего, кроме черной точки на красном фоне. <html><body style="background-color:red"><div style="border:1px solid black;height:0;width:0;"></div></body></html>

4. @noob div пуст, как вы можете видеть в коде. Если вы запустите ТОЛЬКО тот код, который я вам дал, вы не увидите белую точку, если только ваш браузер не настроен с некоторым переопределением CSS. Если это так, попробуйте другой браузер.

5. Возможно, проблема с «кешем» после внесения изменений @timgavin и noob.

Ответ №1:

Почти уверен, что у вас где-то есть какой-то CSS, который мешает. Если вы удалите все и просто используете следующий код (ваш div), вы не увидите ничего, кроме черной точки на красном фоне.

 <html><body style="background-color:red"><div style="border:1px solid black;height:0;width:0;"></div></body></html>
 

Вы упомянули в комментариях, что видите красный пробел внутри div в Chrome, что говорит о том, что у вас есть настройка в Chrome, которая вызывает эту проблему. Возможно, очистка вашего кэша или сброс настроек Chrome помогут решить эту проблему?