5 844 Codepen

Анимация акулы на SVG

Анимация нарисованной на SVG акулы плывущей в океане

HTML

<section>
    <div id="bg">
        <div class="wave">
            <svg class="waves" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 24 150 28" height="100%" width="100%" preserveAspectRatio="none">
 <defs>
 <path id="gentle-wave"
 d="M-160 44c30 0 
    58-18 88-18s
    58 18 88 18 
    58-18 88-18s 
    58 18 88 18
    v44h-352z" />
  </defs>
  <g class="parallax" transform="translateX(50)">
   <use xlink:href="#gentle-wave" x="15" y="-10" fill="#0052BF"/>
   <use xlink:href="#gentle-wave" x="15" y="10" fill="#0048B6"/>  
  </g>
</svg>
        </div>
    </div>
    <div id="shark-container">
        <div id="sharky">
            <svg xmlns:osb="http://www.openswatchbook.org/uri/2009/osb" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
             xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" version="1.1" id="svg3713" width="100%" height="644" viewBox="0 0 1000 644"
             sodipodi:docname="sharky.svg" inkscape:version="0.92.3 (2405546, 2018-03-11)" enable-background="new">
  <metadata
     id="metadata3719">
    <rdf:RDF>
      <cc:Work
         rdf:about="">
        <dc:format>image/svg+xml</dc:format>
        <dc:type
           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
        <dc:title />
      </cc:Work>
    </rdf:RDF>
  </metadata>
  <defs
     id="defs3717">
    <linearGradient
       inkscape:collect="always"
       id="linearGradient2175">
      <stop
         style="stop-color:#deebeb;stop-opacity:1;"
         offset="0"
         id="stop2171" />
      <stop
         style="stop-color:#deebeb;stop-opacity:0;"
         offset="1"
         id="stop2173" />
    </linearGradient>
    <marker
       inkscape:stockid="Arrow1Lstart"
       orient="auto"
       refY="0.0"
       refX="0.0"
       id="Arrow1Lstart"
       style="overflow:visible"
       inkscape:isstock="true">
      <path
         id="path1554"
         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
         style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt"
         transform="scale(0.8) translate(12.5,0)" />
    </marker>
    <marker
       inkscape:stockid="Arrow1Sstart"
       orient="auto"
       refY="0.0"
       refX="0.0"
       id="Arrow1Sstart"
       style="overflow:visible"
       inkscape:isstock="true">
      <path
         id="path1566"
         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
         style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt"
         transform="scale(0.2) translate(6,0)" />
    </marker>
    <linearGradient
       id="linearGradient4835"
       osb:paint="solid">
      <stop
         style="stop-color:#009deb;stop-opacity:1;"
         offset="0"
         id="stop4833" />
    </linearGradient>
    <filter
       inkscape:collect="always"
       style="color-interpolation-filters:sRGB"
       id="filter2072"
       x="-0.012448598"
       width="1.0248972"
       y="-0.333"
       height="1.666">
      <feGaussianBlur
         inkscape:collect="always"
         stdDeviation="0.84297166"
         id="feGaussianBlur2074" />
    </filter>
    <linearGradient
       inkscape:collect="always"
       xlink:href="#linearGradient2175"
       id="linearGradient2177"
       x1="95.943848"
       y1="79.740578"
       x2="262.50898"
       y2="79.740578"
       gradientUnits="userSpaceOnUse" />
    <filter
       inkscape:collect="always"
       style="color-interpolation-filters:sRGB"
       id="filter2072-0"
       x="-0.012448598"
       width="1.0248972"
       y="-0.333"
       height="1.666">
      <feGaussianBlur
         inkscape:collect="always"
         stdDeviation="0.84297166"
         id="feGaussianBlur2074-2" />
    </filter>
    <linearGradient
       inkscape:collect="always"
       xlink:href="#linearGradient2175"
       id="linearGradient2208"
       gradientUnits="userSpaceOnUse"
       x1="95.943848"
       y1="79.740578"
       x2="262.50898"
       y2="79.740578" />
    <filter
       inkscape:collect="always"
       style="color-interpolation-filters:sRGB"
       id="filter2072-2"
       x="-0.012448598"
       width="1.0248972"
       y="-0.333"
       height="1.666">
      <feGaussianBlur
         inkscape:collect="always"
         stdDeviation="0.84297166"
         id="feGaussianBlur2074-7" />
    </filter>
    <linearGradient
       inkscape:collect="always"
       xlink:href="#linearGradient2175"
       id="linearGradient2224"
       gradientUnits="userSpaceOnUse"
       x1="95.943848"
       y1="79.740578"
       x2="262.50898"
       y2="79.740578" />
    <filter
       inkscape:collect="always"
       style="color-interpolation-filters:sRGB"
       id="filter2072-8"
       x="-0.012448598"
       width="1.0248972"
       y="-0.333"
       height="1.666">
      <feGaussianBlur
         inkscape:collect="always"
         stdDeviation="0.84297166"
         id="feGaussianBlur2074-5" />
    </filter>
    <linearGradient
       inkscape:collect="always"
       xlink:href="#linearGradient2175"
       id="linearGradient2240"
       gradientUnits="userSpaceOnUse"
       x1="95.943848"
       y1="79.740578"
       x2="262.50898"
       y2="79.740578" />
    <filter
       inkscape:collect="always"
       style="color-interpolation-filters:sRGB"
       id="filter2072-02"
       x="-0.012448598"
       width="1.0248972"
       y="-0.333"
       height="1.666">
      <feGaussianBlur
         inkscape:collect="always"
         stdDeviation="0.84297166"
         id="feGaussianBlur2074-3" />
    </filter>
    <linearGradient
       inkscape:collect="always"
       xlink:href="#linearGradient2175"
       id="linearGradient2256"
       gradientUnits="userSpaceOnUse"
       x1="95.943848"
       y1="79.740578"
       x2="262.50898"
       y2="79.740578" />
    <filter
       inkscape:collect="always"
       style="color-interpolation-filters:sRGB"
       id="filter2072-24"
       x="-0.012448598"
       width="1.0248972"
       y="-0.333"
       height="1.666">
      <feGaussianBlur
         inkscape:collect="always"
         stdDeviation="0.84297166"
         id="feGaussianBlur2074-33" />
    </filter>
    <linearGradient
       inkscape:collect="always"
       xlink:href="#linearGradient2175"
       id="linearGradient2272"
       gradientUnits="userSpaceOnUse"
       x1="95.943848"
       y1="79.740578"
       x2="262.50898"
       y2="79.740578" />
    <filter
       inkscape:collect="always"
       style="color-interpolation-filters:sRGB"
       id="filter2072-1"
       x="-0.012448598"
       width="1.0248972"
       y="-0.333"
       height="1.666">
      <feGaussianBlur
         inkscape:collect="always"
         stdDeviation="0.84297166"
         id="feGaussianBlur2074-71" />
    </filter>
    <linearGradient
       inkscape:collect="always"
       xlink:href="#linearGradient2175"
       id="linearGradient2288"
       gradientUnits="userSpaceOnUse"
       x1="95.943848"
       y1="79.740578"
       x2="262.50898"
       y2="79.740578" />
  </defs>
  <sodipodi:namedview
     pagecolor="#ffffff"
     bordercolor="#666666"
     borderopacity="1"
     objecttolerance="10"
     gridtolerance="10"
     guidetolerance="10"
     inkscape:pageopacity="0"
     inkscape:pageshadow="2"
     inkscape:window-width="1920"
     inkscape:window-height="1017"
     id="namedview3715"
     showgrid="false"
     inkscape:zoom="1.3167702"
     inkscape:cx="218.91196"
     inkscape:cy="312.3513"
     inkscape:window-x="-8"
     inkscape:window-y="-8"
     inkscape:window-maximized="1"
     inkscape:current-layer="layer8"
     showguides="true"
     inkscape:object-paths="true"
     inkscape:snap-smooth-nodes="true" />
  <g
     inkscape:groupmode="layer"
     id="layer3"
     inkscape:label="fon"
     style="display:inline;opacity:1" />
  <g
     inkscape:groupmode="layer"
     id="layer12"
     inkscape:label="tail">
    <g
       style="display:inline;opacity:1"
       id="g6447"
       transform="translate(-966.49691,250.85113)">
      <path
         sodipodi:nodetypes="ccscccscscc"
         inkscape:connector-curvature="0"
         id="path6440"
         d="m 1248.8891,46.325478 c -31.2107,-24.59472 -56.1938,-1.604553 -85.4363,22.023584 -4.9679,3.7004 -6.5607,1.043768 -7.1086,-3.206187 -3.1721,-24.604388 14.0179,-45.389826 29.8916,-63.2442834 -13.7127,-52.5286296 -19.7856,-94.4634496 -18.1612,-138.5276016 1.987,-1.30125 4.2724,-1.84302 8.5058,1.96403 14.6206,26.19002 30.8925,46.938636 38.1718,67.103643 8.9126,24.689619 25.88,51.691212 38.5932,47.790997 24.3268,8.366659 61.961,-0.399789 70.4293,15.4146249 9.5872,17.9037471 -6.4877,72.8018641 -14.1872,99.6573401 z"
         style="fill:#009deb;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
      <path
         sodipodi:nodetypes="cscsccccc"
         inkscape:connector-curvature="0"
         id="path6442"
         d="m 1253.974,12.295934 c -51.9972,-10.6739789 -76.8616,-112.108481 -85.8994,-148.924944 -0.3459,-1.40889 5.1359,-1.31659 6.0822,0.20038 -1.1513,-0.73385 1.3403,0.43966 2.5772,2.03867 16.0628,20.76396 25.8327,42.437667 38.0182,66.828623 12.2988,20.754979 20.3714,49.759983 38.5932,47.790997 76.0669,6.603019 119.5016,3.280546 125.0092,11.9878337 L 1325.168,13.014343 c -8.6797,1.570911 -46.3234,4.602766 -71.194,-0.718409 z"
         style="fill:#00b3f7;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
    </g>
  </g>
  <g
     inkscape:groupmode="layer"
     id="layer6"
     inkscape:label="spinefin">
    <g
       id="g890"
       transform="translate(-837.52372,-2.093098)">
      <path
         sodipodi:nodetypes="ccscc"
         inkscape:connector-curvature="0"
         id="path854"
         d="m 1227.8526,227.2873 c 0.4474,-46.89705 1.7496,-78.12816 -34.3681,-114.91819 -3.5809,-7.69805 -3.1911,-16.490321 10.203,-16.378526 51.8323,0.432623 120.6243,52.247226 158.4153,114.381186 z"
         style="fill:#00b3f7;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
      <path
         sodipodi:nodetypes="cccc"
         inkscape:connector-curvature="0"
         id="path856"
         d="m 1226.6972,180.00941 c 28.502,0.88405 59.653,2.77247 107.077,33.93176 -34.3779,4.33162 -68.74,8.66125 -105.9216,13.34613 0.4684,-15.56509 0.4996,-31.67816 -1.1554,-47.27789 z"
         style="display:inline;opacity:1;fill:#009deb;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
    </g>
  </g>
  <g
     inkscape:groupmode="layer"
     id="layer4"
     inkscape:label="body"
     style="display:inline;opacity:1">
    <g
       id="g6381"
       transform="translate(93.488295,75.269549)">
      <path
         sodipodi:nodetypes="cccscccccccssccc"
         inkscape:connector-curvature="0"
         id="path4585"
         d="m 469.28,123.11098 c 79.5093,-4.9539 158.9761,-9.01033 230.0532,4.74271 14.6526,5.14375 53.412,6.09218 57.9961,32.75705 0.09,3.7937 0.2151,6.79562 -0.7243,9.22502 -21.3713,55.26399 -42.2799,59.38542 -62.8288,88.00192 -15.6446,9.116 -24.0866,24.1973 -27.1675,37.59007 -1.5213,7.35138 -4.0244,11.72563 -3.3197,20.88067 -18.0232,7.58431 -37.3174,14.24055 -57.3614,17.78339 3.8869,19.3835 16.88477,27.8421 27.69614,43.43751 0.3839,4.10453 -1.13715,11.90182 -3.13405,15.05404 -77.59503,75.97706 -239.77503,63.88906 -288.76649,5.41156 -44.1141,-41.74341 -76.62008,-105.84563 -127.9635,-153.39799 -4.40536,-4.08008 -5.5387,2.39899 -21.3767,-0.40671 -7.21908,-1.27886 -26.6872,-52.4542 17.1458,-102.56716 10.5787,3.62097 17.6493,7.94353 23.1832,12.57345 167.8114,-30.1297 177.9428,-25.21943 236.568,-31.08553 z"
         style="opacity:1;fill:#009deb;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;image-rendering:optimizeQuality" />
      <path
         sodipodi:nodetypes="ccsccccsc"
         inkscape:connector-curvature="0"
         id="path4587"
         d="m 185.2535,185.15175 c 38.271,14.48697 207.4724,14.97566 567.6835,-6.3085 7.2332,-15.9604 4.42272,-24.21508 -1.1828,-30.44958 -9.92632,-11.04013 -30.3479,-16.30658 -52.421,-20.53998 -11.4268,-2.22038 -21.7796,-3.38561 -32.3149,-4.73014 -86.5756,-9.42185 -171.9215,-2.4009 -258.8861,4.86296 -61.318,5.20509 -116.9895,17.42032 -175.4202,26.21 -5.0998,-5.36008 -13.55061,-15.15103 -23.1832,-12.57345 -16.06593,4.29907 -18.7286,22.97925 -24.2753,43.52869 z"
         style="opacity:1;fill:#00b3f7;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;image-rendering:optimizeQuality" />
      <path
         sodipodi:nodetypes="cccccssccc"
         inkscape:connector-curvature="0"
         id="path4603"
         d="m 693.77624,257.83768 c -53.537,6.41361 -107.7145,13.43571 -181.0785,38.68496 l -42.1486,15.94812 c -54.3486,27.10267 -108.99077,53.09904 -176.21563,31.66824 9.7708,12.33477 26.72362,34.81191 47.38969,53.85592 59.18457,73.09742 242.62382,59.80399 291.39604,-8.81445 3.34924,-4.7121 2.56373,-8.40639 0.5045,-11.65115 -15.6877,-24.71939 -24.77728,-28.67257 -27.6961,-43.43751 20.90462,-3.74125 39.9328,-10.19309 57.3614,-17.78339 1.0719,-29.18415 18.6392,-40.778 30.4872,-58.47074 z"
         style="opacity:1;fill:#deebeb;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;image-rendering:optimizeQuality" />
    </g>
  </g>
  <g
     inkscape:groupmode="layer"
     id="layer7"
     inkscape:label="gills">
    <g
       style="display:inline;opacity:1"
       id="g923"
       transform="translate(-960.69981,-20.699836)">
      <path
         sodipodi:nodetypes="ccccc"
         inkscape:connector-curvature="0"
         id="path897"
         d="m 1485.076,264.34036 c -5.7188,21.48017 -6.1384,46.27236 -0.4027,74.91163 l 5.3699,-1.74525 c -3.954,-23.28788 -5.9314,-46.84841 0.4028,-71.55537 z"
         style="fill:#008ae0;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
      <path
         sodipodi:nodetypes="ccccc"
         inkscape:connector-curvature="0"
         id="path897-7"
         d="m 1467.0035,264.73207 c -5.7188,21.48017 -6.1384,46.27236 -0.4027,74.91163 l 5.3699,-1.74525 c -3.954,-23.28788 -5.9314,-46.84841 0.4028,-71.55537 z"
         style="display:inline;opacity:1;fill:#008ae0;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
      <path
         sodipodi:nodetypes="ccccc"
         inkscape:connector-curvature="0"
         id="path897-1"
         d="m 1504.1908,264.59783 c -5.7188,21.48017 -6.1384,46.27236 -0.4027,74.91163 l 5.3699,-1.74525 c -3.954,-23.28788 -5.9314,-46.84841 0.4028,-71.55537 z"
         style="display:inline;opacity:1;fill:#008ae0;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
    </g>
  </g>
  <g
     inkscape:groupmode="layer"
     id="layer2"
     inkscape:label="eye"
     style="display:inline">
    <g
       id="g4575"
       transform="translate(-493.02389,44.623131)">
      <ellipse
         ry="55.438675"
         rx="53.729954"
         cy="224.03302"
         cx="1153.0104"
         id="path4559"
         style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1.15914166;stroke-opacity:1" />
      <ellipse
         ry="40.157127"
         rx="39.967266"
         cy="218.33727"
         cx="1160.6049"
         id="path4561"
         style="fill:#ffde39;fill-opacity:1;stroke:none;stroke-width:1.18575025;stroke-opacity:1" />
      <ellipse
         ry="28.151949"
         rx="28.127871"
         cy="217.49199"
         cx="1165.2455"
         id="path4567"
         style="fill:#443e74;fill-opacity:1;stroke:none;stroke-width:0.99343288;stroke-opacity:1" />
      <ellipse
         ry="8.9528923"
         rx="9.0686188"
         cy="221.95604"
         cx="1150.6288"
         id="path4569"
         style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.88806164;stroke-opacity:1" />
    </g>
  </g>
  <g
     inkscape:groupmode="layer"
     id="layer1"
     inkscape:label="fin"
     style="display:inline">
    <g
       id="g3747"
       transform="translate(2.8309148,-133.74858)">
      <g
         id="g3729" />
      <g
         id="g4552">
        <path
           sodipodi:nodetypes="cssscc"
           inkscape:connector-curvature="0"
           id="path3724"
           d="m 388.07075,528.94575 c -1.72947,-8.77404 53.00919,-20.39692 58.6233,22.51334 2.69459,20.59553 -8.34034,34.90859 -25.86514,44.2145 -2.48545,1.31981 -5.10144,2.5389 -7.82732,3.66092 -53.59378,22.06009 -149.66531,6.59415 -131.25158,-18.74725 41.90812,-10.0601 83.08977,-20.6673 106.98981,-53.84341"
           style="fill:#009deb;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
        <path
           style="fill:#00b3f7;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
           d="m 386.9491,530.46853 c 114.94367,39.5159 -60.24611,85.52555 -103.91865,51.41839 -1.22495,-0.95665 -2.00946,-0.72826 -1.28044,-1.29966 5.5284,-4.33315 65.36742,-6.0669 104.40758,-50.4294"
           id="path3726"
           inkscape:connector-curvature="0"
           sodipodi:nodetypes="cssc" />
      </g>
    </g>
  </g>
  <g
     inkscape:groupmode="layer"
     id="layer5"
     inkscape:label="jaws">
    <g
       inkscape:groupmode="layer"
       id="layer9"
       inkscape:label="jaws 1" />
    <g
       inkscape:groupmode="layer"
       id="layer10"
       inkscape:label="jaws 2" />
    <g
       inkscape:groupmode="layer"
       id="layer11"
       inkscape:label="jaws 3">
      <g
         id="g6438"
         transform="translate(-907.91491,-109.82297)">
        <path
           sodipodi:nodetypes="cccccc"
           inkscape:connector-curvature="0"
           id="path6398"
           d="m 1600.8868,519.45283 c 5.9715,14.91295 11.8765,29.89239 22.783,39.87028 5.6611,5.53706 10.5535,9.88173 -0.7594,18.22642 -100.3008,38.00175 -158.9937,-40.34714 -149.6085,-114.67453 3.1819,-8.03678 10.2286,-14.14487 21.2642,-4.17688 15.9327,25.93872 40.8688,61.00402 106.3207,60.75471 z"
           style="fill:#fb90c5;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
        <path
           sodipodi:nodetypes="ccc"
           inkscape:connector-curvature="0"
           id="path6387"
           d="m 1477.9469,515.43559 c 43.7356,11.70371 87.1739,26.38052 127.9184,67.99481 -72.2317,15.88002 -112.5717,-20.5648 -127.9184,-67.99481 z"
           style="display:inline;opacity:1;fill:#eb64a7;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
        <path
           sodipodi:nodetypes="ccccc"
           inkscape:connector-curvature="0"
           id="path6385"
           d="m 1484.1168,531.06331 c 26.1798,-13.03623 20.968,5.62749 21.0552,19.65025 18.0448,-8.36021 31.4779,-10.1871 25.441,15.56839 22.8135,-11.5331 31.2275,-10.48255 27.2135,20.12797 -56.2044,-8.81867 -70.5113,-49.80257 -73.7097,-55.34661 z"
           style="display:inline;opacity:1;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
      </g>
    </g>
  </g>
  <g
     inkscape:groupmode="layer"
     id="layer8"
     inkscape:label="lines">
    <rect
       style="display:inline;opacity:0.5;fill:url(#linearGradient2208);fill-opacity:1;stroke:none;stroke-opacity:1;paint-order:stroke fill markers;filter:url(#filter2072-0)"
       id="rect1552-8"
       width="162.51886"
       height="6.0754714"
       x="97.96698"
       y="76.702843"
       ry="3.0377357"
       transform="matrix(-0.85445125,0,0,1.0479948,492.33442,344.26572)" />
    <rect
       style="display:inline;opacity:0.5;fill:url(#linearGradient2256);fill-opacity:1;stroke:none;stroke-opacity:1;paint-order:stroke fill markers;filter:url(#filter2072-02)"
       id="rect1552-6"
       width="162.51886"
       height="6.0754714"
       x="97.96698"
       y="76.702843"
       ry="3.0377357"
       transform="matrix(-0.85445125,0,0,1.0479948,718.82293,131.46389)" />
    <rect
       style="display:inline;opacity:0.5;fill:url(#linearGradient2288);fill-opacity:1;stroke:none;stroke-opacity:1;paint-order:stroke fill markers;filter:url(#filter2072-1)"
       id="rect1552-83"
       width="162.51886"
       height="6.0754714"
       x="97.96698"
       y="76.702843"
       ry="3.0377357"
       transform="matrix(-0.85445125,0,0,1.0479948,531.33429,179.02648)" />
  </g>
  <g
     inkscape:groupmode="layer"
     id="layer13"
     inkscape:label="lines 2">
    <rect
       style="display:inline;opacity:0.5;fill:url(#linearGradient2177);fill-opacity:1;stroke:none;stroke-opacity:1;paint-order:stroke fill markers;filter:url(#filter2072)"
       id="rect1552"
       width="162.51886"
       height="6.0754714"
       x="97.96698"
       y="76.702843"
       ry="3.0377357"
       transform="matrix(-0.85445125,0,0,1.0479948,439.66879,23.524771)" />
    <rect
       style="display:inline;opacity:0.5;fill:url(#linearGradient2224);fill-opacity:1;stroke:none;stroke-opacity:1;paint-order:stroke fill markers;filter:url(#filter2072-2)"
       id="rect1552-4"
       width="162.51886"
       height="6.0754714"
       x="97.96698"
       y="76.702843"
       ry="3.0377357"
       transform="matrix(-0.85445125,0,0,1.0479948,626.26758,268.05022)" />
    <rect
       style="display:inline;opacity:0.5;fill:url(#linearGradient2240);fill-opacity:1;stroke:none;stroke-opacity:1;paint-order:stroke fill markers;filter:url(#filter2072-8)"
       id="rect1552-1"
       width="162.51886"
       height="6.0754714"
       x="97.96698"
       y="76.702843"
       ry="3.0377357"
       transform="matrix(-0.85445125,0,0,1.0479948,408.92167,251.34409)" />
    <rect
       style="display:inline;opacity:0.5;fill:url(#linearGradient2272);fill-opacity:1;stroke:none;stroke-opacity:1;paint-order:stroke fill markers;filter:url(#filter2072-24)"
       id="rect1552-5"
       width="162.51886"
       height="6.0754714"
       x="97.96698"
       y="76.702843"
       ry="3.0377357"
       transform="matrix(-0.85445125,0,0,1.0479948,635.298,433.4407)" />
  </g>
