2017-07-11 3 views
1

Ich versuche, ein Bild klickbar zu machen, damit ich es als Knopf zum Herunterladen eines PDFs verwenden kann, obwohl ich das Gefühl habe, dass ich das überdenke und mich dadurch verwirre.Clickable Image Button

Ein Beispiel für den Code, den ich verwendet habe:

<div id="name"><a href="file.pdf"></a></div> 

Die div id wird dann mit CSS verwendet, um das Bild anzuzeigen, wie ich auch einen Hover-Effekt, damit der Benutzer eine Art von Feedback hat wollte, wenn sie auf die Taste.

#name { 
    background-image: url('standardimage.jpg'); 
    height: 51px; 
    width: 285px; 
    margin: auto; 
    margin-bottom: 5px; 
} 

#name:hover { 
    background-image: url('hoverimage.jpg'); 
    height: 51px; 
    width: 285px; 
    margin: auto; 
    margin-bottom: 5px; 
    cursor: pointer; 
    -o-transition: .5s; 
    -ms-transition: .5s; 
    -moz-transition: .5s; 
    -webkit-transition: .5s; 
} 

Jede Hilfe wäre dankbar, danke!

+0

@PraveenKumar Ich bin mir nicht sicher, ob es sich um ein Duplikat der Frage handelt, auf die Sie hingewiesen haben. Hier geht es darum, das Bild beim Hover zu ändern und in der verknüpften Frage, auf die es beim Klicken geht. Ich würde sagen, diese Frage ist eher ein Duplikat von https://stackoverflow.com/questions/18813299/changing-image-on-hover-with-css-html –

+0

@LukaszWiktor Hinzugefügt Dank. –

+0

@PraveenKumar Entschuldigung für die doppelte Frage. Beide Beiträge scheinen mir überhaupt nicht zu helfen. Die Frage ist nicht der Schwebeflug, ich erkläre nur, was ich will, damit die Leute eine klarere Vorstellung bekommen. Das Problem, das ich habe, ist, dass das Bild als Knopf funktioniert. – Robert

Antwort

0

Also das Problem, das Sie gegenüberstellen, ist der Link (das <a> Tag) ist der eigentliche Knopf, aber das hat keine Größe, weil es irgendwie leer ist. Sehen Sie sich dieses Code-Snippet an. Der <a>-Tag hat einen roten Rand ringsum, aber es gibt nichts, was es füllt ...

#name { 
 
    background-image: url(http://lorempixel.com/400/200/sports/1/); 
 
    height: 51px; 
 
    width: 285px; 
 
    margin: auto; 
 
    margin-bottom: 5px; 
 
} 
 

 
#name:hover { 
 
    background-image: url(http://lorempixel.com/400/200/sports/2/); 
 
    height: 51px; 
 
    width: 285px; 
 
    margin: auto; 
 
    margin-bottom: 5px; 
 
    cursor: pointer; 
 
    -o-transition: .5s; 
 
    -ms-transition: .5s; 
 
    -moz-transition: .5s; 
 
    -webkit-transition: .5s; 
 
} 
 

 
#name a { 
 
    border:solid 1px red; 
 
    background-color: orange; 
 
    z-index: 999; 
 
}
<div id="name"><a href="#/path/to/file.pdf"></a></div>

Also, wenn Sie all diese Stile setzen Sie auf den <a> Tag hatten, und fügen Sie dann display: inline-block; es wird funktionieren hier sehen:

#name a { 
 
    display: inline-block; /* add this line */ 
 
    background-image: url(http://lorempixel.com/400/200/sports/1/); 
 
    height: 51px; 
 
    width: 285px; 
 
    margin: auto; 
 
    margin-bottom: 5px; 
 
} 
 

 
#name a:hover { 
 
    background-image: url(http://lorempixel.com/400/200/sports/2/); 
 
    height: 51px; 
 
    width: 285px; 
 
    margin: auto; 
 
    margin-bottom: 5px; 
 
    cursor: pointer; 
 
    -o-transition: .5s; 
 
    -ms-transition: .5s; 
 
    -moz-transition: .5s; 
 
    -webkit-transition: .5s; 
 
} 
 

 
#name a { 
 
    border:solid 1px red; 
 
    background-color: orange; 
 
    z-index: 999; 
 
}
<div id="name"><a href="#/path/to/file.pdf"></a></div>

+0

Vielen Dank dafür! Was dies jetzt tut, ist das Anzeigen der PDF, anstatt sie tatsächlich herunterzuladen. Weißt du, warum das so sein könnte? – Robert

+0

@Robert das hängt von den Browser- und Benutzereinstellungen für den Browser ab. In beiden Fällen können Sie jedoch das 'download' Attribut innerhalb des Links verwenden: Sehen Sie diesen Beitrag: https://Stackoverflow.com/a/15134635/2008111 lassen Sie mich wissen, wenn das ist, was Sie suchen. Von der Frage, die ich dachte, es ist ein Blick nur Problem – caramba

+0

Ich fand das "Download" Attribut, gerade nachdem ich meine Frage gestellt hatte. Vielen Dank für Ihre Hilfe. Einen schönen Tag! – Robert