当前位置: 首页 > 面试题库 >

Flex元素会忽略Firefox中的填充百分比

毋城
2023-03-14
问题内容

我正在尝试向元素内的display:flex元素添加填充。如果将填充定义为百分比,则在Firefox中不会显示填充,尽管在中定义时会显示px。两种情况在Chrome中都可以正常工作。

div {

    background: #233540;

}

div > div {

    color: #80A1B6;

}

.parent {

    display: flex;

}

.padded {

    padding-bottom: 10%;

}


<div class="parent">

    <div class="padded">

        asdf

    </div>

</div>

问题答案:

网格/弹性百分比

该小组试图研究如何定义垂直百分比边距和填充。注意:传统上,CSS的顶部和底部页边距是针对包含块的宽度而不是其高度进行解析的,这具有一些有用的效果,但通常令人惊讶。现有的布局模式当然必须继续这样做。先前的小组解决方案是针对选项2(如下)的,但Google认为他们掌握了有关吸收行为的新信息,值得重新考虑。

讨论归结为三个潜在的解决方案:
选项1:始终按宽度解析百分比。
选项2:网格和弹性根据高度分解,而绝对项目始终按照宽度分解。
选项3:网格和弯曲(包括其吸收项目)


根据高度确定。其他地方的弃权问题继续根深蒂固。在草编民意测验中,该组在选项1和3 之间平均分配。微软将反对选项1,谷歌反对选项3,因此讨论陷入僵局,并将在F2F期间私下继续进行,以期得出结论。

Flexbox%后续行动

[…]尚无结论。
当前的Flexbox规范对此进行了警告:

可以 根据以下任一条件解决弹性
项目上的边距和填充百分比

自己的轴(左/右百分比针对宽度,顶部/底部百分比针对高度)内联轴(左/右/上/下百分比均针对宽度进行解析)
用户代理必须选择以下两种行为之一。注意:这种差异很糟糕,但是可以准确地捕获当前的世界状态(实现之间没有共识,CSSWG 内部也没有共识)。CSSWG的意图是使浏览器集中在一种行为上,届时规范将进行修改以要求这样做。

作者应避免在弹性项目的填充或边距中完全使用百分比,因为它们在不同的浏览器中会出现不同的行为。

但是,最近CSS WG 解决了(存在一些争议):

flexbox和grid项的上,下边距和填充百分比都根据可用的行内方向解析。



 类似资料:
  • 问题内容: 当与CSS属性结合使用时,Firefox缺少元素底部的填充。(但可在Chrome和Safari中使用。) 我错过了一些东西吗,或者有什么办法可以解决这个问题? 注意:该演示没有使用任何库进行规范化,但是我也尝试过,但是没有成功。 问题答案: 修改后的CSS

  • 鉴于这种简单的结构: 使用此CSS: 现场演示:http://jsfiddle.net/523me/5/ 请注意,父级有一个填充,并且子级水平溢出(因为它更宽)。如果您将父级一直向右滚动,您会看到子级触及父级的右边缘。 因此,父级应该有一个正确的填充,但它被忽略了。似乎当孩子有一个固定的宽度时,父级的正确填充不适用。(这是标准规定的吗?我很想知道。如果你发现什么,请告诉我!) 是否有一种方法可以强

  • 问题内容: 我正在使用Retrofit(与OkHttp和GSON结合使用)与在线Web服务进行通信。该Web服务的所有响应都有一个默认包装,类似于: 在此示例中,将为或。此外,仅在处理请求时发生错误时才包含任何内容。最后但并非最不重要的一点,将包含调用的实际结果(示例中为字符串,但是某些调用返回JSON数组或JSON对象)。 为了处理此元数据,我创建了一个通用类,如下所示: 我还创建了代表有时给出

  • 问题内容: HTML CSS 在上面的示例中,其padding-top为。该值应基于父元素的()高度进行计算,这意味着它应显示为。而是显示为。这是怎么回事? 问题答案: 规格说明了原因。 相对于生成的框的包含块的 宽度 计算百分比 400的50%是200。

  • 现在,如果我使用以下代码进行比较,我将在XMLUnit的帮助下相互比较两个xml文件 现在它给出了:预期的属性值'02',但是'01',但我不希望有差异,我希望表id是唯一的,如果在另一个文件中看到相同的表id,则只检查本例中的Main-Element:table->包含什么。

  • 问题内容: 我有一个宽度为70%的元素,它漂浮在一个宽度为30%的元素旁边,但是当我添加填充时,它会扩展元素并破坏格式,有没有办法使它仅增加内容距离边缘而不是仅仅扩大它? 问题答案: 使用模型时,边框大小中将包含填充。