</svg>

        </div>

        <div id="link">
            <a target="_blank" href="http://webstripe.studio/">
                <h1>Made at Webstripe Studio</h1>
            </a>
            <a target="_blank" href="https://www.digitalocean.com/">
                <h2>DigitalOcean &copy; Sammy Mascot</h2>
            </a>
        </div>
    </div>

</section>

CSS

body {
    padding: 0;
    margin: 0;
    font-family: "Fira Sans", sans-serif;
    max-height: 100%;
    height: 100%;
    overflow: hidden;
}

#bg {
    background-color: #005ec7;
    min-height: 100%;
    width: 100%;
    position: absolute;
}

h1,
h2 {
    margin: 5px;
}
h1 {
    font-size: 20px;
}
h2 {
    font-size: 16px;
}
@media (max-width: 980px) {
    h1 {
        font-size: 16px;
    }
    h2 {
        font-size: 12px;
    }
}
#link {
    display: flex;
    align-self: flex-end;
    justify-self: flex-end;
    margin-left: auto;
    flex-flow: column;
    z-index: 100;
}

#link a {
    text-decoration: none;
    color: #fff;
}

.wave {
    position: absolute;
    width: 100%;
    height: 100%;
    bottom: 0;
    overflow: hidden;
}

.parallax > use {
    /*performance issues*/
    perspective: 1000;
    will-change: transform;
    backface-visibility: hidden;
    animation: flow 2s linear infinite;
}

