如何使用Angular Material制作水平卡片

huangapple go评论104阅读模式
英文:

How to make horizontal cards using Angular Material

问题

我正在尝试将这些垂直卡片变成水平卡片。

我正在使用Angular Material的Cards组件。

我只能创建垂直卡片,但我需要将卡片水平排列。

这里是我附上的代码供参考。

HTML:

  1. <body>
  2. <div class="wrap">
  3. <!-- <img class="img-bg" background-image src="assets/logo.png"> -->
  4. <div class="text">
  5. <h1 style="font-weight: bold; text-align: center;">欢迎使用数据门户...</h1>
  6. <br>
  7. <mat-card class="example-card">
  8. <mat-card-header>
  9. <mat-card-title>Catalog</mat-card-title>
  10. </mat-card-header>
  11. <mat-card-content>
  12. <p>在这里,您可以找到有关用户/角色的详细信息。</p>
  13. </mat-card-content>
  14. <mat-card-header>
  15. <mat-card-title>Data Portal</mat-card-title>
  16. </mat-card-header>
  17. <mat-card-content>
  18. <p>在这里,您可以找到有关所有数据库和表的详细信息。</p>
  19. </mat-card-content>
  20. </mat-card>
  21. <br>
  22. <mat-card class="example-card">
  23. <mat-card-header>
  24. <mat-card-title>Data Portal</mat-card-title>
  25. </mat-card-header>
  26. <mat-card-content>
  27. <p>在这里,您可以找到有关所有数据库和表的详细信息。</p>
  28. </mat-card-content>
  29. </mat-card>
  30. </div>
  31. </div>
  32. </body>

CSS:

  1. .example-card {
  2. height: 200px;
  3. width: 400px;
  4. max-width: 300px;
  5. margin-left: 100px;
  6. background-color: lightgrey;
  7. color: black;
  8. text-align: center;
  9. }

