html - 向左浮动 <li> + 高度过渡 = 问题

标签 html css html-lists css-transitions

我正在应用导致 <li> 的过渡悬停效果放大。

问题是 last child在每一行,当鼠标悬停时,插入下一个 2 <li>在右边的几个空格下面。

有什么办法可以避免这种情况发生?我对使用转换有点陌生,一直在绞尽脑汁想看看是否可以解决这个问题。

谢谢!

CSS

body {
margin: 0;
padding: 0;
}

#wrapper {
width: 985px;
min-height: 500px;
margin: 0 auto;
}

ul #fourbox {
list-style-type: none;
}

#fourbox li {
display: block;
width: 188px;
height: 213px;
margin: 15px 10px;
padding: 15px;
background: #F1F1F2;
border: 1px solid #D1D2D4;
float: left;
box-shadow: 0px 0px 0px #888888;
transition:all 0.5s ease;
-webkit-transition:all 0.5s ease;
}

#fourbox li:hover {
width: 198px;
height: 228px;
margin: 5px 5px;
box-shadow: 0px 7px 10px #888888;
}

HTML

<body>
    <div id="wrapper">
        <ul id="fourbox">
        <li>
            <p>1</p>
        </li>
        <li>
            <p>2</p>
        </li>
        <li>
            <p>3</p>
        </li>   
        <li>
            <p>4</p>
        </li>
        <li>
            <p>5</p>
        </li>
        <li>
            <p>6</p>
        </li>
        <li>
            <p>7</p>
        </li>   
        <li>
            <p>8</p>
            </li>               
        </ul>
    </div>
</body> 

引用: http://jsfiddle.net/aasthatuteja/mVrMH/

最佳答案

这是一种解决方案:

jsFiddle here

使用 display:inline-block 而不是 float:left

#fourbox li {
    width: 188px;
    height: 213px;
    margin: 15px 10px;
    padding: 15px;
    background: #F1F1F2;
    border: 1px solid #D1D2D4;
    display:inline-block;                     /* ADD THIS <<< */
    box-shadow: 0px 0px 0px #888888;
    transition:all 0.5s ease;
    -webkit-transition:all 0.5s ease;
}

或者,如果您需要 float 它们,您也可以使用 clear:both

两种解决方案都有效。不错的小动画!

关于html - 向左浮动 <li> + 高度过渡 = 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19013577/

相关文章:

html - 设置 bootstrap 下拉宽度小于 240px

javascript - 视口(viewport)中幻灯片上的滑动 slider 事件类和仅一张幻灯片上的当前类

javascript - jquery - 从表单中获取所有值并将其放入文本区域中

javascript - 如何在检测到 CSS 显示 block 时执行 JQuery 函数

javascript - 如何从输入框中更改方程式的文本?

php - 如何让 anchor 按钮适合列出的订单标签?

javascript - 根据结果​​使用 javascript 更改 p 的背景颜色

html - 为什么没有用户代理为视频元素实现 CSS 光标样式

html - 如何增加 li inline-block 列表元素之间的常量空间?

html - 在 firefox 和其他浏览器中遇到 ul 问题