我创建了div
元素,并且我还添加了border-radius
属性,以使div
更美观。我还在-webkit-transition: opacity .25s ease
添加了div
属性,以便在用户将鼠标悬停在div
上时创建到黑暗叠加层的转换。然后,我遇到了一个可以通过这些图像解释的问题。
div
元素之外的光标:
将光标移动到div
元素内:
光标完全位于div
元素内:
所以,我猜这是转换的问题,它是由图像的圆形边框引起的。这有点烦人,我想删除它,但我不知道如何。我在这里附上了代码:
注意:.memX
(其中X是数字)是指每个div
元素。有10个.mem
元素。
mem1, .mem2, .mem3, .mem4, .mem5, .mem6, .mem7, .mem8, .mem9, .mem10 {
height: 200px;
width: 200px;
margin: 0px 31px;
display: inline-block;
border-radius: 10px;
border: solid;
border-width: thin;
border-color: #d6d6d6;
overflow: hidden;
}
.overlay {
background: rgba(0,0,0,.4);
text-align: center;
height: 100px;
width: 100%;
padding: 45px 0px 66px 0px;
opacity: 0;
-webkit-transition: opacity .25s ease;
-moz-transition: opacity .25s ease;
}
.insidetext {
font-family: "Source Sans Pro", Helvetica, Arial, sans-serif;
font-weight: lighter;
color: rgba(255,255,255,.85);
font-size: 1.5em;
margin-top: 35px;
}
.mem1:hover .overlay, .mem2:hover .overlay, .mem3:hover .overlay, .mem4:hover .overlay, .mem5:hover .overlay, .mem6:hover .overlay, .mem7:hover .overlay, .mem8:hover .overlay, .mem9:hover .overlay {
border-radius: 10px;
opacity: 1;
}
.mem1 {
background-image: url(members/giles.png);
}
这似乎是一个普遍存在的问题。您可以在此CodePen中查看此特定问题:http://codepen.io/ianfarb/pen/ikeAf
答案 0 :(得分:1)
嗯,我很困惑为什么你有这么多mem
课程。类名可以重用,ID选择器不能。那么为什么只有.mem1
才能拥有.mem
等等?
无论如何,为了解决您的问题,您需要做的就是将border-radius:5px;
添加到#overlay
,这样可以为您提供所需的效果。
答案 1 :(得分:1)
尝试使用此..
body {
background: #e7e7e7;
}
#box {
width: 300px;
height: 200px;
box-shadow: inset 1px 1px 40px 0 rgba(0, 0, 0, .45);
border-bottom: 2px solid #fff;
border-right: 2px solid #fff;
margin: 5% auto 0 auto;
background: url(http://ianfarb.com/wp-content/uploads/2013/10/nicholas-hodag.jpg);
background-size: cover;
border-radius: 5px;
overflow: hidden;
position: relative;
}
#overlay {
background: rgba(0, 0, 0, .75);
text-align: center;
/*padding: 45px 0 66px 0;*/
display: table;
width: 100%;
height: 100%;
opacity: 0;
border-radius: 5px;
-webkit-transition: opacity .25s ease;
-moz-transition: opacity .25s ease;
}
#box:hover #overlay {
opacity: 1;
}
#plus {
font-family: Helvetica;
font-weight: 900;
color: rgba(255, 255, 255, .85);
font-size: 96px;
display: table-cell;
vertical-align: middle;
}
答案 2 :(得分:0)
我的例子你有两个div,一个是父(盒子),另一个是冷冻(叠加),你将边框应用于父母,你的悬停效果是冷冻的,所以当你悬停它将应用过渡冷藏。并且chilled没有 border-radius:5px; 所以将 border-radius:5px; 也应用到你的chilled id。所以我认为这是一个溢出问题
但你可以试试这个解决方案:
解决方案是从转换中移除延迟,然后它会起作用,因为它会给您带来问题的延迟。
请参阅此示例,了解从转换中删除的延迟:http://jsfiddle.net/9phk87x8/ 我认为它适用于您。 的 的
的#overlay {
background: rgba(0, 0, 0, .75);
text-align: center;
padding: 45px 0 66px 0;
opacity: 0;
-webkit-transition: opacity ease;
-moz-transition: opacity ease;
}
的