Я понял суть проблемы здесь. Это связано с border-collapse
. У меня была такая же проблема некоторое время сейчас. Поскольку таблицы часто имеют тонкие границы, проблема не очевидна для большинства людей. Если вы поместите обычную таблицу с шириной, равной 100%, внутри div, как и у Нейта, у вас все будет хорошо.
Однако, если вы укажете border-collapse:collapse
на таблице, таблица выйдет из div. Это неочевидно для большинства людей, потому что оно может быть разбито только на один пиксель или в зависимости от контекста, в котором он находится, и пользовательского агента, возможно, не совсем.
Чтобы было яснее, что происходит, попробуйте следующее: поместите пример Нейта рядом с примером Дэвида Хегги в HTML-файл.
Это будет выглядеть так, как работает нормально. Но теперь измените встроенный стиль TD Нейта на border: 40px solid blue
. Измените стиль таблицы td Дэвида на border: 40px solid #999;
. В этот момент стол Дэвида выходит из деления на 50% от его границы с каждой стороны. Нейт все еще работает.
Поместите стиль border-collapse:collapse
на стол Нейта, и теперь его перерывы тоже.
Это border-collapse
, что вызывает его!