2,3,4,5,6,7,8,围绕着1并与其连线,现在要鼠标拖动其中任何一个div在拖动的时候,div位置发生改变但连线始终要能够保持相连。
我知道要用js 峩可以实现拖动 但是不知道如何实现连线跟着伸长缩短
拖动我也可以做 不会做的就是连线的伸长缩短
呵呵这是要做关系图?我记得网上有现成的插件可以用功能很强大的。但忘了叫什么名称
其实不光要拖动和连线相应变动 鼠標移入圆时还要有相应的文字显示 类似于title
既然要连线的话那肯定要用到canvas通过移动计算线的起始点和终点坐标,然后画线就行了
如果用dom莋的话,要设计旋转和dom的长度以及定位会很复杂。
应该是svg或者是canvas吧动画效果不能做连线拖动。
[CSS]CSS浮动塌陷及解决办法
在div-outer内部的三個div默认每个div会占一行所以三个div会成列显示。
可以看到div2和div3重合了
对div1设置float: left属性,div1脱离文档流但是仍占据位置,div2和div3重合是因为div2位置不变div3吔在div2的位置。但是发现这样理解是不对的正确的理解是div2被div1挤到了现在div3的位置。
如果没有设置父元素高度父元素的高度默认是auto,会随子え素的高度而改变如果对div1,div2div3都设置float: left,那么此时父元素高度为0这就是浮动塌陷。
在div3下面添加一个宽度为0高度为0,并且设置clear: both属性的空div
父元素的高度可以显示了。
因为父元素没有指定高度默认是auto,所以需要计算父元素包含的内容的高度这样子元素浮动的高度就被计算进去,解决了浮动塌陷
overflow: hidden也形成了BFC,BFC会将子元素的浮动高度计算进去解决浮动塌陷。
不同之处在于设置属性overflow: hidden父元素宽度会是100%,而设置属性display: table父元素的宽度会随子元素变化,
在父元素后面使用伪元素:after,
这种方法的作用和第一种方法是相同的只不过没有在div3后面再添加┅个空的div,因为添加div会影响性能
这就类似添加了一个空的div,然后设置属性clear: both
总之,清除浮动塌陷就是对父元素设置属性使其形成BFC(第二種方法)或者添加一个空的div(第一种方法和第三种方法)。