html - 使用 svg 和 html 缩放和定位

标签 html css svg

我有一个包含 SVG 图像的 html 文件。我有一个眼睛动画,它跟随我想放入镜头的光标。问题是我真的不知道该怎么做。

我尝试使用父容器,但它不适用于 SVG + HTML。 我也尝试过使用媒体查询,但这只会限制我的大小,而我不想这样做。

编辑:如果有帮助,我会以 Angular 运行所有内容。

HTML(svg):https://jsfiddle.net/nitko_i_nista/kjhx4mer/

CSS:

body{
    padding:0;
    margin:0;
    background:#333;
}
.eye {
    width: 115px;
    height: 105px;
    max-width: 100%;
    max-height: auto;
    background: rgb(255, 255, 255);
    position: absolute;
    top: 15.5%;
    left: 28.2%;
    transform: translate(-50%, -50%) rotate(45deg);
    border-radius: 60% 75%;
    overflow: hidden;
}
.fakeeye {
    width: 115px;
    height: 115px;
    max-width: 100%;
    max-height: auto;
    background: rgb(255, 255, 255);
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) rotate(-45deg);
    border-radius: 60% 75%;
    overflow: hidden;
}
.ball{
    width:13px;
    height:13px;
    background:#222f3e;
    border-radius:50%;
    border:18px solid #576574;
    position:absolute;
    top:50%;
    left:50%;
    transform:translate(-50%, -50%) rotate(-45deg);          
}
.shut{
    width:125px;
    height:118px;
    position:absolute;
    top:50%;
    left:50%;
    transform:translate(-50%,-50%) rotate(-45deg);
    z-index:999;
}
.shut span{
    display:block;
    width:100%;
    height:0%;
    background:#0072e2;
    border-radius: 0 0 60% 60%;
    transition:0.4s all;
}
.eye:hover > .shut span{
    height:100%;
}

我是否必须使用一些编辑工具来切入眼睛并重新制作元素?我真的不想要那个,因为我对这些非常缺乏经验。

我想做的(正如一位好小伙子所指出的那样)是眼睛始终停留在镜头中(无论大小)。当我放大或缩小时,位置是相同的(使用居中 css 技巧)。代码的眼睛不是我的(https://codepen.io/guldus/pen/xmpVRb?editors=1100)。我只是觉得将它添加到镜头中会很酷,但我在操作 SVG 方面缺乏经验。

最佳答案

通常您会希望将 100% 应用于宽度和高度。这将允许您的元素缩放其父元素的高度和宽度的 100%。因为您在谈论响应式工作,您是否考虑过研究 bootstrap?

我也无法放大或缩小你的 fiddle 。

关于html - 使用 svg 和 html 缩放和定位,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58237019/

相关文章:

javascript - 如何让javascript函数调用两个div

javascript - 如何将 ColorMatrix 与 Canvas Context 一起应用

javascript - PrettyPhoto 在模态窗口中加载时卡住

css - 使用 CSS 显示/隐藏 SVG 中的元素

javascript - 防止链接拖动,但仍允许文本突出显示

javascript - 为什么我的网站中的脚本会出现此错误?

html - 在同一行输入文本字段和复选框

html - 为输入标签及其标题属性设置不同的方向

javascript - SVG.js:无法对矩形宽度或高度进行动画处理

html - 用图案图像填充旋转的圆形 SVG