我一直试图将项目框架放在一起,以便与D3一起使用Angular-UI(bootstrap集成)。
我已经把SO问题,教程等的片段放在一起。当我把一些只是在svg元素上移动时显示鼠标坐标的东西放在一起时,发生了一件非常奇怪的事情。鼠标悬停在正常工作的代码上开始只使用小数点作为X坐标。
我设法将一个js小提琴放在一起,证明了bootstrap css是行为的来源。
为了使事情变得更复杂,如果在css类中使用的宽度值I值略大,那么行为就会消失。
要查看问题,请查看此fiddle:
只需操作小提琴并将鼠标移动到圆圈周围即可。您将看到只有X坐标具有小数点,并且右侧有许多数字。
现在在样式表中的容器无响应类中将宽度从1172px更改为1200px,为您提供:
.container-non-responsive {
/* Margin/padding copied from Bootstrap */
margin-left: auto;
margin-right: auto;
padding-left: 15px;
padding-right: 15px;
/* Set width to your desired site width */
width:1200px;
height: 100%;
}
现在再次运行并移动鼠标。没有小数点。如果我将位置打印到控制台,我可以看到位置对象确实具有带小数的X坐标。所以这是d3在包含bootstrap css时返回带小数点的X坐标,当我使用带有一些值的自定义宽度时(600px也能正常工作)
我完全不知道如何跟踪这个。