@keyframes flow {
    0% {
        transform: translate(140px, 0%);
    }
    100% {
        transform: translate(-35px, 0%);
    }
}

.vawes {
    display: block;
    width: 100%;
    height: 10em;
    max-height: 100vh;
    margin: 0;
}
#shark-container {
    position: absolute;
    height: 100%;
    width: 100%;
    display: flex;
    flex-flow: row;
    justify-content: center;
    align-items: center;
}
#sharky {
    display: flex;
    position: absolute;
    width: 100%;
}

#layer12 {p
    perspective: 1000;
    will-change: transform;
    backface-visibility: hidden;
    transform-origin: right;
    animation: tail-swim 2s ease-in-out infinite;
}
@keyframes tail-swim {
    0% {
        transform: rotateY(-10deg);
    }
    50% {
        transform: rotateY(10deg);
    }
    100% {
        transform: rotateY(-10deg);
    }
}
#layer1 {
    perspective: 1000;
    will-change: transform;
    transform-origin: center;
    backface-visibility: hidden;
    animation: fin-swim 2s ease-in-out infinite;
}
@keyframes fin-swim {
    0% {
        transform: rotateZ(5deg);
    }
    50% {
        transform: rotateZ(0deg);
    }
    100% {
        transform: rotateZ(5deg);
    }
}

