【发布时间】:2020-08-02 14:02:43
【问题描述】:
我在引导卡组中有意外行为。
这是我得到的:
如您所见,第三张卡片图像的最高价值与其他卡片不同。 但是所有这些卡片都有相同的 html 和 CSS 代码(除了这个页面中的 bootstrap 之外没有 JS)。
我尝试了什么:
- 删除第三张牌,然后我看到第二张牌(鞋子图像)有这个顶部属性问题。所以这不是卡的问题,而是作为引导卡组的容器的问题。
结果:
- 验证此图像的计算样式(检查 -> 样式 -> 计算),它告诉我图像的
top: 50%和position: relative已计算。如果我更改顶部值,图像不会移动。
如果需要,这是我的代码:
代码
.card {
border-radius: 9px !important;
overflow: hidden;
}
.card img {
margin: 0;
position: relative;
z-index: 2 !important;
transform: translate(-50%, -50%);
left: 50%;
top: 50%;
-ms-transition: top 0.8s ease;
-webkit-transition: top 0.8s ease;
-moz-transition: top 0.8s ease;
-o-transition: top 0.8s ease;
transition: top 0.8s ease;
}
.card:hover img {
top: 15%;
-ms-transition: top 0.8s ease;
-webkit-transition: top 0.8s ease;
-moz-transition: top 0.8s ease;
-o-transition: top 0.8s ease;
transition: top 0.8s ease;
}
.card img.rotated {
transform: translate(-50%, -50%) rotate(20deg);
-ms-transition: transform 0.8s ease, top 0.8s ease;
-webkit-transition: transform 0.8s ease, top 0.8s ease;
-moz-transition: transform 0.8s ease, top 0.8s ease;
-o-transition: transform 0.8s ease, top 0.8s ease;
transition: transform 0.8s ease, top 0.8s ease;
}
.card:hover img.rotated {
transform: translate(-50%, -50%) rotate(0deg);
-ms-transition: transform 0.8s ease, top 0.8s ease;
-webkit-transition: transform 0.8s ease, top 0.8s ease;
-moz-transition: transform 0.8s ease, top 0.8s ease;
-o-transition: transform 0.8s ease, top 0.8s ease;
transition: transform 0.8s ease, top 0.8s ease;
}
/** Dark-blue background **/
.card:before {
background: #2b3b44;
position: absolute;
content: "";
top: 0;
left: 0;
width: 100%;
height: 100%;
clip-path: circle(450px at 50% 50%);
-ms-transition: 0.8s ease;
-webkit-transition: 0.8s ease;
-moz-transition: 0.8s ease;
-o-transition: 0.8s ease;
transition: 0.8s ease;
}
.card:hover:before {
clip-path: circle(70px at 80% 10%);
}
/** Card text **/
.card-title {
font-weight: 600;
}
.card p {
font-size: 17px !important;
margin-bottom: 10px !important;
}
.card:hover {
color: unset !important;
}
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>{% block title %}Welcome!{% endblock %}</title>
<!-- stylesheets -->
<link rel="stylesheet" href="page.css" type="text/css">
<!-- bootstrap -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">
</head>
<body>
<!-- body -->
<div class="col-md-10 mx-auto">
<div class="row my-3">
<!-- cards container -->
<div class="card-deck">
<!-- card -->
<div class="card m-3">
<img alt="Outdoor" height="128px" width="128px" src="https://pngimg.com/uploads/backpack/backpack_PNG6323.png" />
<div class="card-body">
<h5 class="card-title">Outdoor</h5>
<p>first line</p>
</div>
</div>
<!-- end card -->
<!-- card -->
<div class="card m-3">
<img class="rotated" alt="Running" height="128px" width="128px" src="https://pngimg.com/uploads/running_shoes/running_shoes_PNG5815.png" />
<div class="card-body">
<p>first line</p>
<p>second line</p>
</div>
</div>
<!-- end card -->
<!-- card -->
<div class="card m-3">
<img alt="Others sports" height="128px" width="128px" src="https://storage.needpix.com/rsynced_images/bicycle-159680_1280.png"
/>
<div class="card-body">
<p>first line</p>
<p>second line</p>
<p>third line</p>
</div>
</div>
<!-- end card -->
<!-- card -->
<div class="card m-3">
<img alt="Music" height="128px" width="128px" src="https://cdn.pixabay.com/photo/2020/01/29/17/47/battery-4803149_960_720.png" />
<div class="card-body">
<p>first line</p>
</div>
</div>
</div>
<!-- end card -->
</div>
<!-- end cards container -->
</div>
<!-- bootstrap -->
<script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js" integrity="sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q" crossorigin="anonymous"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js" integrity="sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl" crossorigin="anonymous"></script>
<!-- javascript -->
</body>
</html>
请告诉我关于这个问题的任何问题。
感谢您对此的任何想法!
编辑:我发现如果顶部属性值在“px”中,一切正常,但如果顶部属性的值在“%”中,则一切正常。我非常喜欢父标签和闭包标签“以了解图像是否不是比其他图像更小的父图像,但事实并非如此......
重新编辑:我发现问题出在哪里,但没有找到解决方案……在我的示例中,每张卡片都有不同的文字。然后内容高度不一样。 在我的代码中,自行车卡的内容高度较高,删除后,鞋卡的文字内容更高。
在我放在这里的例子中,鞋卡的文本内容更高(三行),鞋卡的行为与其他人不同。
卡片组布局赋予每张卡片相同的高度,无论其内容如何。我很确定它会对顶级财产行为产生影响。
【问题讨论】:
-
如果您能为此创建一个最小可重现示例,那就太好了。包括展示您的问题的最低限度的 HTML 和 CSS。
-
嗯,您认为将我的代码放在 标记中不足以重现它吗? ://
-
不,我的意思是您的图像不会加载,因为您直接从您使用的任何模板引擎粘贴代码。如果您要添加占位符图像并且只需要最少量的 HTML 和 CSS,这将有助于调试问题。
-
哦,好的,我刚刚编辑了我的帖子
-
您发布的代码没有重现您描述的问题,请检查
标签: html css bootstrap-4