具有相同属性值的Flex项将以不同的大小呈现

埃文

我使用Flexbox制作了一个响应式网站(请记住,第一次我做过任何一个),一切都进行得很好,直到我意识到某个时候具有相同属性的Flex项表现出不同的特性道路。

看看这个,即使我通过Autoprefixer运行CSS,我在Chrome中的页面还是有一些问题,但这是另一个问题。如果您对此有疑问,可以在我开始对其进行测试的Safari中打开它。您必须缩小JS窗口以使其左侧可见。https://jsfiddle.net/5p7fcmxb/1/

这很丑陋,因为为该线程的目的,我将所有颜色都设置为不同的颜色以区分它们,并将所有内容切换为默认字体。总之,基本的问题是#headerleft#blueleft#footerleft应完全排队,因为它们具有相同的弯曲特性,如下图所示:

#headerleft {
    background-color: red;
    height: 75px;
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
    -webkit-box-flex: 1;
        -ms-flex: 1 2 250px;
            flex: 1 2 250px;
}

#blueleft {
    background-color: yellow;
    -webkit-box-ordinal-group: 5;
        -ms-flex-order: 4;
            order: 4;
    -webkit-box-flex: 1;
        -ms-flex: 1 2 250px;
            flex: 1 2 250px;
}

#footerleft {
    background-color: red;
    height: auto;
    padding: 0px;
    margin: 0px;
    -webkit-box-ordinal-group: 8;
        -ms-flex-order: 7;
            order: 7;
    -webkit-box-flex: 1;
        -ms-flex: 1 2 250px;
            flex: 1 2 250px;
}

但是,如果将JSfiddle窗口扩展开,则可以看到它们都是不同的宽度。起初我还以为因为他们是在单独的headermiddle以及footer申报单,其本身整体的孩子#container的div,他们可能会稍微向左屏幕由于某些原因的包装。我将所有内容从左侧设置为10像素,并且它们都在该侧对齐,因此这似乎是增长的问题。如果将页面尽可能缩小,则#blueleft#footerleft元素不可见,但#headerleft仍可以看到div。您可能已经注意到中间和右边的div都不对齐,但是对左div的问题的答案也应该适用于它们。

当时的想法是,在文本#headermiddle#footermiddle我会是完美排队与#contentboxDIV,我敢肯定,我记得所有的事情在不同的视口的大小排队时,我正在这个昨天,所以我不知道如果我做了什么一路打破。

