【问题标题】:How to Center Align Two Elements With Different Widths Relative to The Parent While Aligned Left With Same Indentation如何居中对齐两个相对于父级具有不同宽度的元素,同时左对齐具有相同的缩进
【发布时间】:2020-12-15 22:10:45
【问题描述】:

我正在使用 Material UI,但这可能只是知道如何使用 Flexbox 实现它的问题。如下图所示。我很难让所有 3 条线在不同的宽度上以相同的方式对齐。

到目前为止我有:

<Grid container justify="center">
  <Grid xs={7}>
    <Grid item container direction="column">
      <Grid container justify="flex-start">
        <p>
         Please check the items in the list below and mark them complete.
       </p>
      </Grid>

      <Grid container justify="center">
        Icon
      </Grid>
      <Grid>
        <ul>
         <li>List item</li>
         <li>List item</li>
        </ul>
      </Grid>
    </Grid>
  </Grid>
</Grid>

感谢任何指导,谢谢!

【问题讨论】:

    标签: css flexbox material-ui


    【解决方案1】:

    您的某些网格没有指定它们是容器还是项目,或者缺少项目,并且 dom 可以简化一点。也许是这样的? (内联样式是删除列表左侧的正常间距,使其看起来更像您的图像,但您应该正确设置列表的样式并将其删除)。

    <Grid container justify="center">
        <Grid xs={7} item container direction="column">
            <Grid item>
                <p>
                    Please check the items in the list below and mark them complete.
                </p>
            </Grid>
            <Grid container item justify="center">
                <Grid item>Icon</Grid>
            </Grid>
            <Grid item>
                <ul style={{paddingLeft: 0, listStyle: 'none'}}>
                    <li>List item</li>
                    <li>List item</li>
                </ul>
            </Grid>
        </Grid>
    </Grid>
    

    【讨论】:

    • 感谢您的回复。所以我可能在故障排除时使标记复杂化,但以上我的主要问题仍然存在。当我使用 xs={7} 将鼠标悬停在容器(开发工具)上时,它的每一侧都有相同数量的空白空间,这很好,但由于句子没有占据容器的全宽,它看起来不再居中我可以处理但是。当我调整窗口大小时,列表并不总是与“请检查....”文本对齐,在较小的屏幕尺寸下,它显示的空间较小,因此与顶部的文本不对齐。希望我说得通
    • 我确实理解文本宽度不会随列增长,因此它不会看起来居中,但出于同样的原因猜测其余元素看起来不会对齐......嗯
    • 如果所有项目都居中对齐,我就不会遇到这个问题,但元素的左对齐导致了这个问题。不知道最好的处理方法是什么
    • 我想我现在变得更好了,你正在尝试做什么。 “请检查..”行需要居中,但列表需要与第一行对齐,在可调整大小的网格上,可能非常宽(在大型设备上)。在这些约束下听起来无法实现。主要问题是,如果第一行需要居中,列表无法知道左对齐的位置(不知道第一行从哪里开始),除非您使用 javascript 手动设置一些边距,这听起来很糟糕想法。
    • 你需要妥协;您可以将第一行居中并让列表尽可能对齐,或者您可以为网格设置最大宽度而不是 xs={7}。您可以选择一个从该尺寸到较小尺寸看起来足够好的任意值,并约束网格使其永远不会超出该限制。
    猜你喜欢
    • 2019-01-12
    • 2018-03-08
    • 2014-04-10
    • 1970-01-01
    • 2011-01-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多