示例图片

  1. <details>
  2. <summary>英文:</summary>
  3. I am trying to make these vertical cards into horizontal cards.
  4. I am using the Cards component from Angular Material.
  5. I can create cards only vertically, but I need the cards arranged on a horizontal level.
  6. Here I&#39;m attaching my code for reference.
  7. HTML:
  8. &lt;!-- begin snippet: js hide: false console: true babel: false --&gt;
  9. &lt;!-- language: lang-html --&gt;
  10. &lt;body&gt;
  11. &lt;div class=&quot;wrap&quot;&gt;
  12. &lt;!-- &lt;img class=&quot;img-bg&quot; background-image src=&quot;assets/logo.png&quot;&gt; --&gt;
  13. &lt;div class=&quot;text&quot;&gt;
  14. &lt;h1 style=&quot;font-weight: bold; text-align: center;&quot;&gt;Welcome to Data Portal...&lt;/h1&gt;
  15. &lt;br&gt;
  16. &lt;mat-card class=&quot;example-card&quot;&gt;
  17. &lt;mat-card-header&gt;
  18. &lt;mat-card-title&gt;Catalog&lt;/mat-card-title&gt;
  19. &lt;/mat-card-header&gt;
  20. &lt;mat-card-content&gt;
  21. &lt;p&gt;Here you can find the details about users/roles.&lt;/p&gt;
  22. &lt;/mat-card-content&gt;
  23. &lt;mat-card-header&gt;
  24. &lt;mat-card-title&gt;Data Portal&lt;/mat-card-title&gt;
  25. &lt;/mat-card-header&gt;
  26. &lt;mat-card-content&gt;
  27. &lt;p&gt;Here you can find the details about all the databases and tables.&lt;/p&gt;
  28. &lt;/mat-card-content&gt;
  29. &lt;/mat-card&gt;
  30. &lt;br&gt;
  31. &lt;mat-card class=&quot;example-card&quot;&gt;
  32. &lt;mat-card-header&gt;
  33. &lt;mat-card-title&gt;Data Portal&lt;/mat-card-title&gt;
  34. &lt;/mat-card-header&gt;
  35. &lt;mat-card-content&gt;
  36. &lt;p&gt;Here you can find the details about all the databases and tables.&lt;/p&gt;
  37. &lt;/mat-card-content&gt;
  38. &lt;/mat-card&gt;
  39. &lt;/div&gt;
  40. &lt;/div&gt;
  41. &lt;/body&gt;
  42. &lt;!-- end snippet --&gt;
  43. CSS:
  44. &lt;!-- begin snippet: js hide: false console: true babel: false --&gt;
  45. &lt;!-- language: lang-css --&gt;
  46. .example-card {
  47. height: 200px;
  48. width: 400px;
  49. max-width: 300px;
  50. margin-left: 100px;
  51. background-color: lightgrey;
  52. color: black;
  53. text-align: center;
  54. }
  55. &lt;!-- end snippet --&gt;
  56. [sample image](https://i.stack.imgur.com/PRKzY.png)
  57. </details>
  58. # 答案1
  59. **得分**: 2
  60. 创建一个容器来包裹所有的`mat-card`,然后使用CSS改变容器内元素的布局流动方式。例如:
  61. ```html
  62. <div style="display: flex;">
  63. <mat-card>...</mat-card>
  64. <mat-card>...</mat-card>
  65. </div>
英文:

Create a container for all the mat-cards, then change the flow of the elements inside the container using CSS. For example:

  1. &lt;div style=&quot;display: flex;&quot;&gt;
  2. &lt;mat-card&gt;...&lt;/mat-card&gt;
  3. &lt;mat-card&gt;...&lt;/mat-card&gt;
  4. &lt;/div&gt;

答案2

得分: 1

以下是您提供的代码的翻译:

  1. <div fxLayout="row wrap" fxLayoutGap="16px grid">
  2. <div fxFlex="25%" fxFlex.xs="100%" fxFlex.sm="33%">
  3. <mat-card class="mat-elevation-z4">
  4. </mat-card>
  5. </div>
  6. </div>

请注意,这是提供的代码的直译翻译,没有进行任何其他修改。如果您需要进一步的帮助或解释,请告诉我。

英文:
  1. &lt;div fxLayout=&quot;row wrap&quot; fxLayoutGap=&quot;16px grid&quot;&gt;
  2. &lt;div fxFlex=&quot;25%&quot; fxFlex.xs=&quot;100%&quot; fxFlex.sm=&quot;33%&quot;&gt;
  3. &lt;mat-card class=&quot;mat-elevation-z4&quot; &gt;
  4. &lt;/mat-card&gt;
  5. &lt;/div&gt;

See link below for reference https://zoaibkhan.com/blog/create-a-responsive-card-grid-in-angular-using-flex-layout-part-1/

答案3

得分: 1

你需要先为mat-cards创建一个容器,然后可以设置flex属性,使其水平或垂直排列,如果需要的话。以下是一些可能会帮助你的代码。

  1. .wrap {
  2. display: flex;
  3. margin: 0 auto; /* 居中内容 */
  4. }
  5. .example-card {
  6. border: 1px solid black;
  7. border-radius: 5px;
  8. text-align: center;
  9. height: 200px;
  10. width: 400px;
  11. max-width: 300px;
  12. margin-left: 100px;
  13. background-color: lightgrey;
  14. color: black;
  15. text-align: center;
  16. }
  1. <div class="wrap">
  2. <mat-card class="example-card">
  3. <mat-card-header>
  4. <mat-card-title>Catalog</mat-card-title>
  5. </mat-card-header>
  6. <mat-card-content>
  7. <p>在这里,您可以找到有关用户/角色的详细信息。</p>
  8. </mat-card-content>
  9. <mat-card-header>
  10. <mat-card-title>Data Portal</mat-card-title>
  11. </mat-card-header>
  12. <mat-card-content>
  13. <p>在这里,您可以找到有关所有数据库和表的详细信息。</p>
  14. </mat-card-content>
  15. </mat-card>
  16. <br>
  17. <mat-card class="example-card">
  18. <mat-card-header>
  19. <mat-card-title>Data Portal</mat-card-title>
  20. </mat-card-header>
  21. <mat-card-content>
  22. <p>在这里,您可以找到有关所有数据库和表的详细信息。</p>
  23. </mat-card-content>
  24. </mat-card>
  25. </div>
英文:

You need a container for mat-cards first, then you can set flex to make it horizontal or even vertical if you want. Some code is below maybe will help you.

<!-- begin snippet: js hide: false console: true babel: false -->

<!-- language: lang-css -->

  1. .wrap{
  2. display: flex;
  3. margin: 0 auto //center the content
  4. }
  5. .example-card{
  6. border: 1px solid black;
  7. border-radius: 5px;
  8. text-align: center;
  9. height: 200px;
  10. width: 400px;
  11. max-width: 300px;
  12. margin-left: 100px;
  13. background-color: lightgrey;
  14. color: black;
  15. text-align: center;
  16. }

<!-- language: lang-html -->

  1. &lt;div class=&quot;wrap&quot;&gt;
  2. &lt;mat-card class=&quot;example-card&quot;&gt;
  3. &lt;mat-card-header&gt;
  4. &lt;mat-card-title&gt;Catalog&lt;/mat-card-title&gt;
  5. &lt;/mat-card-header&gt;
  6. &lt;mat-card-content&gt;
  7. &lt;p&gt;Here you can find the details about users/roles.&lt;/p&gt;
  8. &lt;/mat-card-content&gt;
  9. &lt;mat-card-header&gt;
  10. &lt;mat-card-title&gt;Data Portal&lt;/mat-card-title&gt;
  11. &lt;/mat-card-header&gt;
  12. &lt;mat-card-content&gt;
  13. &lt;p&gt;Here you can find the details about all the databases and tables.&lt;/p&gt;
  14. &lt;/mat-card-content&gt;
  15. &lt;/mat-card&gt;
  16. &lt;br&gt;
  17. &lt;mat-card class=&quot;example-card&quot;&gt;
  18. &lt;mat-card-header&gt;
  19. &lt;mat-card-title&gt;Data Portal&lt;/mat-card-title&gt;
  20. &lt;/mat-card-header&gt;
  21. &lt;mat-card-content&gt;
  22. &lt;p&gt;Here you can find the details about all the databases and tables.&lt;/p&gt;
  23. &lt;/mat-card-content&gt;
  24. &lt;/mat-card&gt;
  25. &lt;/div&gt;

<!-- end snippet -->

huangapple
  • 本文由 发表于 2023年2月6日 21:34:45
  • 转载请务必保留本文链接:https://go.coder-hub.com/75361988.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定