wake-up-neo.com

CSS: Hover funktioniert nicht auf iOS Safari und Chrome

Ich habe ein abgerundetes div, das ein abgerundetes Bild und einen Titel am unteren Rand mit opacity: 0.5; hat. Beim Schweben sollte die Deckkraft 1 werden. Auf allen Desktop-Browsern und Firefox für iOS gibt es keine Probleme, aber es funktioniert nicht auf Safari oder Chrome für iOS.

Geige: https://jsfiddle.net/a10rLbnL/2/

HTML:

<div class="video_wrap update">
  <div class="content">
    <div class="img_wrap"><img src="https://i.ytimg.com/vi/0HDdjwpPM3Y/hqdefault.jpg"></div>
    <div class="title_wrap"><div class="title">bang bang</div></div>
  </div>
</div>

CSS:

.video_wrap {
    display: inline-block;
    width: 30%;
    padding-bottom: 30%;
    margin: 0 1%;
    position: relative;
    vertical-align: top;
}

.content {
    position: absolute;
    height: 100%;
    width: 100%;
}

.img_wrap {
    height: 100%;
    border-radius: 120px;
    overflow: hidden;
}

.title_wrap {
    line-height: 50px;
    top: -50px;
    height: 50px;
    position: relative;
    left: 0px;
    background: #fff;
    color: #f8008c;
    font-size: 12px;
    text-align: center;
    cursor: default;
    opacity: 0.5;
    transition: all .5s ease-in;
    min-height: 50px;
}

.img_wrap img {
    height: 100%;
    cursor: pointer;
}

.title_wrap:hover {opacity: 1}
7
Rexhin Hoxha

Ich habe eine Problemumgehung gefunden: Wenn Sie onclick="" zum div hinzufügen, funktioniert der Hover. 

Ihre HTML wäre:

<link rel="stylesheet" href="hover.css" type="text/css"/>

<div class="video_wrap update">
  <div class="content">
    <div class="img_wrap"><img src="https://i.ytimg.com/vi/0HDdjwpPM3Y/hqdefault.jpg"></div>
    <div class="title_wrap" onclick=""><div class="title">bang bang</div></div>
  </div>
</div>
14

Der iOS-Browser benötigt ein Element, das standardmäßig anklickbar ist. Wenn Sie HTML5 verwenden, können Sie den Wrapper div in einen a-tag ändern:

<a href="javascript:void(0);" class="title_wrap"><div class="title">bang bang</div></a>

und setze es auf ein Blockelement:

.title_wrap {
  ...
  display:block;
}

Wenn Sie kein HTML5 verwenden, müssen Sie <div class="title"> in ein Inline-Element wie <span class="title"> ändern, damit der Code gültig ist.

0
Andréle