Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/41.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html 页边距、边框、填充和大小don';总的来说,我们没有预料到_Html_Css - Fatal编程技术网

Html 页边距、边框、填充和大小don';总的来说,我们没有预料到

Html 页边距、边框、填充和大小don';总的来说,我们没有预料到,html,css,Html,Css,我有一个简单的基本HTML和CSS场景,其中边界框的测量值不会按宽度相加 通过将列宽设置为324 px可以获得预期的结果,尽管320 px似乎是合适的。在下面的代码中,有一个单独的属性值需要更改,以查看与所需宽度相对应的预期结果 预期结果(错误的属性值) 错误结果(所需属性值) 为什么我认为320 px应该是我两个按钮的宽度: 320 px(列)=155px(按钮)+10px(边距)+155px(按钮) 我确信这是我理解的问题,有人能解释为什么会这样吗?因为两个标记位于不同的行上,它试图在两个项

我有一个简单的基本
HTML
CSS
场景,其中边界框的测量值不会按宽度相加

通过将列宽设置为
324 px
可以获得预期的结果,尽管
320 px
似乎是合适的。在下面的代码中,有一个单独的属性值需要更改,以查看与所需宽度相对应的预期结果

预期结果(错误的属性值)

错误结果(所需属性值)

为什么我认为
320 px
应该是我两个按钮的宽度:

320 px
(列)=
155px
(按钮)+
10px
(边距)+
155px
(按钮)

我确信这是我理解的问题,有人能解释为什么会这样吗?

因为两个
标记位于不同的行上,它试图在两个项目之间添加某种白色间隔。如果你把它们放在一条线上,它就会工作


浏览器压缩多个空白字符(包括换行符) 渲染时复制到单个空间。唯一的例外是在 元素或具有CSS属性“空白:预设”的元素。(或 在XHTML中,xml:space=“preserve”属性。)

由于两个
标记位于不同的行上,因此它尝试在两个项目之间添加某种白色间距。如果你把它们放在一条线上,它就会工作


浏览器压缩多个空白字符(包括换行符) 渲染时复制到单个空间。唯一的例外是在 元素或具有CSS属性“空白:预设”的元素。(或 在XHTML中,xml:space=“preserve”属性。)

默认情况下是内联块元素。这意味着空间(字面上的空间)会影响它的间距

您可以将按钮设置为向左显示block和float,以获得类似的结果:

div.container button {
    width: 155px;
    height: 155px;
    margin-right: 10px;
    display:block; float:left;
}
此外,您还需要清除行中的浮动:

div.container div.row:after {
    clear:both;
    display:table;
    content:'';
}

默认情况下是内联块元素。这意味着空间(字面上的空间)会影响它的间距

您可以将按钮设置为向左显示block和float,以获得类似的结果:

div.container button {
    width: 155px;
    height: 155px;
    margin-right: 10px;
    display:block; float:left;
}
此外,您还需要清除行中的浮动:

div.container div.row:after {
    clear:both;
    display:table;
    content:'';
}

您可能还想了解以下内容:您可能还想了解以下内容:
div.container div.row:after {
    clear:both;
    display:table;
    content:'';
}