Javascript SVG不会再次放大

Javascript SVG不会再次放大,javascript,html,css,svg,responsive,Javascript,Html,Css,Svg,Responsive,目前我正在用HTML制作一个乐队网站。我的想法是在-标签上有一个横幅,你可以点击单独的成员进入“关于我们”页面中的单独页面。基本的工作,但我有两个问题 如果我缩小页面,则响应速度会加快,但如果我放大页面,则响应速度不再加快 整个SVG只在我的笔记本电脑和任何其他设备上工作,根本不工作 我怎样才能解决这个问题 这是我现在掌握的相关代码: <!DOCTYPE> <html> <head> <meta name="viewport" content="widt

目前我正在用HTML制作一个乐队网站。我的想法是在-标签上有一个横幅,你可以点击单独的成员进入“关于我们”页面中的单独页面。基本的工作,但我有两个问题

  • 如果我缩小页面,则响应速度会加快,但如果我放大页面,则响应速度不再加快

  • 整个SVG只在我的笔记本电脑和任何其他设备上工作,根本不工作

  • 我怎样才能解决这个问题

    这是我现在掌握的相关代码:

    <!DOCTYPE>
    <html>
    <head>
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <style>
    html{
        font-family:'Lato', sans-serif;
        text-align:center;
        background-color:#F1F1F1;
        color:#212121;
        font-size:1.0875vw;
    }
    @media screen and (max-width:1150px){
        html{
            font-size:12.50625px;
        }
    }
    body{
        margin:0px;
    }
    .afbeelding_container{
        position:relative;
        float:left;
    }
    .afbeelding_container .tekst_container{
        position:absolute;
        top:10px;
        left:20px;
        color:#FFFFFF;
    }
    .svg_container{
        position:absolute;
        top:0.625em;
        left:1.25em;
    }
    .MenuButton{
        font-size:38px;
        cursor:pointer;
        color:#F1F1F1;
        float:left;
    }
    @media screen and (max-width:441.92px) {
        .MenuButton {
            font-size:8.2vw;
        }
    }
    </style>
    </head>
    <body>
    <nav style="width:100%">
            <div style="width:100%" class="afbeelding_container">
                <img src="Afbeeldingen/Jeopardy Banner 1.jpg" style="width:100%">
                <div class="svg_container">
                    <svg viewBox="0 0 1600 460">
                        <g class="hover_group" opacity="0">
                            <a href="maudn.html">
                                <rect x="195.2" y="54.4" width="228.8" height="405.3" opacity="0.2" fill="#FFFFFF"/>
                            </a>
                        </g>
                        <g class="hover_group" opacity="0">                         
                            <a href="maudj.html">
                                <rect x="448" y="54.4" width="214.4" height="405.3" opacity="0.2" fill="#FFFFFF"/>
                            </a>
                        </g>                                
                        <g class="hover_group" opacity="0">                         
                            <a href="bjorn.html">
                                <rect x="691.2" y="54.4" width="234.56" height="405.3" opacity="0.2" fill="#FFFFFF"/>
                            </a>
                        </g>                                
                        <g class="hover_group" opacity="0">                         
                            <a href="anne.html">
                                <rect x="960" y="54.4" width="200" height="405.3" opacity="0.2" fill="#FFFFFF"/>
                            </a>
                        </g>                                
                        <g class="hover_group" opacity="0">                         
                            <a href="merwin.html">
                                <rect x="1174.4" y="54.4" width="219.52" height="405.3" opacity="0.2" fill="#FFFFFF"/>
                            </a>
                        </g>                                                            
                            <a href="https://www.sophiebik.nl">
                                <rect x="0" y="403" width="100" height="56" style="fill:blue;fill-opacity:0"/>
                            </a>                                
                    </svg>
                        <div class="tekst_container">
                            <p><div id="myNav" class="overlay">
                                <a href="javascript:void(0)" class="closebtn" onclick="closeNav()">&times;</a>
                                <div class="overlay-content" style="margin-left:1.vw">
                                    <a href="index.html" >Home</a>
                                    <a href="over_ons.html">Over ons</a>
                                    <a href="contact.html">Contact</a>
                                </div>
                            </div>
                            <span class="MenuButton" id="MenuButton" onclick="openNav()">&#9776;</span>
                                <script>
                                    function openNav() {
                                    document.getElementById("myNav").style.width = "100%";
                                    document.getElementById("MenuButton").style.color = "#222";
                                    }
                                    function closeNav() {
                                    document.getElementById("myNav").style.width = "0%";
                                    document.getElementById("MenuButton").style.color = "#F1F1F1";
                                    }
                                </script>
                            </p>
                        </div>
                    </div>
                </div>
            </nav>
    </body>
    </html>
    
    
    html{
    字体系列:'Lato',无衬线;
    文本对齐:居中;
    背景色:#f1f1;
    颜色:#212121;
    字体大小:1.0875vw;
    }
    @媒体屏幕和屏幕(最大宽度:1150px){
    html{
    字体大小:12.50625px;
    }
    }
    身体{
    边际:0px;
    }
    .afbeelding_集装箱{
    位置:相对位置;
    浮动:左;
    }
    .afbeelding_集装箱。tekst_集装箱{
    位置:绝对位置;
    顶部:10px;
    左:20px;
    颜色:#FFFFFF;
    }
    .svg_容器{
    位置:绝对位置;
    顶部:0.625em;
    左:1.25em;
    }
    MenuButton先生{
    字号:38px;
    光标:指针;
    颜色:#f1f1;
    浮动:左;
    }
    @媒体屏幕和屏幕(最大宽度:441.92px){
    MenuButton先生{
    字体大小:8.2vw;
    }
    }
    
    ☰
    函数openNav(){
    document.getElementById(“myNav”).style.width=“100%”;
    document.getElementById(“菜单按钮”).style.color=“#222”;
    }
    函数closeNav(){
    document.getElementById(“myNav”).style.width=“0%”;
    document.getElementById(“菜单按钮”).style.color=“#f1f1”;
    }
    


    我建议您放弃使用可伸缩SVG的计划,简单地允许方框根据图像大小调整大小,并将方框绝对放置在方框内以与图像位置对齐。下面的示例非常简单,一旦您有了百分比位置和宽度,该示例将完美地放大和缩小:

    标题{
    位置:相对位置;
    宽度:80vw;
    高度:自动;
    保证金:0px自动;
    }
    收割台img{
    宽度:100%;
    }
    标题a{
    位置:绝对位置;
    边框:1px纯红;
    }
    标题a#成员1{
    宽度:23%;
    身高:25%;
    最高:25%;
    左:13%;
    }
    标题a#成员2{
    宽度:13%;
    身高:55%;
    最高:5%;
    左:43%;
    }
    标题a#成员3{
    宽度:33%;
    身高:15%;
    最高:35%;
    左:65%;
    }
    
    
    您的svg标记缺少一些基本功能,如
    宽度
    高度
    xmlns
    ,浏览器无法正确解释它。您可能希望至少包括以下内容:
    width=“100%”height=“100%”version=“1.1”xmlns=”http://www.w3.org/2000/svg“
    我已经添加了它们,现在我的桌面显示了SVG,但与我的笔记本电脑相比,它要小得多,而且不到位。但它仍然无法通过放大来响应。还有其他选项吗?给SVG容器一个宽度,否则SVG只会缩小。我觉得这可能是一个SVG过于复杂,只是为了悬停的元素。。。为什么不直接使用乐队的图像将相对容器拉伸到100%,然后放置大小和位置由
    %
    定义的方框?这将以更精简的形式为您提供相同的效果。我觉得SVG在这里太过分了,因为你把它都藏起来了。这使得事情在某种程度上变得复杂起来。像这样,尺寸会变大,但位置不会变大,但我觉得我在百分比上做错了什么?我也会用%来表示我的尺寸,因为这将确保它们都基于您的容器盒的大小,所以如果您限制或更改容器的大小,您的内盒将适当缩放。这几乎可以实现。在图片上,成员站在底部,因此箱子也有。我这样做了,当我缩小窗口时,盒子从图片的底部飘过。[nav a#member1{宽度:14.1%;高度:84.5%;顶部:14%;左侧:13.2%;}]这是该成员的百分比。它们有什么问题吗?我真的不能说,确保没有最大值应用于包装器的任何东西,并且你的值加起来不会超过100%,而且,不要使用边距等。。。如果你的数字是正确的,我看不出有什么办法失败……没关系。这已经足够好了,只有当设备宽度等于手机时,移动才会明显可见,在手机上你不能悬停,所以看不到盒子。我可以更进一步,非常感谢!:)