(如果您想知道为什么我首先要有三个flex容器,而不是只有一个Flex容器只有三个主列,那么我可以使页眉,内容框和页脚文本对齐,以及内容框会根据里面的文本数量进行扩展。我怀疑有一种更简单的方法可以实现我不知道的所有内容(再次,我已经在大约五,六个星期内做了适当的操作),并且那三个flex容器是我第一步出错的地方。

迈克尔·本杰明(Michael Benjamin)

您有一个padding: 10pxin #contentbox(中间行),该行在其他行中不存在。

加入box-sizing: border-box#contentbox到因素多余的空间。

同样,仅仅因为flex规则对于多个元素是相同的,并不意味着每个框的大小在每一行中都将是相同的。

flex-growflex-shrink由容器分发免费空间属性的作用。换句话说,它们使用内容未使用的空间。由于每一行的内容都不同,因此可用空间也将不同,因此,每个框的大小可能会不同。

如果您只关注速记flex-basis组成部分flex(并添加box-sizing: border-box我上面提到的),则各列将对齐。

修正的小提琴

至于为什么当您将窗口的大小调整为较小时布局为何会在右侧消失,请记住,弹性项目默认情况下不能小于其内容的大小(无论任何flex-shrink值)。您需要使用覆盖此初始设置min-width: 0(请参见下面的参考)。

参考:

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Javascript-添加具有不同值的相同属性

来自分类Dev

厨师:为不同的菜谱定义具有不同值的相同属性

来自分类Dev

解析具有相同属性但名称不同的JSON文件

来自分类Dev

解析具有相同标签和不同属性的xml

来自分类Dev

具有不同属性的相同属性名称的Json反序列化

来自分类Dev

选择具有相同属性1和不同属性2的行

来自分类Dev

如何在plsql中将具有相同属性属性的对象类型属性值分配给不同的对象类型?

来自分类Dev

计算具有相同属性值的对象

来自分类Dev

如何排列具有相同属性值的对象数组?

来自分类Dev

删除具有相同属性值的重复实体

来自分类Dev

我可以定义具有相同属性但值不同的两个接口的联合类型吗?

来自分类Dev

从列表生成具有相同属性的对

来自分类Dev

具有几乎相同属性的模型

来自分类Dev

创建具有相同属性的方法

来自分类Dev

合并具有相同属性的元素

来自分类Dev

具有不同属性的XSLT串联

来自分类Dev

序列化具有相同名称但不同属性的2个属性

来自分类Dev

有两个具有相同属性的不同库-Swing

来自分类Dev

Javscript从具有相同属性,具有相同键和添加量的不同对象创建公共对象

来自分类Dev

使用LINQ从两个具有相同属性的不同列表创建对

来自分类Dev

两个具有相同属性实现方式但原型不同的javascript对象

来自分类Dev

JAXB解组具有相同名称和不同属性的外部和内部标签

来自分类Dev

如何使用Gson处理具有相同属性名称的不同数据类型?

来自分类Dev

C#JSON-序列化具有相同属性的不同类型的多个对象

来自分类Dev

JAXB解组具有相同名称和不同属性的外部和内部标签

来自分类Dev

创建具有不同属性的相同类的多个bean的最简单方法

来自分类Dev

UIView 及其子类上具有不同方法的相同属性

来自分类Dev

比较两个对象数组,并删除第二个对象数组中具有相同属性值的项

来自分类Dev

比较两个对象数组,并删除第二个对象数组中具有相同属性值的项

Related 相关文章

  1. 1

    Javascript-添加具有不同值的相同属性

  2. 2

    厨师:为不同的菜谱定义具有不同值的相同属性

  3. 3

    解析具有相同属性但名称不同的JSON文件

  4. 4

    解析具有相同标签和不同属性的xml

  5. 5

    具有不同属性的相同属性名称的Json反序列化

  6. 6

    选择具有相同属性1和不同属性2的行

  7. 7

    如何在plsql中将具有相同属性属性的对象类型属性值分配给不同的对象类型?

  8. 8

    计算具有相同属性值的对象

  9. 9

    如何排列具有相同属性值的对象数组?

  10. 10

    删除具有相同属性值的重复实体

  11. 11

    我可以定义具有相同属性但值不同的两个接口的联合类型吗?

  12. 12

    从列表生成具有相同属性的对

  13. 13

    具有几乎相同属性的模型

  14. 14

    创建具有相同属性的方法

  15. 15

    合并具有相同属性的元素

  16. 16

    具有不同属性的XSLT串联

  17. 17

    序列化具有相同名称但不同属性的2个属性

  18. 18

    有两个具有相同属性的不同库-Swing

  19. 19

    Javscript从具有相同属性,具有相同键和添加量的不同对象创建公共对象

  20. 20

    使用LINQ从两个具有相同属性的不同列表创建对

  21. 21

    两个具有相同属性实现方式但原型不同的javascript对象

  22. 22

    JAXB解组具有相同名称和不同属性的外部和内部标签

  23. 23

    如何使用Gson处理具有相同属性名称的不同数据类型?

  24. 24

    C#JSON-序列化具有相同属性的不同类型的多个对象

  25. 25

    JAXB解组具有相同名称和不同属性的外部和内部标签

  26. 26

    创建具有不同属性的相同类的多个bean的最简单方法

  27. 27

    UIView 及其子类上具有不同方法的相同属性

  28. 28

    比较两个对象数组,并删除第二个对象数组中具有相同属性值的项

  29. 29

    比较两个对象数组,并删除第二个对象数组中具有相同属性值的项

热门标签

归档