移动视图中 svg 对象的外观与桌面视图不同

问题描述 投票:0回答:1

body {
  margin: 0vh 0vw;
}

.header {
  position: relative;
  width: 100%;
  height: 12vh;
  background-color: #004d40;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  top: 0;
}

.line {
  position: absolute;
  left: 0;
  top: calc(50%);
  width: 100%;
  height: 0.25vh;
  background-color: white;
  z-index: 1;
}

svg {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, 0%);
  z-index: 2;
}
<!DOCTYPE html>
<html lang="tr">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>SVG Header with Half Circle</title>
</head>

<body>

  <div class="header">
    <div class="line"></div>
    <svg width="10vw" height="5vh" viewBox="0 0 100 50" xmlns="http://www.w3.org/2000/svg">
        <path d="M0,0 A50,50 0 0,0 100,0" fill="#004d40" stroke="white" stroke-width="3"/>
    
    </svg>
  </div>

</body>

</html>

您好,当 svg 对象进入移动视图时,svg 会变形,半圆和直线之间会出现间隙。为什么会出现这种情况以及如何解决。

在桌面上:

enter image description here

在移动仿真上:

enter image description here

预期结果:

我希望它在移动设备上看起来和在桌面上一样。

html css svg frontend web-frontend
1个回答
0
投票

避免在移动设备中使用

vh
。 移动设备中的
100vh
包含浏览器导航栏的高度,使用
vh
定义高度的元素可能与桌面有不同的外观。

© www.soinside.com 2019 - 2024. All rights reserved.