代码之家  ›  专栏  ›  技术社区  ›  billy jean

使SVG覆盖整个视区(响应)并使SVG组对象在视区中垂直和水平居中

  •  0
  • billy jean  · 技术社区  · 5 年前

    我正试图配置一个SVG来响应地覆盖整个视区。我已经能够使用css和svg属性来实现这一点,但是这种方法使得实现我的第二个需求变得困难。在SVG中,我希望水平/垂直地将对象居中。

    --编辑——

     <svg 
          version="1.1" 
          xmlns="http://www.w3.org/2000/svg" 
          xmlns:xlink="http://www.w3.org/1999/xlink" 
          x="0px" 
          y="0px"      
          style="position:absolute; top:0; left:0; z-index:100"
          width="100%" 
          height="100%">     
          <rect 
            ref="introWhiteRec"
            width="100%"
            height="100%"
            fill="white"                          
          />
          <rect 
            ref="introBlackRec"
            width="100%"
            height="100%"
            fill="black"         
          />
          <rect
              ref="introBlackRec"
              width="100"
              height="100"
              fill="grey"/> <!-- center this h and v? -->                
        </svg>
    
    1 回复  |  直到 5 年前
        1
  •  1
  •   enxaneta    5 年前

    我不太确定这是否是你需要的:

    <svg 
          version="1.1" 
          xmlns="http://www.w3.org/2000/svg" 
          xmlns:xlink="http://www.w3.org/1999/xlink"      
          style="position:absolute; top:0; left:0; z-index:100"
          width="100%" 
          height="100%">     
          <rect 
            ref="introWhiteRec"
            width="100%"
            height="100%"
            fill="white"                          
          />
          <rect 
            ref="introBlackRec"
            width="100%"
            height="100%"
            fill="black"         
          />
          <rect 
              ref="introBlackRec"
              width="100"
              height="100"
              x="-50"
              y="-50"
              style="transform: translate(50vw, 50vh)";
              fill="grey"/> <!-- center this h and v? -->                
        </svg>