html - 为什么悬停时菱形会变成正方形?

标签 html css twitter-bootstrap css-shapes

我制作了一个正方形网格并将它们旋转 45 度使其成为菱形,但是当我将其悬停以通过 CSS transform 属性对其进行缩放时,菱形在悬停时再次变为正方形。我不希望菱形变回正方形。你还可以看到正方形的一部分隐藏在下面的行中。

This is the image of what I made. On hover on any diamond, it changes to square.

这是我的 CSS 代码

 .square {
        width: 150px;
        height: 150px;
        background-color: white;
        box-shadow: 1px 1px 5px rgba(0, 0, 0, .16);
        transform: rotate(45deg);
        transition: all 0.3s ease-in-out;
    }


.square:hover {
    transform: scale(1.5);
}

.panel {
    background: transparent;
    margin-top: 50px;
}

.r2 {
    transform: translateX(148px) translateY(-70%);
}

.r3 {
    transform: translateY(-148%);
}

.row {
    margin-top: 50px;
}

这是我的html

<body>
<div class="container">
    <div class="row">
        <div class="col-md-3">
            <div class="square">
            </div>
        </div>
        <div class="col-md-3">
            <div class="square">
            </div>
        </div>
        <div class="col-md-3">
            <div class="square">
            </div>
        </div>
        <div class="col-md-3">
            <div class="square">
            </div>
        </div>
    </div>
    <div class="row r2">
        <div class="panel">
            <div class="col-md-3">
                <div class="square">
                </div>
            </div>
            <div class="col-md-3">
                <div class="square">
                </div>
            </div>
            <div class="col-md-3">
                <div class="square">
                </div>
            </div>
            <div class="col-md-3">
                <div class="square">
                </div>
            </div>
        </div>
    </div>
    <div class="row r3">
        <div class="col-md-3">
            <div class="square">
            </div>
        </div>
        <div class="col-md-3">
            <div class="square">
            </div>
        </div>
        <div class="col-md-3">
            <div class="square">
            </div>
        </div>
        <div class="col-md-3">
            <div class="square">
            </div>
        </div>
    </div>
</div>

http://codepen.io/yash51/pen/VjoQLr

最佳答案

你只需要将转换函数放在同一个声明中:

即:

.square:hover {
    transform: scale(1.5) rotate(45deg);
}

这是一个working fiddle

希望对您有所帮助。

关于html - 为什么悬停时菱形会变成正方形?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39191380/

相关文章:

html - 在 anchor 标签周围出现蓝色边框的模式结束时

css - 如果我们在 CSS 网格中有更多列,为什么内容大小会不同?

html - 选中时更改复选框标签的颜色

javascript - Bootstrap Bootbox 在单击保存按钮后删除弹出窗口

jquery - 不使用 id 的 Javascript 日期选择器

html - 为什么一些一次性使用的元素在 CSS 中是 Class 而不是 ID?

html - 特定的 CSS 字体样式

html - Bootstrap 表 - 将行的一列一分为二

c# - 使用 session 变量时如何解决 ASP.Net "Input string was not in a correct format"错误

python - 如何从电子邮件正文中解析 HTML - Python