Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/75.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 CSS:display:flex与display:block padding行为_Html_Css_Flexbox - Fatal编程技术网

Html CSS:display:flex与display:block padding行为

Html CSS:display:flex与display:block padding行为,html,css,flexbox,Html,Css,Flexbox,请看一看 如果我将parent设置为display:block,则只考虑子项的填充。如果设置为display:flex,则子对象将与父对象的padding中的padding一起呈现 为什么它会这样做?这是因为默认情况下span是一个inline元素,填充顶部/底部不会影响高度。如果要设置填充,只需设置spandisplay:block。参考: 正文{ 保证金:未结算; } 按钮,div{ 显示:块; 宽度:100%; 证明内容:中心; 对齐项目:居中; 填充:12px; 边框:1px纯黑; }

请看一看

如果我将parent设置为
display:block
,则只考虑子项的
填充。如果设置为
display:flex
,则子对象将与父对象的
padding
中的
padding一起呈现


为什么它会这样做?

这是因为默认情况下
span
是一个
inline
元素,填充顶部/底部不会影响高度。如果要设置填充,只需设置
span
display:block
。参考:

正文{
保证金:未结算;
}
按钮,div{
显示:块;
宽度:100%;
证明内容:中心;
对齐项目:居中;
填充:12px;
边框:1px纯黑;
}
按钮跨度,
分区跨度{
/*如果按钮,div设置为display:block,则其(父)填充不考虑在内*/
填充:10px;
显示:块;
}

JS-Bin
div
按钮

框大小:边框框是原因,请检查f23 console.log。更准确地说,问题只存在于顶部/底部padding@TemaniAfif谢谢,我已经更新了答案,你有关于这个问题的参考资料吗?(内联、未替换框的垂直填充、边框和边距从内容区域的顶部和底部开始,与“线高度”无关。但在计算线框高度时仅使用“线高度”)这并不是说
不起作用
但不会影响高度,因为填充顶部/底部效果很好(添加背景,你会看到效果)“弹性项目的显示值被块化”-这就是我一直在寻找的理由:)