Wichtiger Hinweis! Sliding Doors ist eine ziemlich alte Technik. Sie hatte ihre Zeit im Web, aber heutzutage ist sie wahrscheinlich nicht mehr die klügste Wahl. Wir haben jetzt border-radius und Farbverläufe und all das, was die meisten Dinge ermöglicht, die wir damals mit Sliding Doors erreichen wollten.
Aber es macht immer noch Spaß zu dokumentieren, wie es funktioniert, also hier ist es
<a href="#" class="button">
<span>Sliding Doors Button</span>
</a>
.button {
float: left;
clear: both;
background: url(RIGHT_SIDE.png) top right no-repeat;
margin: 5px;
padding-right: 20px;
color: white;
text-decoration: none;
}
.button span {
background: url(LEFT_SIDE.png) top left no-repeat;
line-height: 22px;
padding: 7px 0 5px 18px;
display: block;
}
.button:hover {
background-position: right -34px;
}
.button:hover span {
background-position: 0 -34px; color: #fff;
}
Was Grafiken wie diese voraussetzt


Siehe den Pen Sliding Doors Buttons von Chris Coyier (@chriscoyier) auf CodePen.
Hallo Chris! Freut mich, dass es dir gefallen hat! Ich habe an einer Website für die Biola University gearbeitet und brauchte etwas Schönes, das skalierbar war... um zukünftige Updates ihrer Websites zu erleichtern – dann kam mir presto diese Idee! Ich hoffe wirklich, dass das für mehr Designer nützlich ist! Viel Spaß!
Hallo Chris,
Ich habe diese Methode wirklich sehr geschätzt, da sie wie ein Zauber funktioniert. Allerdings gibt es ein Problem, das sie daran hindert, zu 100 % flexibel zu sein...
Wie kann man es mit abgerundeten Ecken-Buttons mit transparentem Hintergrund zum Laufen bringen? Was bei mir passiert ist, dass die rechte Seite in Ordnung ist, aber die Ecke der linken Seite transparent ist, sodass der Körper des Buttons unter den linken Ecken durchscheint...
Hast du Lösungen für dieses verwirrende Problem?
DANKE!
Ich nehme an nicht, Chris?
Hallo Mark, dein Name ist großartig! Jedenfalls ist das dasselbe Problem, für das ich eine Lösung suche. Wenn ich etwas herausfinde, werde ich es hier posten. Oder wenn du es schon hast, erzähl es bitte.
Schieb es mit relativer Positionierung zurecht.
Hat jemand ein Beispiel dafür mit <input>-Tags verschiedener Typen? Ich arbeite gerade an einem, aber IE macht die Ausrichtung der Bilder immer kaputt.
Sehr hilfreich. Wie ein Licht in der Dunkelheit.
Danke…
Ich bin mir nicht sicher, ob das jemandem hilft, aber wenn Sie diesen Button zentrieren müssen, entfernen Sie float:left und ändern Sie die beiden Vorkommen von display:block in display: inline-block. Auf diese Weise wird der Button zentriert, wenn Sie ihn in ein Element einfügen, das auf text-align:center gesetzt ist, behält aber die richtige Breite bei.
Danke Joe für diesen großartigen Trick! Er hat sehr geholfen.
Großartig, es ist wirklich hilfreich.
Demo ist cool, es ist der Code, den ich brauche. Danke
Ihre Seite ist GENAU das, was ich brauche. Vielen Dank für all Ihre Hilfe! Ihre Anweisungen sind klar, verständlich und perfekt!
Haben Sie eine Idee, wie man diesen Button zentriert? Er zentriert sich nicht innerhalb von divs oder Tabellenzellen.
Danke für den Tipp. Ich benutze Ihre Seite täglich als Referenz. Trotzdem kann ich es kaum erwarten, dass die Browserunterstützung besser wird, damit ich diese Technik nie wieder anwenden muss.
Funktioniert nicht in IE8. Wenn ich mit der Maus über den rechten Teil des Buttons fahre, verschwindet er.
Perfekt beim ersten Versuch
Funktioniert auch für IE7 / IE8
Ich halte es für wichtig, dass Entwickler verstehen, dass Links keine Buttons sind
Ich mag diesen Beitrag sehr. Danke!