Pergunta

Eu tenho o seguinte HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <style>
    .box {
        border: solid black 1px;
        padding: 0px;
        margin: 0px;
    }
    </style>
</head>
<body>
    <form id="form1" runat="server">
        <input class="box" style="width:300px;" /><br /><!--CRLF for clarity only-->
        <input class="box" style="width:150px;" /><!--CRLF for clarity only-->
        <input class="box" style="width:150px;" /><!--CRLF for clarity only-->
    </form>
</body>
</html>

Quando tornou a segunda fileira de caixas de texto parecem ser cumulativamente mais do que o 1 na primeira linha. Isto apesar de definição explícita de larguras de via o atributo de estilo

Por que isso acontece e eu posso evitá-lo?

Nota: Este parece funcionar da mesma em ambos os FF3 e IE7

Foi útil?

Solução

jhunter está correto, e eu gostaria de acrescentar que você precisa Firebug para o Firefox (é gratuito). Você poderia ter percebido isso se rapidamente com que instalou. Inspecione o elemento que você está interessado e olhar para o guia "layout".

Outras dicas

Há uma borda em uma caixa de texto que não está incluído na largura.

Na verdade, a largura de seus caixas são duas como uma fronteira em ambos à esquerda e à direita (que são 1px) significa que há 2 pixels extras por caixa. Assim, no total você está +6.

Eu sugiro a leitura CSS Mastery, explica um monte das diferenças com os diferentes modelos de caixa de navegador e como eles afetam o layout e de largura em diferentes navegadores.

CSS Mastery

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top