小编Lor*_*nja的帖子

CSS 样式转换与 svg 转换

我认为 SVG 的很大一部分是可扩展性因素。我知道如何很好地使用 SVG 以多种不同的方式进行缩放和响应。通常可以在 SVG 元素上设置视图框,然后会根据屏幕的像素创建坐标系。因此,所有变换、平移、旋转、倾斜等都将相对于 svg 自己的坐标系。我认为在翻译等方面,这应该比使用 css 动画更有优势,因为您必须使用像素等测量单位,我认为这会导致在各种分辨率的屏幕上进行不正确的翻译,或调整大小一个浏览器窗口。

有人可以向我解释一下,为什么无论我是在动画之前调整窗口大小还是使用不同的屏幕分辨率,以下 css 动画实际上都会导致元素的相同位置?

Javascript

var g= document.getElementById("testingG");
g.setAttribute("style", "transform: translate("+dockingPoint[0]+"px, "+dockingPoint[1]+"px)");
Run Code Online (Sandbox Code Playgroud)

CSS

#testingG {
    transition: 1s ease-in;
}
Run Code Online (Sandbox Code Playgroud)

HTML

<svg viewBox="0 0 1409 78.875" >
    <g id="testingG"style="transform: translate(1375px, 40px)">
        <circle r="10" cy="0" cx="0" style="fill: rgb(151, 215, 241);"></circle>
        <text  transform="translate(-170, 27)">Testing</text>
    </g>
Run Code Online (Sandbox Code Playgroud)

请注意,我为 g 元素设置了内联 css,这将确保在我使用 javascript 修改样式时触发转换。

我假设在不同的分辨率下,这个 g 元素最终会出现在不同的位置。

svg 元素是否在后台以某种方式忽略了我正在通过 css 进行翻译并仍然缩放这些像素尺寸以符合我设置的视图框的事实?

这是我唯一能想到的,如果是这种情况,我会很感激一些文档的链接:)

javascript svg css-transforms css-animations responsive-design

5
推荐指数
1
解决办法
1736
查看次数

两个目录中相同文件的 Git Diff 总是会导致“重命名”

git diff --no-index --no-prefix --summary -U4000 目录1 目录2

这按预期工作,因为它返回两个目录之间所有文件的差异。添加的文件按预期输出,删除的文件也会产生预期的 diff 输出。

但是,由于 diff 将文件路径考虑为文件名的一部分,因此两个不同目录中具有相同名称的文件会导致 diff 输出带有重命名标志,而不是更改。

  1. 有没有办法告诉 git 不考虑 diff 中的完整文件路径,而只查看文件名,就好像文件来自同一目录一样?

  2. 有没有办法让 git 真正知道不同目录中同一文件的副本是否确实被重命名?我不明白如何,除非它有一种以某种方式比较文件 md5 的方法(可能是一个错误的猜测,哈哈)。

  3. 使用分支而不是目录可以轻松解决此问题吗?如果可以,上面列出的命令的分支版本是什么?

git version-control diff git-branch

2
推荐指数
1
解决办法
2318
查看次数