<img src="1.jpg">
<img src="2.jpg">
<img src="3.jpg">
三个图片,width都是100px,三个行内元素,这个时候都设置float:left
这个时候将第一个图片的margin-left设置为-100px,可以看到刚好第一张图片消失,但是理想状态是随着第一张图片的margin-left负值不断扩大,第二,三张图要尾随着走的,,,但这个效果没出现,奇怪
而如果不设置float:left,则很正常?为何?

解决方案 »

  1.   

     html是静态的吧  动态实现用JS
      

  2.   

    是的要仔细理解下float的含义
    表示让一个block 浮起来 然后吸附在父容器的 左(left) 或者 右(right)
    吸附就是说 尽量靠近容器的边界 除非之间有其他东西(float的东西)占了位置 剩下的就好解释了
    第一个img因为负margin 滚出了这个容器的显示区域 不管负多少 只要整个出去了 都是留出了一样的 100宽度的空间 
    所以 你要图片滚动  要滚的是 图片外面的容器
    就是 显示区域 和图片之间 还要有一个 放置图片的容器 这个放置图片的容器在显示区域里面 移动就可以了
      

  3.   

    楼上解释的很好。
    第一个图片 移动出去就出去啦。虽然第2个图片已经占位上来
    但第2个图片本身设置float:left的含义就是要贴近父容器的左边,所以已经达到目的,因此第1个图片再怎么移动跟父容器已经没有关系,所以第2,第3个图片都没什么影响?