带有内边框的图片,缩放溢出:图像隐藏和文字

时间:2016-03-08 05:05:20

标签: css3 hover overflow zoom

在悬停图像时我想要一个内部边框(我有这个)并将图片缩放到其大小内。我在哪里必须把溢出:隐藏,以便图像不会变大?



.border {
  display: inline-block;
  position: relative;
  max-width: 495px;
  max-height: 369px;
  overflow: hidden;
}

.border::after {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  box-shadow: inset 0 0 0 5 rgba(255, 255, 255, .5);
  transition: box-shadow .1s ease;
}

.border:hover::after {
  box-shadow: inset 0 0 0 10px rgba(255, 255, 255, .5);
}

.text {
  font-size: 48px;
  color: #FFF;
  text-shadow: 2px 2px 2px rgba(0, 0, 0, 0.1);
  position: absolute;
  margin: auto;
  top: 40%;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 2;
  text-align: center;
}

.border img {
  max-width: 495px
}

.zoomzoom {
  transition: all 2s;
}

.zoomzoom:hover {
  transform: scale(1.1);
}

<div class="border zoomzoom">
  <a href="http://www.google.com"><h2 class="text">Sunny</h2>
  <img src="https://upload.wikimedia.org/wikipedia/commons/thumb/9/97/Great_Hall_-_Parliament_of_Australia.jpg/800px-Great_Hall_-_Parliament_of_Australia.jpg"></a></div>
&#13;
&#13;
&#13;

2 个答案:

答案 0 :(得分:0)

此代码应该有效。

* {
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

.border {
    position: relative;
    border: 1px solid #333;
    margin: 2%;
    overflow: hidden;
    max-width: 495px;
    max-height: 369px;
}
.text {
    font-size: 48px;
    color: #FFF;
    text-shadow: 2px 2px 2px rgba(0, 0, 0, 0.1);
    position: absolute;
    margin: auto;
    top: 40%;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 2;
    text-align: center;
}
.border img {
    max-width: 100%;
    -moz-transition: all 2s;
    -webkit-transition: all 2s;
    transition: all 2s;
}
.zoomzoom:hover img {
    -moz-transform: scale(1.1);
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
}
<div class="border zoomzoom">
    <a href="http://www.google.com"><h2 class="text">Sunny</h2>
    <img src="https://upload.wikimedia.org/wikipedia/commons/thumb/9/97/Great_Hall_-_Parliament_of_Australia.jpg/800px-Great_Hall_-_Parliament_of_Australia.jpg"></a>
</div>

答案 1 :(得分:0)

我得到了答案

&#13;
&#13;
h2{
  font-size:48px;
  color:#FFF;
  text-shadow: 2px 2px 2px rgba(0, 0, 0, 0.1);
  position:absolute;
  z-index:2;
  top:50%;
  left:50%;
  transform:translate(-50%, -50%);
  margin:0;
}

.border{
  width:350px;
  height:250px;
  display:inline-block;
  position:relative;
  z-index:3;
  overflow:hidden;
  text-decoration:none;
}

.border:after{
  content:'';
  position:absolute;
  top:0;
  right:0;
  bottom:0;
  left:0;
  box-shadow: inset 0 0 0 0 rgba(255,255,255,.5);
  transition: box-shadow .1s ease;
}

.border:hover:after{
  box-shadow: inset 0 0 0 10px rgba(255,255,255,.5);
}

.border img{
  width:100%;
  height:100%;
  opacity:1;
  position:absolute;
  top:50%;
  left:50%;
  transform:translate(-50%, -50%);
  transition:width .25s ease, height .25s ease, opacity .25s ease;
}

.border:hover img{
  width: 400px;
  height: 300px;
  opacity:.7;
}
&#13;
<div class="border zoomzoom">
  <a href="http://www.google.com"><h2 class="text">Sunny</h2>
  <img src="https://upload.wikimedia.org/wikipedia/commons/thumb/9/97/Great_Hall_-_Parliament_of_Australia.jpg/800px-Great_Hall_-_Parliament_of_Australia.jpg" class="SpecialZoom" /></a></div>
&#13;
&#13;
&#13;