css 将两个div居中,一个在另一个下面

zbdgwd5y  于 2022-12-30  发布在  其他
关注(0)|答案(4)|浏览(153)

我尝试将两个div一个在另一个下面,在另一个div中居中。但这是我得到的最好结果,以一种响应方式。result I got

  1. .content {
  2. display: flex;
  3. align-items: center;
  4. justify-content: center;
  5. margin-left: 5px;
  6. background-color: lightgray;
  7. height: 100%;
  8. width: 80%;
  9. border-radius: 25px;
  10. }
  11. .cliente_info,
  12. .cliente_table {
  13. display: inline-block;
  14. }
  15. .cliente_info {
  16. width: 90%;
  17. height: 45%;
  18. background-color: azure;
  19. }
  20. .cliente_table {
  21. width: 90%;
  22. height: 45%;
  23. background-color: rgb(156, 204, 204);
  24. }
  1. <div class="content">
  2. <div class="cliente_info">
  3. </div>
  4. <div class="cliente_table">
  5. </div>
  6. </div>

我想让div看起来像下面的图像。Result expected

k97glaaz

k97glaaz1#

尝试将flex-flow: column添加到.content类,并将inline-block元素更改为block

roqulrg3

roqulrg32#

除了将flex-direction: column添加到.content类之外,还可以添加justify-content: space-around以在每个关联元素之前、之间和之后获得空格。如果不希望这样做,可以将顶部和底部填充应用于.content类。

gdrx4gfi

gdrx4gfi3#

    • 您可以尝试以下逻辑:**
  1. .content {
  2. display: flex;
  3. flex-direction: column;
  4. align-items: center;
  5. justify-content: center;
  6. width: 500px;
  7. height: 500px;
  8. background-color: lightgray;
  9. }
  10. /* Height => (2 * 45%) = 90% =>45% for cliente_info & 45% for cliente_table */
  11. .cliente_info,
  12. .cliente_table {
  13. width: 90%;
  14. height: 45%;
  15. }
  16. .cliente_info {
  17. background-color: cyan;
  18. }
  19. .cliente_table {
  20. background-color: orange;
  21. }
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8" />
  5. <meta http-equiv="X-UA-Compatible" content="IE=edge" />
  6. <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  7. <title>Document</title>
  8. </head>
  9. <body>
  10. <div class="content">
  11. <div class="cliente_info"></div>
  12. <div class="cliente_table"></div>
  13. </div>
  14. </body>
  15. </html>
展开查看全部
ncecgwcz

ncecgwcz4#

这里有很多注解:

注1:

默认情况下,flex元素有一个行的flex-direction,所以要使他的子元素站在一个列中,将flex-direction设置为列

注2:

例如,如果您希望使用flexgrid控制某些元素及其父元素,请尽量避免将display用于子元素,因为在大多数情况下,它将被忽略,对齐方式将来自父设置。
因此,从子节点中删除display: inline-block

注3:

我们将parentchildren的所有维度设置为百分比,这意味着父元素的祖父必须有宽度和高度,在本例中为body,以便父元素知道他取了什么值。
或者只设置宽度和高度而不设置百分比。

编辑后的代码:

  1. body{
  2. width: 100vw; height: 100vh; margin: 0;
  3. }
  4. .content {
  5. height: 100%; width: 80%;
  6. display: flex; flex-direction: column;
  7. align-items: center; justify-content: center;
  8. margin-left: 5px; border-radius: 25px;
  9. background-color: lightgray;
  10. }
  11. .cliente_info {
  12. width: 90%; height: 45%;
  13. background-color: azure;
  14. }
  15. .cliente_table {
  16. width: 90%; height: 45%;
  17. background-color: rgb(156, 204, 204);
  18. }
  1. <div class="content">
  2. <div class="cliente_info"></div>
  3. <div class="cliente_table"></div>
  4. </div>

请注意以下几行:css中的1-37,以及缺少的子项显示样式。
我想现在很清楚了,如果有什么东西不见了,就告诉我。

展开查看全部

相关问题