100%宽度的div和表单元素+填充?

mik*_*ike 1 html css xhtml

我必须怎么做才能防止以下物体拉伸超过100%?它显然可以拉伸到100%,然后添加填充...谢谢!

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
    <style type="text/css" media="screen">
        #box {
            width: 100%;
            padding: 20px;
            border: 1px solid #000;
        }
        #box input { 
            width: 100%;
            padding: 5px; 
        }
    </style>
</head>
<body>
    <div id="box">
        <form>
            <input type="text" value="" />
        </form>
    </div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

bra*_*rad 5

width:100%在div上完全没有必要。Div是块级元素,可自动扩展到其容器的100%。width:100%从div声明中删除,填充将包含在父容器中,没有滚动或扩展宽度。

不要使用负余量,这只是添加hack来实现简单的目的。

您通常可以使用此规则:您几乎不必放在width:100%div上(除非以内联方式显示,否则我几乎不认为为什么会这样做),因为如上所述,块级元素总是在扩展到他们容器的100%

编辑:这很愚蠢,因为您无法在嵌入式元素上设置尺寸,建议在显示的div上设置宽度100%