html – 内联SVG随Flexbox消失

前端之家收集整理的这篇文章主要介绍了html – 内联SVG随Flexbox消失前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我试图使用FlexBox在垂直和水平方向中心内联SVG元素.出于某种原因,当我在父容器上显示:flex时,内联SVG就会消失.

  1. body {
  2. background-color: #000;
  3. margin: 0;
  4. border: 0;
  5. outline: 0;
  6. }
  7. .flexBox-container {
  8. display: flex;
  9. align-items: center;
  10. justify-content: center;
  11. }
  1. Box-container">
  2. logo" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 598.6 323.5">

如果你知道为什么会这样,我会很感激.

最佳答案
您的SVG没有设置内部宽度/高度.

您可以在SVG中执行此操作,< svg width =“200”height =“150”...< / svg>或使用CSS规则

  1. .flexBox-container svg {
  2. width: 100%;
  3. }

堆栈代码

  1. body {
  2. background-color: #000;
  3. margin: 0;
  4. border: 0;
  5. outline: 0;
  6. }
  7. .flexBox-container {
  8. display: flex;
  9. align-items: center;
  10. justify-content: center;
  11. }
  12. .flexBox-container svg {
  13. width: 100%;
  14. }
  1. Box-container">
  2. logo" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 598.6 323.5">

如果您希望SVG水平和垂直居中,则Flex容器需要一个高度,即全视口,100vh

堆栈代码

  1. body {
  2. background-color: #000;
  3. margin: 0;
  4. border: 0;
  5. outline: 0;
  6. }
  7. .flexBox-container {
  8. display: flex;
  9. align-items: center;
  10. justify-content: center;
  11. height: 100vh;
  12. }
  13. .flexBox-container svg {
  14. width: 100%;
  15. }
  1. Box-container">
  2. logo" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 598.6 323.5">

看起来使用CSS宽度:100%和百分比在Firefox上的呈现方式与Chrome上的不同,但在SVG中使用内部宽度=“…”.

Src:SVG Spec: missing documentation: the “Viewport” (and )

堆栈代码

  1. body {
  2. background-color: #000;
  3. margin: 0;
  4. border: 0;
  5. outline: 0;
  6. }
  7. .flexBox-container {
  8. display: flex;
  9. align-items: center;
  10. justify-content: center;
  11. height: 100vh;
  12. }
  1. Box-container">
  2. logo" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 598.6 323.5">

由于SVG的内部宽度是“像素”,您当然可以在CSS中使用px.

堆栈代码

  1. body {
  2. background-color: #000;
  3. margin: 0;
  4. border: 0;
  5. outline: 0;
  6. }
  7. .flexBox-container {
  8. display: flex;
  9. align-items: center;
  10. justify-content: center;
  11. height: 100vh;
  12. }
  13. .flexBox-container svg {
  14. width: 220px;
  15. }
  1. Box-container">
  2. logo" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 598.6 323.5">

猜你在找的HTML相关文章