Por que o div contêiner insiste em ser um pouco maior que o conteúdo de IMG ou SVG?

Eu estou tentando produzir mais uma lightbox tanto quanto necessário HTML / CSS / Javascript prática, mas eu encontrei um problema de estilo que parece trivial (e provavelmente é!), Mas eu simplesmente não consigo resolvê-lo.

eu tenho umdiv que contém umimg. Não importa o que eu tente (border, margin, padding, altura automática, etc.) Eu simplesmente não consigodiv encolher para coincidir com as dimensões da imagem. Eu reduzi o problema para isso:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
        <title>Layout experiments</title>

        <style type="text/css">
            #lightbox {
                margin: 0;
                padding: 0;
                position    : fixed;
                left        : 50%;
                margin-left : -320px;
                top         : 100px;
                border-radius: 22px;
                background  : #e0e0f0;
                color       : #102020;
            }

            #lightbox img {
                border-radius: 15px;
            }
            .imagebg {
                margin      : 7px;
                background  : black;
                border-radius: 15px;
                height      : 100%;
            }

        </style>

    </head>
    <body>

        <div id="lightbox">
            <div class="imagebg">
                <img src="picture.jpg">
            </div>
        </div>
    </body>
</html>

'picture.jpg' é 640x400, mas o div contêiner quer ser 640x404, a diferença se mostra como uma faixa preta abaixo da imagem. A div existe para que eu possa diminuir a imagem para preto, misturando sua opacidade em 0, troque-a e misture-a novamente.

Eu olhei para os estilos computados em vários navegadores e não consigo ver de onde vem o delta 4px.

questionAnswers(5)

yourAnswerToTheQuestion