#path4561,
#path4567 {
    perspective: 1000;
    backface-visibility: hidden;
    will-change: transform;
    animation: eye-move 2s ease-in-out infinite;
}

@keyframes eye-move {
    50% {
        transform: translateX(-10px);
    }
}

#path4569 {
    perspective: 1000;
    backface-visibility: hidden;
    will-change: transform;
    animation: eye-move-2 2s ease-in-out infinite;
}

@keyframes eye-move-2 {
    50% {
        transform: translateX(-5px);
    }
}

#layer7 {
    perspective: 1000;
    backface-visibility: hidden;
    will-change: transform;
    transform-origin: center;
    animation: gills-move 2s linear infinite;
}

@keyframes gills-move {
    50% {
        transform: translateX(-3px) scale(1.01);
    }
}

#layer8 {
    perspective: 1000;
    backface-visibility: hidden;
    will-change: transform;
    transform-origin: right center;
    animation: lines-move 1s ease infinite;
}
#layer13 {
    perspective: 1000;
    backface-visibility: hidden;
    opacity: 0;
    will-change: transform;
    transform-origin: right center;
    animation: lines-move 1s ease infinite 0.5s;
}

@keyframes lines-move {
    0% {
        opacity: 1;
    }
    100% {
        transform: scaleX(1.2) translateX(20px);
        opacity: 0;
    }
}

Комментарии

  • Facebook
  • Вконтакте

Похожие статьи